Skip to main content

API Changelog

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

2026-08-10 Customer Portal API

  • New GET /v2/portal/user/file/{id}/preview endpoint added for retrieving a preview of a file in the portal

2026-08-10 Query API

  • The semantic model (GET /v2/query/semantic-model) now reports version 3; the value 2 is no longer returned (breaking)
  • The tables.entity_relationships table was removed from the semantic model and replaced by a new tables.entity_edges table (breaking)
  • Relationship mechanism values were renamed โ€” entity_relationships is now entity_relation and workflow_contexts is now workflow_context (breaking)
  • New required capabilities and conventions.workflow_org_id_padding fields added to the semantic model response
  • columns on the entity, purpose, and taxonomy tables is now optional and may be absent (breaking)

2026-08-10 Targeting API

  • New POST /v1/campaign/{campaign_id}/recipient/{recipient_id}/entity_ui:restore endpoint added for restoring a dismissed entity UI, together with a new optional entity_ui_status_before_dismiss field on recipient responses recording the status a recipient had before being dismissed
  • Campaign discovery (POST /v1/campaign:discover) now always returns a dismissed flag, along with an optional status_updated_at timestamp

2026-08-10 Workflows Execution API

  • New optional heal_attempts and last_heal_attempted_at fields added to workflow tasks, reporting how often a task was auto-healed and when it was last attempted โ€” returned by all flow execution and task endpoints
  • New optional next_condition_ids request field accepted on PATCH /v2/flows/executions/{execution_id}/tasks/{task_id}, for setting which conditions a task continues to

2026-08-10 Event: File Updated

  • New FileUpdated event added, fired whenever an existing file entity is updated โ€” like FileCreated it carries the file attachment reference (entity ID, S3 reference, and file metadata such as filename, MIME type, size, and version index) together with the hydrated file entity, so webhooks can react to changes on a file and receive its content

2026-08-09 Query API

  • Query results now include an optional columns field describing the columns of the returned data, added to the 200 response of POST /v1/query:execute, POST /v2/query:execute, and POST /v2/query/domain/entities:execute

2026-08-07 Automation API

  • New optional use_uniqueness_criteria field added to automation action configuration, accepted on POST/PUT /v1/automation/flows/{flow_id} and returned wherever actions are read (the flow read, list, search, and batch-get endpoints, the execution endpoints, and POST /v1/automation/public/executions:resume)

2026-08-06 Blueprint API

  • Adding resources to a blueprint (POST /v2/blueprint-manifest/blueprints/{blueprint_id}/resources and POST /v2/blueprint-manifest/blueprints/{blueprint_id}/resources/bulk) now reports partial failures โ€” new optional errors, total_errors, errors_truncated, and skipped fields were added to the response, so a 200 no longer means every requested resource was added

2026-08-06 Calendar API

  • New GET/PUT/DELETE /v1/calendar/working-hours/users/{user_id} endpoints added for reading, setting, and removing the working hours of a user
  • Absence intervals can now originate from working hours โ€” source may be working_hours on GET /v1/calendar/absence/users, GET /v1/calendar/absence/users/{user_id}, POST /v1/calendar/absence:search, and POST /v1/calendar/absence:search-now, and a new optional working_hours_granularity parameter controls how finely those intervals are split

2026-08-06 Dashboard API

  • Dashboards can now be marked as favorites: new PUT/DELETE /v1/dashboard/dashboards/{id}/favorite endpoints added for marking and unmarking a dashboard, and GET /v1/dashboard/dashboards/favorites for listing the favorited ones
  • New optional favorite and favorites_first query parameters added to GET /v1/dashboard/dashboards for returning only favorites or listing them first, and a favorited flag is now returned on the dashboard list, read, create, update, and delete responses

2026-08-06 Entity API

  • New optional adjust_installment field added to entity schema capabilities โ€” settable via POST/PUT /v1/entity/schemas/capabilities/{composite_id} and PUT /v1/entity/schemas/{slug}, and returned by the schema, capability, available-capability, and blueprint read endpoints

2026-08-06 Message API

  • Thread timelines (GET /v1/message/threads/{id}/timeline) now also report workflow started, thread user assigned, message label added and removed, message entity linked and unlinked, auto-reply sent, and thread moved to inbox, trashed, and restored events, so consumers must be prepared for these additional event shapes in events[].data
  • New optional id, message_id, actor, source, automated, and automation fields added to timeline events, identifying the event and who or what triggered it

2026-08-06 User API

  • New optional parent_production_org_id field added to LoginParameters responses, identifying the production organization a login belongs to โ€” returned by GET /v1/users/username/{username}:getLoginParameters, GET /v2/users/public/username/{username}:getLoginParameters, and POST /v2/users/public/passkeys:resolveCredential

2026-08-06 Workflows Execution API

  • automation_execution_id and schedule.schedule_id on workflow tasks may now be null where a string was previously guaranteed โ€” affecting all flow execution and task responses (POST /v2/flows/executions, GET/PATCH /v2/flows/executions/{execution_id}, the task create, update, execute, automation-run, reconcile-automation, and schedule run-now endpoints, and POST /v2/flows/executions:search) (breaking)

2026-08-06 Journey Entity

  • New journeys relation added to the journey entity, letting a journey be linked to other journeys

2026-08-05 App API

  • New optional icon_url field added to apps, returned by GET /v1/app, GET /v1/app/{appId}, POST /v1/app/{appId}, and POST /v1/app/{appId}/promote-to/{version}

2026-08-05 Automation API

  • New POST /v1/automation/executions:search endpoint added for searching automation executions

2026-08-05 Calendar API

  • New POST /v1/calendar/events/{event_id}/share and DELETE /v1/calendar/events/{event_id}/share/{user_id} endpoints added for sharing a calendar event with a user and for revoking that share
  • Absence adjustments now carry a status, which is required when creating one via POST /v1/calendar/absence/users/{user_id}/adjustments and is always returned by the adjustment read, list, create, and update endpoints; an optional type field was added alongside it (breaking)
  • New optional include_busy parameter added to GET /v1/calendar/absence/users, GET /v1/calendar/absence/users/{user_id}, POST /v1/calendar/absence:search, and POST /v1/calendar/absence:search-now, including busy time from users' calendars in the returned intervals

2026-08-05 Workflows Definition API

  • Flow template search (POST /v2/flows/templates:search) now supports sorting by name, id, and enabled in addition to the previously available sort_by values

2026-08-04 App API

  • New widget app component type added โ€” configuration.type now accepts widget on POST/PATCH /v1/app-configurations/{appId}/versions/{version}/components and returns it on the app, app-configuration, and public component read endpoints

2026-08-04 Pricing API

  • New GET /v1/conditional-pricing/{slug}/condition-sets endpoint added, returning the condition sets defined for a conditional pricing
  • The tax field on line item taxes now also accepts and returns the Tax and TaxItem object shapes, in addition to the previously supported ones โ€” affecting POST /v1/order, PUT /v1/order/{id}, POST /v1/pricing:compute, POST /v1/public/cart:checkout, and the public external-catalog and product-recommendation endpoints (breaking for consumers that assume a fixed shape for tax)

2026-08-03 User API

  • New optional passkeys_registered field added to LoginParameters responses, indicating whether the user already has a passkey registered โ€” returned by GET /v1/users/username/{username}:getLoginParameters, GET /v2/users/public/username/{username}:getLoginParameters, and POST /v2/users/public/passkeys:resolveCredential

2026-08-01 Integration Toolkit API

  • New endpoints added for importing data from an ERP system: GET/POST /v2/erp/imports for listing and creating an import, GET /v2/erp/imports/{importId} for reading a single import, POST /v2/erp/imports/{importId}:execute for starting it, and POST /v2/erp/imports/{importId}:abort for stopping one that is still running

2026-07-31 Customer Portal API

  • New GET /v2/portal/entity/{slug}/{id}/workflows/linearized endpoint added, returning the workflows of a portal entity as a flat list of steps
  • New POST /v2/portal/entities/workflows/linearized/batch endpoint added for requesting those linearized workflows for several entities at once

2026-07-31 Entity API

  • New optional variant_overridable field added to entity schema attributes โ€” settable via POST/PUT /v1/entity/schemas/attributes/{composite_id}, PUT /v1/entity/schemas/{slug}, and the capability endpoints, and returned by the schema, capability, and blueprint read endpoints โ€” marking whether an attribute may be overridden per entity variant
  • New optional conditions field added to entity schemas, accepted on PUT /v1/entity/schemas/{slug} and returned by the schema read, list, versions, freeze, and unfreeze endpoints