API Changelog
Breaking changes, new features, and significant updates to epilot APIs. Subscribe via RSS
2026-10-02 Submission API
GET /v1/submission/nonce/{nonce_id}now responds with an object containing a requiredexistsflag and an optionalnonceinstead of returning the nonce directly (breaking)
2026-10-01 Blueprint Manifest API
- Blueprint jobs can now fail with the new
workflow_quota_reachederror code when installing would exceed the organization's workflow limit, with new optionaldata.current,data.max_allowed, anddata.plannedfields describing the quota โ returned wherever blueprint job errors are read, so consumers must be prepared for this additional error code
2026-09-30 Blueprint Manifest API
- Email signatures and shared inboxes can now be included in blueprints through the new
email_signatureandshared_inboxresource types โ accepted when adding blueprint resources and creating exports, and returned wherever blueprint resources, manifests, and jobs are read, so consumers must be prepared for these additional resource types
2026-09-30 Email Settings API
DELETE /v1/email-settingsnow responds with204and no content instead of200
2026-09-30 Integration Address API
- New
GET /v1/integration/location/{country}/enrichendpoint was added for enriching location data for a country
2026-09-30 Permissions API
- Roles can now be scoped to a portal through a new optional
portal_idfield โ accepted onPOST /v1/permissions/rolesandPUT /v1/permissions/roles/{roleId}and returned wherever roles are read
2026-09-29 Entity API
- The
zipcodeandzipcode_townvalues ofconditions[].formaton entity schemas were renamed topostal_codeandpostal_code_cityโ affectingPUT /v1/entity/schemas/{slug}and everywhere entity schemas are read (breaking)
2026-09-29 Integration Toolkit API
- New
POST /v1/integrations/{integrationId}/outbound/mapping-simulationendpoint was added for simulating outbound mappings - Dead-lettered outbound messages can now be redriven with the current mapping re-applied through a new optional
reapply_mappingfield onPOST /v1/integrations/{integrationId}/outbound/messages/dlq/redriveโ redrive results can now return the newmapping_failedstatus together with amapping_error, so consumers must be prepared for this additional status POST /v2/integrations/{integrationId}/monitoring/statscan now filter by correlation through new optionalcorrelation_idandcorrelation_idsfields, and group results by the newcorrelation_idvalue ofgroup_by- New
GET /v2/erp/imports/{importId}/downloadandGET /v2/erp/imports/{importId}/previewendpoints were added for downloading and previewing an import validation.entity_details_truncatedwas removed from import responses on all/v2/erp/importsendpoints (breaking)
2026-09-28 Workflows Definition API
- Flow templates can now define how contexts are handled through a new optional
context_settingsfield, and automation tasks can attach their output to contexts through a new optionaltasks[].automation_config.output_context.attach_to_contextsfield โ both accepted onPOST /v2/flows/templatesandPUT /v2/flows/templates/{flowId}and returned wherever flow templates are read
2026-09-28 Workflows Execution API
- Flow executions can now be kept in the background: new optional
visibilityandvisible_onfields control where an execution is shown โ accepted onPATCH /v2/flows/executions/{execution_id}and returned wherever flow executions are read โ andPOST /v2/flows/executions:searchaccepts a new optionalinclude_backgroundflag for including background executions in the results
2026-09-25 Entity API
- New
GET /v1/entity/schemas/{slug}/headendpoint was added for reading the latest version of an entity schema PUT /v1/entity/schemas/{slug}now supports safe concurrent updates: new optionalbase_versionandbase_updated_atquery parameters name the schema version the update is based on, and the endpoint can respond with409when the schema was changed in the meantime
2026-09-25 Integration Toolkit API
POST /v1/erp/updates/events,POST /v2/erp/updates/events, andPOST /v3/erp/updates/eventscan now respond with429when too many requests are made
2026-09-24 Workflows Execution API
loop_config.crt_iterationsandloop_config.max_iterationson phases and tasks are now deprecated and will be removed in a future version โ affecting everywhere flow executions, phases, and tasks are read
2026-09-23 Integration Toolkit API
- Conditional entity mappings no longer take
conditional.folds; the rows a conditional mapping is built from are now described by a new requiredconditional.from_rowsinstead โ affecting use case and integration create/update endpoints,POST /v1/erp/updates/direct_simulation, the mapping simulation endpoints, and everywhere use cases and integrations are read (breaking) - Import jobs can now fail with the new
CHUNK_TOO_LARGEerror code, and validation reports the new issue codesCONDITIONAL_TARGET_MODE_UNSUPPORTEDandGROUPING_KEY_IS_SORT_COLUMN, replacingGROUPING_KEY_IS_FOLD_COLUMNโ returned by all/v2/erp/importsendpoints
2026-09-23 Journey Config API
- Journey steps can now be shown to guest users through a new optional
steps[].guestVisiblefield โ accepted when creating or updating a journey configuration or revision and returned wherever journey configurations are read
2026-09-22 Workflows Definition API
edges[].end_typewas removed from flow templates: it is no longer accepted byPOST /v2/flows/templatesandPUT /v2/flows/templates/{flowId}and no longer returned wherever flow templates are read (breaking)
2026-09-22 Workflows Execution API
edges[].end_typewas removed from flow executions: it is no longer returned wherever flow executions are read (breaking)- Workflow stages can now report that they were never reached:
stages[].statusreturns the newNOT_REACHEDvalue fromPOST /v2/flows/executions:portal-searchandPOST /v2/flows/executions:portal-search-batchโ so consumers must be prepared for this additional status - Execution contexts now report by which task they were added, and when and by which task they were promoted or demoted, through new optional
contexts[].added_by_task_id,contexts[].promoted_at,contexts[].promoted_by_task_id, andcontexts[].demoted_by_task_idfields โ accepted onPOST /v2/flows/executionsandPATCH /v2/flows/executions/{execution_id}and returned wherever flow executions are read - Automations can now write their result into a context through a new optional
automation_config.output_contextfield on a task and on the trigger โ accepted onPOST /v2/flows/executions,POST /v2/flows/executions/{execution_id}/tasks, andPATCH /v2/flows/executions/{execution_id}/tasks/{task_id}and returned wherever flow executions are read - Task conditions can now be evaluated against the main context:
tasks[].conditions[].statements[].source.origin_typereturns the newmain_contextvalue โ so consumers must be prepared for this additional value
2026-09-21 Automation API
- New
POST /v1/automation/journey-context:usagesendpoint was added for reading where a journey context is used - Automations can now be executed with inputs for their actions, through a new optional
action_inputsfield โ accepted onPOST /v1/automation/executionsand returned wherever executions are read - Action attachments can now be narrowed down by file name: new optional
actions[].config.attachments[].source_filter.filenameandsource_filter.filename_patternfields โ accepted onPOST /v1/automation/flowsandPUT /v1/automation/flows/{flow_id}and returned wherever flows and executions are read
2026-09-21 Pricing API
POST /v1/public/product-recommendationsnow reports where a recommendation came from through a new optionalsourcefield
2026-09-21 Workflows Definition API
- New
POST /v1/workflows-definition/journey-context:usagesendpoint was added for reading where a journey context is used - Automation tasks in a flow template can now ask for a note when they are executed, restrict which closing reasons may be picked, and have the email they send reviewed before it goes out, through new optional
tasks[].automation_config.allow_execution_note,automation_config.eligible_closing_reason_ids, andautomation_config.email_reviewfields โ accepted onPOST /v2/flows/templatesandPUT /v2/flows/templates/{flowId}and returned wherever flow templates are read POST /v1/workflows/definitionscan now respond with409when the definition conflicts with an existing one
2026-09-21 Workflows Execution API
- The email an automation task sends can now be reviewed before it goes out: new
GET /v2/flows/executions/{execution_id}/tasks/{task_id}/email-previewendpoint for previewing that email, together with a new optionalautomation_config.email_reviewfield โ accepted onPOST /v2/flows/executions,POST /v2/flows/executions/{execution_id}/tasks, andPATCH /v2/flows/executions/{execution_id}/tasks/{task_id}and returned wherever flow executions are read - Automation tasks can now ask for a note when they are executed and restrict which closing reasons may be picked, through new optional
automation_config.allow_execution_noteandautomation_config.eligible_closing_reason_idsfields โ accepted onPOST /v2/flows/executions,POST /v2/flows/executions/{execution_id}/tasks, andPATCH /v2/flows/executions/{execution_id}/tasks/{task_id}and returned wherever flow executions are read POST /v2/flows/executions/{execution_id}/tasks/{task_id}/automation:runnow accepts an optional request body, and it andPOST /v2/flows/executions/{execution_id}/tasks/{task_id}/schedule/run-nowcan respond with409when the run conflicts with the current state
2026-09-18 Audit Log API
- Audit log records now carry a visibility: a new optional
visibilityfield is accepted onPOST /v1/logsfor narrowing a search and returned on each record, andGET /v1/logs/{logId}accepts a matching optionalvisibilityquery parameter
2026-09-18 Journey Config API
- Journey environment variables can now hold a list of links:
typereturns the newList<Link>value with a matchingvalueshape, andGET /v1/journey/environment-variablescan additionally return a map value shape โ so consumers readingGET /v1/journey/environment-variablesandGET /v1/journey/configuration/{id}/environmentmust be prepared for these additional value shapes
2026-09-17 Blueprint Manifest API
- The blueprint patch endpoints were removed:
GETandPOST /v2/blueprint-manifest/blueprints/{blueprint_id}/patches,GET /v2/blueprint-manifest/blueprints/{blueprint_id}/patches/{patch_id},POST /v2/blueprint-manifest/blueprints/{blueprint_id}/patches:detect,POST /v2/blueprint-manifest/blueprints/{blueprint_id}/patches/{patch_id}:apply, andPOST /v2/blueprint-manifest/blueprints/{blueprint_id}/patches/{patch_id}/orgs/{org_id}:retry(breaking) - The v2 blueprint install, export, and publish endpoints were removed:
POST /v2/blueprint-manifest/blueprint:install,POST /v2/blueprint-manifest/blueprints/{blueprint_id}:export, andPOST /v2/blueprint-manifest/blueprints:publish(breaking) POST /v3/blueprint-manifest/blueprints/{blueprint_id}:publishnow accepts optionalname,slug, andversionfields for the blueprint being published
2026-09-17 Document API
- New
POST /v2/templates:validateendpoint was added for validating a document template