Skip to main content

API Changelog

Breaking changes, new features, and significant updates to epilot APIs. Subscribe via RSS

2026-09-15 Asset Entity

  • New _purpose attribute added to the asset entity, carrying the list of purpose ids an asset is assigned to

2026-09-14 AI Agents API

  • Agents can now be made available on a website: availability accepts the new website value, together with a new optional domain naming the website the agent answers on โ€” both accepted on POST /v1/agents and PUT /v1/agents/{agent_id} and returned wherever agents are read, and website is also accepted by the availability query parameter of GET /v1/agents
  • PUT /v1/agents/{agent_id} can now respond with 404 when the agent does not exist and 409 when the update conflicts with the current state

2026-09-14 App API

  • PATCH /v1/app/{appId} can now respond with 400 when the request cannot be processed

2026-09-14 Blueprint Manifest API

  • Blueprint validation was removed: POST /v2/blueprint-manifest/blueprints/{blueprint_id}/validate was removed after deprecation, POST /v2/blueprint-manifest/blueprints/{blueprint_id}:export no longer accepts the validate request field, and the validate job type is no longer returned by GET /v2/blueprint-manifest/jobs, GET /v2/blueprint-manifest/jobs/{job_id}, and POST /v2/blueprint-manifest/jobs/{job_id}:cancel (breaking)

2026-09-14 Workflows Definition API

  • Journey tasks can now have their journey prefilled by AI, through a new optional journey.ai_prefill field โ€” available on the regular, ECP, and installer journey configuration of a task, accepted on POST/PUT /v1/workflows/definitions, POST /v2/flows/templates, and PUT /v2/flows/templates/{flowId}, and returned wherever workflow definitions and flow templates are read
  • Flow templates gained new optional stages for grouping their tasks into stages, portal_titles for the titles shown in the customer portal, stages[].portal_descriptions for the descriptions shown there, and edges[].end_type โ€” accepted on POST /v2/flows/templates and PUT /v2/flows/templates/{flowId} and returned wherever flow templates are read
  • Journey tasks can now set the label shown on their portal button, through a new optional journey.portal_button_label field โ€” available on the regular, ECP, and installer journey configuration of a task, accepted on POST/PUT /v1/workflows/definitions, POST /v2/flows/templates, and PUT /v2/flows/templates/{flowId}, and returned wherever workflow definitions and flow templates are read

2026-09-14 Workflows Execution API

  • Journey tasks can now have their journey prefilled by AI, through a new optional journey.ai_prefill field โ€” available on the regular, ECP, and installer journey configuration of a task, accepted on PATCH /v2/flows/executions/{execution_id}/tasks/{task_id} and returned wherever workflow and flow executions are read, together with a new optional journey_prefill on the task itself
  • Flow executions gained new optional stages for grouping their tasks into stages, with each task reporting the stage it belongs to through a new optional stage_id, and a new optional edges[].end_type โ€” returned wherever flow executions are read
  • Flow executions and their stages now report the titles and descriptions shown in the customer portal through new optional portal_titles, stages[].portal_names, and stages[].portal_descriptions fields โ€” returned wherever flow executions are read, including POST /v2/flows/executions:portal-search and POST /v2/flows/executions:portal-search-batch
  • Journey tasks now carry the label shown on their portal button, through a new optional journey.portal_button_label field โ€” available on the regular, ECP, and installer journey configuration of a task, accepted on PATCH /v2/flows/executions/{execution_id}/tasks/{task_id} and returned wherever workflow and flow executions are read

2026-09-11 Automation API

  • Automation assignment actions can now pick an assignee by skill: new optional config.match_user_skills, config.required_skill_categories, and config.skill_match_mode fields โ€” accepted on POST /v1/automation/flows and PUT /v1/automation/flows/{flow_id} and returned wherever flows and executions are read

2026-09-11 Dashboard API

  • New GET /v1/dashboard/dashboards/quota endpoint added for reading the dashboard quota of an organization
  • POST /v1/dashboard/dashboards, PATCH /v1/dashboard/dashboards/{id}, and PUT /v1/dashboard/dashboards/{id} can now respond with 403

2026-09-11 Environments API

  • Environments can now hold a list of values: the type of an environment accepts the new List value with a matching value shape, and the type of the entries is reported through a new optional item_type โ€” accepted on POST /v1/environments and PUT /v1/environments/{key} and returned wherever environments are read

2026-09-11 Workflows Execution API

  • POST /v2/flows/executions can now respond with 503 when a workflow execution cannot be started at the moment

2026-09-10 Access Token API

  • Access tokens can now identify a contact: POST /v1/access-tokens accepts a new set of contact identification parameters, the new contact_identification value is returned as token_type wherever access tokens are read and accepted by the token_type query parameter of GET /v1/access-tokens, and such tokens report new optional contact_id and allowed_operations fields
  • New GET /v1/access-tokens/contact-identification/.well-known/jwks.json and GET /v1/access-tokens/contact-identification/.well-known/openid-configuration endpoints added for verifying contact identification tokens

2026-09-10 App API

  • App hooks can now run on a custom interval: the intervals of a component's hook configuration accept the new custom value, accepted on POST/PATCH /v1/app-configurations/{appId}/versions/{version}/components and returned wherever apps and app configurations are read

2026-09-10 Event Catalog API

  • Catalog events can now be managed through the API: new POST /v1/events for creating an event, PUT /v1/events/{event_name} for replacing it, DELETE /v1/events/{event_name} for removing it, POST /v1/events/{event_name}:preview for previewing what it would produce, and POST /v1/events/{event_name}:publish for publishing it
  • Catalog events report new optional api_trigger, event_origin, lineage, mapping, and entity_operation.purpose_filters fields, and automation_trigger_only and automation_trigger_seed_node are no longer read-only โ€” returned by GET /v1/events, GET /v1/events/{event_name}, and PATCH /v1/events/{event_name}
  • PATCH /v1/events/{event_name} accepts new optional enabled, auto_trigger, and success_criteria fields, and its request body must now be an object (breaking)

2026-09-10 Integration Toolkit API

  • Monitoring events are no longer reported as skipped: their level takes the new info value instead, accepted on POST /v2/integrations/{integrationId}/monitoring/events and returned by the monitoring event, associated event, and trace endpoints (breaking)
  • Monitoring statistics follow the same move: POST /v2/integrations/{integrationId}/monitoring/stats and POST /v2/integrations/{integrationId}/monitoring/time-series now report an info_count per bucket and breakdown, while skipped_count is deprecated and will be removed in a future version

2026-09-09 AI Agents API

  • Agent executions can now take a file along: POST /v1/agents/{agent_id}/execute and POST /v1/agents/{agent_id}/execute/stream accept a new optional input.attachment

2026-09-09 Configuration Hub API

  • Configuration health findings can now be ignored: new POST /v1/configs/health:ignore endpoint added, and an ignored finding is reported through new optional findings[].ignored, findings[].ignored_at, findings[].ignored_by, and findings[].ignored_reason fields on GET /v1/configs/health

2026-09-09 File API

  • New POST /v1/files/validations endpoint added for validating a file

2026-09-09 Journey Config API

  • New endpoints added for publishing a journey configuration and working with its revisions: POST /v1/journey/configuration/{id}/publish for publishing it, GET /v1/journey/configuration/{id}/publish-state for reading whether it is published, GET and POST /v1/journey/configuration/{id}/revisions for listing and creating revisions, and GET /v1/journey/configuration/{id}/revisions/{revision_id} for reading a single revision
  • A specific revision can now be read through the journey configuration itself: GET /v1/journey/configuration/{id} accepts a new optional revision_id query parameter and reports which revision was served, and POST /v1/journey/configuration/{id}/revisions accepts an optional revision_name

2026-09-08 App API

  • Apps can now ship an external values component: a new ExternalValuesComponent shape is accepted on POST/PATCH /v1/app-configurations/{appId}/versions/{version}/components and returned wherever apps, app configurations, and components are read, so consumers must be prepared for this additional component shape; GET /v1/app accepts the matching EXTERNAL_VALUES value for its componentType query parameter, and app events accept and report it as a source

2026-09-08 Environments API

  • Environments can now hold a link: the type of an environment accepts the new Link value with a matching value shape โ€” accepted on POST /v1/environments and PUT /v1/environments/{key} and returned wherever environments are read

2026-09-08 Integration Toolkit API

  • Entity mappings can now be applied conditionally through a new optional configuration.entities[].conditional field โ€” accepted when creating or updating a use case or an integration as well as by POST /v1/erp/updates/direct_simulation and the mapping simulation endpoints, and returned wherever use cases and integrations are read
  • Import validation now reports what it looked at and what went wrong in more detail: new optional validation.entity_details, validation.entity_details_truncated, and validation.issues[].subject fields, together with the new issue codes SCHEMA_NOT_FOUND, SCHEMA_NOT_CONDITIONABLE, SCHEMA_DECLARES_NO_CONDITIONS, ATTRIBUTE_NOT_IN_SCHEMA, ATTRIBUTE_NOT_OVERRIDABLE, CONDITION_VALUE_MISSING, IS_CONDITIONAL_NOT_CONSTANT, GROUPING_KEY_NOT_A_COLUMN, GROUPING_KEY_IS_FOLD_COLUMN, TIER_BANDS_CONFLICT, TIER_ROWS_NOT_GROUPED, and VARIANT_VALUE_CONFLICT โ€” returned by all /v2/erp/imports endpoints, where validation.total_rows is no longer always present (breaking)

2026-09-08 Validation Rules API

  • New DocumentRuleType validation rule type added โ€” accepted on POST /v1/validation-rules and PATCH /v1/validation-rules/{ruleId} and returned wherever rules are read, so consumers must be prepared for this additional rule shape

2026-09-08 Workflows Definition API

  • Workflow tasks can now be broken down into subtasks: new optional subtasks and required fields on flow template tasks, together with an optional trigger_mode of automatic or manual โ€” accepted on POST /v2/flows/templates and PUT /v2/flows/templates/{flowId} and returned wherever flow templates are read
  • Journey tasks can now require the journey to be submitted before the task completes, through a new optional journey.journey_submission_required field โ€” available on the regular, ECP, and installer journey configuration of a task, accepted on POST/PUT /v1/workflows/definitions and POST/PUT /v2/flows/templates, and returned wherever workflow definitions and flow templates are read
  • New optional on_failure field added to flow template tasks, controlling what happens when a task fails

2026-09-08 Workflows Execution API

  • Running workflows now report the new task configuration: optional subtasks, subtask_states, required, trigger_mode, and on_failure on a task, plus journey.journey_submission_required on the regular, ECP, and installer journey of a step or task โ€” returned wherever executions, steps, and tasks are read; PATCH /v2/flows/executions/{execution_id}/tasks/{task_id} additionally accepts subtask_states and the ECP and installer journey.journey_submission_required
  • Tasks that wait for a journey report new optional journey_submission, journey_gate_waived_at, and completion_gates_reset_at fields, and agent tasks a new optional agent_execution.completion_hold

2026-09-07 Integration Google Maps API

  • GET /v1/geocode-api/coordinates now accepts an optional country query parameter for restricting the lookup to a single country