API Changelog
Breaking changes, new features, and significant updates to epilot APIs. Subscribe via RSS
2026-10-12 Identity API
- New
GET /v1/identity/operator/clients/{client_id}/organizations/{org_id}/users/{user_id}:subjectendpoint was added for reading the subject of a user in an organization partner_accountwas removed from operator client organizations: it is no longer accepted onPOST /v1/identity/operator/clients/{client_id}/organizationsandPUT /v1/identity/operator/clients/{client_id}/organizations/{org_id}and no longer returned by any operator client organization endpoint (breaking)
2026-10-12 Validation Rules API
- Rule conditions now use the new
ValueReferenceshape for dynamic values:ContextValueandEnvironmentValueare no longer accepted forconditions[].value.adjust.valueandconditions[].applies_when.valueonPOST /v1/validation-rulesandPATCH /v1/validation-rules/{ruleId}, which now acceptValueReferenceinstead (breaking) conditions[].value.offseton relative date values can now be a value reference instead of only an integer, and its ±36500 limit was removed — returned wherever validation rules are read, so consumers must handle non-integer offsets- Rule conditions can now use parameters through the new
ParameterValueshape, accepted forconditions[].value,conditions[].value.min/max,conditions[].value.adjust.value, andconditions[].applies_when.valueonPOST /v1/validation-rulesandPATCH /v1/validation-rules/{ruleId}and returned wherever validation rules are read anchoron relative date values can now be a value reference, andtodayis no longer accepted asanchoronPOST /v1/validation-rulesandPATCH /v1/validation-rules/{ruleId}(breaking) — consumers must also handle non-string anchors wherever validation rules are read
2026-10-12 Workflows Execution API
- Flow executions now carry advanced loops: tasks report their loops through a new optional
tasks[].loopsfield and edges their loop through a new optionaledges[].loop_idfield — returned wherever flow executions and tasks are read - Loop details on flow executions were extended with new optional
loop_source,phases[].loop_membership,tasks[].loop_membership,tasks[].conditions[].loop_outcome, andtasks[].loops.*.depth/outer_loop_ids/target_idfields, andtasks[].loop_configon flow executions and tasks is now deprecated in favour oftasks[].loops
2026-10-09 Audit Log API
- Audit logs now record actions performed by AI agents:
caller.trigger_typecan return the newagentvalue, so consumers must be prepared for this additional trigger type, and callers report the acting agent and access token through new optionalcaller.agent,caller.token_id,caller.token_name, andcaller.token_typefields — returned byPOST /v1/logsandGET /v1/logs/{logId} caller_typeonPOST /v1/logsis no longer restricted to a fixed set of values and now also accepts a list of caller types
2026-10-09 Design Builder API
- Designs can now carry a Spark theme: the design accepts the new
Spark_Themeshape onPOST /v1/designsandPUT /v1/designs/{designId}and returns it wherever designs are read, andGET /v1/designs/{designId}/parsereturns a new optionaldesign.spark_themefield
2026-10-09 Integration Toolkit API
- Import validation can now report the new issue codes
FROM_ROWS_EXPRESSION_FAILED,MAPPING_EXPRESSION_FAILED, andVALUE_FORMAT_INVALID, and issues carry new optionalattributes,expected, andlinesdetails — returned by all/v2/erp/importsendpoints, so consumers must be prepared for these additional issue codes
2026-10-09 Query API
GET /v2/query/autocompleteno longer acceptslabels,partners,purposes,sharing_configs,tags, andworkflowsas thedatasetquery parameter (breaking)
2026-10-09 Workflows Execution API
- Flows can now be started in bulk: new
POST /v2/flows/executions:bulk-startendpoint was added for starting many flow executions at once, together with newGET /v2/flows/bulk-jobs,GET /v2/flows/bulk-jobs:active,GET /v2/flows/bulk-jobs/{job_id}, andPATCH /v2/flows/bulk-jobs/{job_id}endpoints for tracking and updating bulk jobs - New
POST /v2/flows/bulk-jobs/{job_id}/restartendpoint was added for restarting a bulk job, and bulk jobs link to their restarts through new optionalrestart_ofandrestarted_byfields.GET /v2/flows/bulk-jobsnow also returns each job'sentity_idsandentity_count, and an optionalentity_schema
2026-10-09 Ticket Entity
- Tickets can now record consents through a new
consentsfield
2026-10-09 Core Events
- New
GridPlantRegistrationRequestedandGridPlantRegistrationProgressedevents were added for plant registration processes, and a newGridConnectionProgressedevent was added for tracking a grid connection process after it was requested. The Progressed events carry astagedescribing where the process stands, including a requiredstage.workflowslist with thedefinition_id,status, current phase, and current task of every workflow on the opportunity GridConnectionRequestednow includes the related business accounts through a newaccountsfield
2026-10-08 Access Token API
- New agent authentication endpoints were added under
/v1/access-tokens/agent-authfor authenticating AI agents: discovery throughGET .well-known/agent-configurationandGET .well-known/jwks.json; agent lifecycle throughPOST agent/register,agent/introspect,agent/reactivate,agent/revoke,agent/rotate-key, andGET agent/status; user approval throughGETandPOST approvals/{user_code}; capabilities throughGET capability/list,GET capability/describe,POST agent/request-capability, andPOST capability/execute; host management throughPOST host/revokeandhost/rotate-key; and agent management throughGET agentsandDELETE agents/{agent_id} - New
AgentAuthAgentandAgentAuthHostsecurity schemes were added for authenticating agent and host requests
2026-10-08 Pricing API
- New
POST /v2/public/catalogendpoint was added as a new version ofPOST /v1/public/catalog - Line items can now reference the catalog entry they came from through a new optional
catalog_referencefield — accepted onPOST /v1/order,PUT /v1/order/{id},POST /v1/pricing:compute, andPOST /v1/public/cart:checkout, and returned wherever line items and pricing details are read
2026-10-08 Query API
- Query results now report the queried time range and period comparison through new optional
timeRangeandcomparisonfields — returned byPOST /v1/query:execute,POST /v2/query:execute, andPOST /v2/query/domain/entities:execute - The semantic model (
GET /v2/query/semantic-model) now includes a new requiredtables.analytics_datasetstable - Chart templates can now belong to the new
servicecategory:categoryonGET /v2/query/chart-templatescan returnservice, so consumers must be prepared for this additional category
2026-10-07 Snapshot API
- New
GET /v1/snapshots/{id}/restores/{index}endpoint was added for reading a single restore of a snapshot, andPOST /v1/snapshots/{id}:restorenow returns therestore_indexof the started restore POST /v1/snapshots,POST /v1/snapshots:capture-org, andPOST /v1/snapshots/{id}:restorecan now respond with409when a conflicting operation is already in progress
2026-10-07 Webhooks API
- Webhook events are now retried automatically: event
statuscan return the newretryingvalue, and events report their retry progress through new optionalattempts,max_retry_attempts, andnext_retry_atfields — returned byGET /v1/webhooks/configs/{configId}/events,GET /v1/webhooks/configs/{configId}/events/{eventId}, andPOST /v2/webhooks/configs/{configId}/events(which also acceptsretryingas astatusfilter), so consumers must be prepared for this additional status
2026-10-06 Automation API
actions[].config.assigneeson automation flows now supports the newEntityAssigneeandEntityAssigneeVariableassignee types — accepted onPOST /v1/automation/flowsandPUT /v1/automation/flows/{flow_id}and returned wherever flows and executions are read, so consumers must be prepared for these additional assignee types
2026-10-06 Entity API
- New
GET /v1/entity:import:latestendpoint was added for reading the latest entity import, and newPOST /v1/entity:discardImportendpoint was added for discarding an import - Entity imports can now be run as a dry run:
POST /v1/entity:importaccepts new optionaldry_runanddry_run_job_idfields, as well as a new optionalunique_keyfield - Entity imports can now trigger automations through a new optional
trigger_automationsfield onPOST /v1/entity:import, and imports report who started them through a new optionalstarted_byfield
2026-10-05 Automation API
- Automation flows can now be triggered by sent emails: a new
SentEmailTriggertrigger shape is accepted onPOST /v1/automation/flowsandPUT /v1/automation/flows/{flow_id}and returned wherever flows are read, and executions report the newsent_emailvalue as theirtrigger_event.type— so consumers must be prepared for these additional trigger and trigger event types
2026-10-05 Dashboard API
- Dashboards can now be filtered through a new optional
filtersfield, with per-tiletiles[].filter_settings— accepted when creating or updating a dashboard and returned wherever dashboards are read - A new
notesvisualisation was added:visualisation_idon dashboard tiles and insights accepts and returns the newnotesvalue, so consumers must be prepared for this additional visualisation type
2026-10-05 Event Catalog API
- Catalog events can now be changed through a draft version before publishing: new
GET,PUT, andDELETE /v1/events/{event_name}/version_draftendpoints for managing the draft andPOST /v1/events/{event_name}/version_draft:publishfor publishing it - Catalog events now report when they were deprecated through a new optional
deprecated_atfield, and event mappings support a new optionalmapping.payloadfield, accepted onPOST /v1/eventsandPUT /v1/events/{event_name}
2026-10-05 Journey Config API
- New
POST /v1/journey/configuration/{id}/external-valuesendpoint was added for a journey configuration's external values
2026-10-05 Workflows Definition API
- Flow templates now support advanced loops: tasks can define loops through a new optional
tasks[].loopsfield and edges can belong to a loop through a new optionaledges[].loop_idfield. Both are accepted onPOST /v2/flows/templatesandPUT /v2/flows/templates/{flowId}, which also take a new optionalclient_supports_adv_loopsquery parameter, and both are returned wherever flow templates are read tasks[].loop_configon flow templates is now deprecated in favour oftasks[].loops
2026-10-02 Blueprint Manifest API
- New merge plan endpoints were added for reviewing and resolving conflicts before a blueprint is installed:
GET /v3/blueprint-manifest/merge-plans/{merge_plan_id}with itsresourcesandresources/{resource_key}sub-resources,PUT /v3/blueprint-manifest/merge-plans/{merge_plan_id}/resolutionsfor setting resolutions, and the:apply,:discard,:replan,:preview-revert, and:revertactions - Bulk installs and their targets can now wait for review:
statusreturns the newREVIEW_REQUIREDvalue from the/v3/blueprint-manifest/bulk-installsendpoints, so consumers must be prepared for this additional status. Bulk installs also report a newcounts.review_requiredcount, and jobs and targets link to their merge plan through new optionalmerge_plan_idfields - Blueprint deployments now report their merge plan and whether they can be reverted, through new optional
deployments[].merge_plan_id,merge_plan_state,merge_snapshot_id,revert_until, andsnapshot_restore_availablefields
2026-10-02 Journey Config API
- Journey environment variables now support typed values:
typeonGET /v1/journey/environment-variablescan return the newText,Number,Boolean,List<Text>,List<Number>, andList<Boolean>values, withvalueholding a matching scalar or list — so consumers must be prepared for these additional types GET /v1/journey/configuration/{id}/environmentnow returns the resolvedvariablestogether with anyvariableErrors, and can now also be called with portal authentication
2026-10-02 Organization API
- New
GET /v2/organization/announcements/activeandPOST /v2/organization/announcements/{announcement_id}/acknowledgeendpoints were added for reading active announcements and acknowledging them