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}/previewendpoint 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 reportsversion3; the value2is no longer returned (breaking) - The
tables.entity_relationshipstable was removed from the semantic model and replaced by a newtables.entity_edgestable (breaking) - Relationship mechanism values were renamed โ
entity_relationshipsis nowentity_relationandworkflow_contextsis nowworkflow_context(breaking) - New required
capabilitiesandconventions.workflow_org_id_paddingfields added to the semantic model response columnson 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:restoreendpoint added for restoring a dismissed entity UI, together with a new optionalentity_ui_status_before_dismissfield on recipient responses recording the status a recipient had before being dismissed - Campaign discovery (
POST /v1/campaign:discover) now always returns adismissedflag, along with an optionalstatus_updated_attimestamp
2026-08-10 Workflows Execution API
- New optional
heal_attemptsandlast_heal_attempted_atfields 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_idsrequest field accepted onPATCH /v2/flows/executions/{execution_id}/tasks/{task_id}, for setting which conditions a task continues to
2026-08-10 Event: File Updated
- New
FileUpdatedevent added, fired whenever an existing file entity is updated โ likeFileCreatedit 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
columnsfield describing the columns of the returned data, added to the200response ofPOST /v1/query:execute,POST /v2/query:execute, andPOST /v2/query/domain/entities:execute
2026-08-07 Automation API
- New optional
use_uniqueness_criteriafield added to automation action configuration, accepted onPOST/PUT /v1/automation/flows/{flow_id}and returned wherever actions are read (the flow read, list, search, and batch-get endpoints, the execution endpoints, andPOST /v1/automation/public/executions:resume)
2026-08-06 Blueprint API
- Adding resources to a blueprint (
POST /v2/blueprint-manifest/blueprints/{blueprint_id}/resourcesandPOST /v2/blueprint-manifest/blueprints/{blueprint_id}/resources/bulk) now reports partial failures โ new optionalerrors,total_errors,errors_truncated, andskippedfields were added to the response, so a200no 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 โ
sourcemay beworking_hoursonGET /v1/calendar/absence/users,GET /v1/calendar/absence/users/{user_id},POST /v1/calendar/absence:search, andPOST /v1/calendar/absence:search-now, and a new optionalworking_hours_granularityparameter 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}/favoriteendpoints added for marking and unmarking a dashboard, andGET /v1/dashboard/dashboards/favoritesfor listing the favorited ones - New optional
favoriteandfavorites_firstquery parameters added toGET /v1/dashboard/dashboardsfor returning only favorites or listing them first, and afavoritedflag is now returned on the dashboard list, read, create, update, and delete responses
2026-08-06 Entity API
- New optional
adjust_installmentfield added to entity schema capabilities โ settable viaPOST/PUT /v1/entity/schemas/capabilities/{composite_id}andPUT /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 inevents[].data - New optional
id,message_id,actor,source,automated, andautomationfields added to timeline events, identifying the event and who or what triggered it
2026-08-06 User API
- New optional
parent_production_org_idfield added toLoginParametersresponses, identifying the production organization a login belongs to โ returned byGET /v1/users/username/{username}:getLoginParameters,GET /v2/users/public/username/{username}:getLoginParameters, andPOST /v2/users/public/passkeys:resolveCredential
2026-08-06 Workflows Execution API
automation_execution_idandschedule.schedule_idon workflow tasks may now benullwhere 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, andPOST /v2/flows/executions:search) (breaking)
2026-08-06 Journey Entity
- New
journeysrelation added to thejourneyentity, letting a journey be linked to other journeys
2026-08-05 App API
- New optional
icon_urlfield added to apps, returned byGET /v1/app,GET /v1/app/{appId},POST /v1/app/{appId}, andPOST /v1/app/{appId}/promote-to/{version}
2026-08-05 Automation API
- New
POST /v1/automation/executions:searchendpoint added for searching automation executions
2026-08-05 Calendar API
- New
POST /v1/calendar/events/{event_id}/shareandDELETE /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 viaPOST /v1/calendar/absence/users/{user_id}/adjustmentsand is always returned by the adjustment read, list, create, and update endpoints; an optionaltypefield was added alongside it (breaking) - New optional
include_busyparameter added toGET /v1/calendar/absence/users,GET /v1/calendar/absence/users/{user_id},POST /v1/calendar/absence:search, andPOST /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 byname,id, andenabledin addition to the previously availablesort_byvalues
2026-08-04 App API
- New
widgetapp component type added โconfiguration.typenow acceptswidgetonPOST/PATCH /v1/app-configurations/{appId}/versions/{version}/componentsand returns it on the app, app-configuration, and public component read endpoints
2026-08-04 Pricing API
- New
GET /v1/conditional-pricing/{slug}/condition-setsendpoint added, returning the condition sets defined for a conditional pricing - The
taxfield on line item taxes now also accepts and returns theTaxandTaxItemobject shapes, in addition to the previously supported ones โ affectingPOST /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 fortax)
2026-08-03 User API
- New optional
passkeys_registeredfield added toLoginParametersresponses, indicating whether the user already has a passkey registered โ returned byGET /v1/users/username/{username}:getLoginParameters,GET /v2/users/public/username/{username}:getLoginParameters, andPOST /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/importsfor listing and creating an import,GET /v2/erp/imports/{importId}for reading a single import,POST /v2/erp/imports/{importId}:executefor starting it, andPOST /v2/erp/imports/{importId}:abortfor stopping one that is still running
2026-07-31 Customer Portal API
- New
GET /v2/portal/entity/{slug}/{id}/workflows/linearizedendpoint added, returning the workflows of a portal entity as a flat list of steps - New
POST /v2/portal/entities/workflows/linearized/batchendpoint added for requesting those linearized workflows for several entities at once
2026-07-31 Entity API
- New optional
variant_overridablefield added to entity schema attributes โ settable viaPOST/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
conditionsfield added to entity schemas, accepted onPUT /v1/entity/schemas/{slug}and returned by the schema read, list, versions, freeze, and unfreeze endpoints