Skip to main content

API Changelog

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

2026-10-16 Automation API

  • Assignment actions can now require skills from their assignees through new optional actions[].config.required_skills and actions[].config.required_skills_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-10-16 Design Builder API

  • New POST /v1/designs/generate endpoint was added for generating a design

2026-10-15 AI Agents API

  • POST /v1/agents/{agent_id}/execute and POST /v1/agents/{agent_id}/execute/stream accept new optional mode and input.message fields, and POST /v1/agents/{agent_id}/execute can now respond with 201, 422, and 504

2026-10-15 Entity API

  • New GET /v1/entity:importHistory endpoint was added for listing past entity imports, and imports now report their progress through new optional phase, started_at, heartbeat_at, finished_at, and issues fields
  • failure_code on POST /v1/entity:import and GET /v1/entity:import:latest can now return new values such as dry_run_required, dry_run_expired, dry_run_mismatch, import_too_large, and token_expired, so consumers must be prepared for these additional failure codes
  • New GET /v1/entity/{slug}/{id}/summary endpoint was added for reading a summary of an entity
  • Entity schemas can now require a comment on changes through a new optional require_change_comment field — accepted on PUT /v1/entity/schemas/{slug} and returned wherever entity schemas are read

2026-10-15 GenAI API

  • GET /v1/genai/thread/{threadId}/info, GET and POST /v1/genai/entity/{slug}/{entity_id}/summary, and POST /v1/genai/portal/getDesign endpoints were removed without deprecation (breaking)

2026-10-15 Message API

  • New GET /v1/message/threads/{id}/summary endpoint was added for reading a summary of a message thread

2026-10-15 Pricing API

  • Variant conditions on POST /v1/conditional-pricing/{slug}/entities/{entity_id}/variants:list and POST /v1/conditional-pricing/{slug}/entities/{entity_id}/variants:tree now use the new ContextConditionValue and PostalCodeFilter shapes; the previous PostalCodeCity and ConditionPredicate shapes are no longer accepted in conditions (breaking)

2026-10-15 Core Entities

  • Coupon, Price, Product, and Tax entities can now carry footnotes through a new footnotes field

2026-10-14 Entity API

  • New GET /v1/entity:wipeJobs endpoint was added for listing entity wipe jobs
  • POST /v1/entity:wipeAllEntities now accepts at most 90 schemas per request (breaking) and can respond with 409 when a wipe is already in progress

2026-10-14 Integration Toolkit API

  • New GET /v3/erp/updates/events, GET /v3/erp/updates/events/{event_id}, and GET /v3/erp/updates/correlations endpoints were added for tracking submitted ERP update events and their correlations, including whether a correlation is complete and its errors_total
  • ERP updates can now be processed interactively: POST /v3/erp/updates/events accepts new optional interactive, events[].interactive, and correlation_complete fields, use cases accept a new optional configuration.interactive field, and the /v1, /v2, and /v3 erp/updates/events endpoints now return a correlation_id together with each result's interactive flag and lane
  • New POST /v2/integrations/{integrationId}/monitoring/runs/completion endpoint was added for reporting the completion of a monitoring run
  • group_id and events[].group_id on POST /v3/erp/updates/events must now be non-empty and contain only printable characters without spaces
  • code on monitoring events, associated events, and trace spans is no longer always a string, so consumers must handle other value types

2026-10-13 Automation API

  • actions[].config.candidate_group on automation flows is now deprecated in favour of the new optional actions[].config.candidate_pool field — accepted on POST /v1/automation/flows and PUT /v1/automation/flows/{flow_id} and returned wherever flows and executions are read
  • Automation bulk jobs can now be restarted: PATCH /v1/automation/executions/bulk-jobs/{job_id} accepts the new RESTART value for action and no longer requires task_token, and bulk jobs report their restarts through new optional restart_count, restarted_at, and last_error fields
  • Bulk jobs now report execution statistics through new optional execution_stats and execution_summary_truncated fields, and GET /v1/automation/executions/bulk-jobs/{job_id} accepts a new optional include_execution_summary query parameter

2026-10-13 Email Settings API

  • New POST /v2/outlook/mailbox/{email}/sync/cancel endpoint was added for cancelling a running mailbox sync
  • Outlook mailboxes can now be synced for the last 3 months, 6 months, or year: mailboxSyncTimeframe on POST /v2/outlook/mailbox/connect and timeframe on POST /v2/outlook/mailbox/{email}/sync accept the new 3m, 6m, and 1y values, which are also returned by the sync and GET /v2/outlook/mailbox/{email}/sync/status endpoints, so consumers must be prepared for these additional timeframes

2026-10-13 Message API

  • Messages can now come with suggested entity links: GET /v2/message/messages/{id} returns a new optional link_suggestions field, and new POST /v1/message/threads/{id}/link-suggestions/dismiss endpoint was added for dismissing suggestions
  • GET /v1/message/threads/{id}/timeline can now return the new MessageEntityLinkSuggestedEvent and MessageEntityLinkSuggestionDismissedEvent event types, so consumers must be prepared for these additional events

2026-10-13 Workflows Definition API

  • Flow template tasks can now have a start date through new optional tasks[].start_date and tasks[].start_date_config fields, and due dates can now be set relative to it: due_date_config.type accepts the new START_DATE value on POST /v2/flows/templates and PUT /v2/flows/templates/{flowId} and returns it wherever flow templates are read, so consumers must be prepared for this additional due date type

2026-10-13 Workflows Execution API

  • Tasks can now have a start date through new optional start_date and start_date_config fields, returned wherever flow executions and tasks are read, and due dates can now be set relative to it: due_date_config.type accepts the new START_DATE value on the execution, phase, and task create/update endpoints and returns it wherever flow executions, phases, and tasks are read, so consumers must be prepared for this additional due date type

2026-10-12 Identity API

  • New GET /v1/identity/operator/clients/{client_id}/organizations/{org_id}/users/{user_id}:subject endpoint was added for reading the subject of a user in an organization
  • partner_account was removed from operator client organizations: it is no longer accepted on POST /v1/identity/operator/clients/{client_id}/organizations and PUT /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 ValueReference shape for dynamic values: ContextValue and EnvironmentValue are no longer accepted for conditions[].value.adjust.value and conditions[].applies_when.value on POST /v1/validation-rules and PATCH /v1/validation-rules/{ruleId}, which now accept ValueReference instead (breaking)
  • conditions[].value.offset on 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 ParameterValue shape, accepted for conditions[].value, conditions[].value.min/max, conditions[].value.adjust.value, and conditions[].applies_when.value on POST /v1/validation-rules and PATCH /v1/validation-rules/{ruleId} and returned wherever validation rules are read
  • anchor on relative date values can now be a value reference, and today is no longer accepted as anchor on POST /v1/validation-rules and PATCH /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[].loops field and edges their loop through a new optional edges[].loop_id field — 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, and tasks[].loops.*.depth/outer_loop_ids/target_id fields, and tasks[].loop_config on flow executions and tasks is now deprecated in favour of tasks[].loops

2026-10-09 Audit Log API

  • Audit logs now record actions performed by AI agents: caller.trigger_type can return the new agent value, so consumers must be prepared for this additional trigger type, and callers report the acting agent and access token through new optional caller.agent, caller.token_id, caller.token_name, and caller.token_type fields — returned by POST /v1/logs and GET /v1/logs/{logId}
  • caller_type on POST /v1/logs is 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_Theme shape on POST /v1/designs and PUT /v1/designs/{designId} and returns it wherever designs are read, and GET /v1/designs/{designId}/parse returns a new optional design.spark_theme field

2026-10-09 Integration Toolkit API

  • Import validation can now report the new issue codes FROM_ROWS_EXPRESSION_FAILED, MAPPING_EXPRESSION_FAILED, and VALUE_FORMAT_INVALID, and issues carry new optional attributes, expected, and lines details — returned by all /v2/erp/imports endpoints, so consumers must be prepared for these additional issue codes

2026-10-09 Query API

  • GET /v2/query/autocomplete no longer accepts labels, partners, purposes, sharing_configs, tags, and workflows as the dataset query parameter (breaking)

2026-10-09 Workflows Execution API

  • Flows can now be started in bulk: new POST /v2/flows/executions:bulk-start endpoint was added for starting many flow executions at once, together with new GET /v2/flows/bulk-jobs, GET /v2/flows/bulk-jobs:active, GET /v2/flows/bulk-jobs/{job_id}, and PATCH /v2/flows/bulk-jobs/{job_id} endpoints for tracking and updating bulk jobs
  • New POST /v2/flows/bulk-jobs/{job_id}/restart endpoint was added for restarting a bulk job, and bulk jobs link to their restarts through new optional restart_of and restarted_by fields. GET /v2/flows/bulk-jobs now also returns each job's entity_ids and entity_count, and an optional entity_schema

2026-10-09 Ticket Entity

  • Tickets can now record consents through a new consents field

2026-10-09 Core Events

  • New GridPlantRegistrationRequested and GridPlantRegistrationProgressed events were added for plant registration processes, and a new GridConnectionProgressed event was added for tracking a grid connection process after it was requested. The Progressed events carry a stage describing where the process stands, including a required stage.workflows list with the definition_id, status, current phase, and current task of every workflow on the opportunity
  • GridConnectionRequested now includes the related business accounts through a new accounts field