API Changelog
Breaking changes, new features, and significant updates to epilot APIs. Subscribe via RSS
2026-06-30 Webhooks API
- Event replay can now re-run the JSONata transform:
POST /v1/webhooks/configs/{configId}/events/{eventId}/replayand.../events/replay-batchaccept an optionalreapply_transformflag that reconstructs the original pre-transform input and re-runs the full delivery pipeline (defaultfalse, which resends the post-transform payload as-is) - Webhook event responses now include
original_payload(the raw pre-transform input, when available),can_reapply_transform, andcan_reapply_transform_reason; single-event replay can now return422when the original input cannot be reconstructed
2026-06-29 Message API
PUT /v1/message/messagescan now return409 Conflictwhen a draft has been edited by someone else since it was loaded, including the current server version of the message so clients can reload and retry- New optional
updated_byfield added to message and thread responses, recording the user who last edited the message
2026-06-29 Portal User Entity
- New read-only
first_loginandlast_logindate-time attributes added, recording when a portal user first and most recently signed in
2026-06-26 Audit Log API
POST /v1/logsnow acceptsresource_id,resource_type, andactionfilters for narrowing audit-log searches to the resource an event targets and its semantic action name (e.g.blueprint.resource_added); the same three fields are now returned on each log record
2026-06-26 Customer Portal API
- New endpoints added to read and update a portal's mobile app configuration (
GET/PUT /v1/portal/mobile-config), covering app branding, iOS and Android settings, and over-the-air (OTA) update settings - New
POST /v2/portal/entity/{slug}andPATCH /v2/portal/entity/{slug}/{id}endpoints added for creating and updating entities in the portal context
2026-06-26 Integration Toolkit API
- New optional
prevent_indirect_servingfield added to FileProxy use case configuration; whentrue, files too large to be served directly in the proxy response are rejected instead of being served via a temporary S3 redirect, so files never transit epilot's temporary storage
2026-06-25 Entity API
- New optional
qquery parameter added toGET /v1/entity/viewsfor free-text searching saved views by name
2026-06-25 Calendar API
- New
DELETE /v1/calendar/sources/outlook/{calendar_id}endpoint added for disconnecting a previously connected Outlook calendar
2026-06-25 Snapshot API
- New endpoints added to schedule recurring organization snapshots — read, create or update, and delete a per-organization snapshot schedule (
GET/PUT/DELETE /v1/org-snapshot-schedule) with a cron expression, timezone, retention window, and excluded resource types
2026-06-25 Integration Toolkit API
- New integration notification-monitoring endpoints added:
GET /v2/integrations/{integrationId}/notifications/history(paginated history of fired and suppressed notifications),GET /v2/integrations/{integrationId}/notifications/status(live per-rule alert state and baseline bands), andPOST /v2/integrations/{integrationId}/notifications/test(send a test notification to the calling user) - Integration settings now carry an optional
notificationsconfiguration object (recipients, delivery channels, alert rules, and digest schedule) on the v1 and v2 create, update, and read endpoints
2026-06-24 File API
- AI file summaries are now managed as asynchronous jobs: new
GET /v1/files/{id}/summaryreturns the current summary text and status,POST /v1/files/{id}/summary-jobscreates (or returns) the current summary job, andGET /v1/files/{id}/summary-jobs/currentandGET /v1/files/{id}/summary-jobs/{job_id}poll job status; the summary response now exposes per-languagepreview_summary_de/preview_summary_enandshort_summary_de/short_summary_enfields - The
summary_statusfield was removed from file response objects — read summary state from the new summary endpoints instead (breaking)
2026-06-24 Workflows Execution API
- New optional read-only
error_reasonfield added to theschedule(DelayedSchedule/RelativeSchedule) of automation and decision tasks across flow execution responses; it is populated when scheduling the task failed (e.g. the referenced date attribute is empty or the resolved fire time is already in the past) and cleared once the task is successfully re-armed
2026-06-24 Event: Location Move Requested
- The single
meter_counterfield was replaced by ameter_countersarray, so moves involving multiple meter counters are now fully represented (breaking)
2026-06-22 Email Template API
POST /v1/email-template/templates/{id}:convertToBuildernow accepts an optionalas_copyflag (with an optional name) to convert a template to the visual builder as a new copy, leaving the original template unchanged
2026-06-22 SSO API
POST /v1/sso/public/loginresponses now include an optionalrole_assignmentobject, reporting the roles assigned to the user by the SSO provider's role mapping and whether they changed during this login
2026-06-19 Dashboard API
- New Insights resource added for managing reusable saved charts independently of dashboards:
GET/POST /v1/dashboard/insightsandGET/PUT/PATCH/DELETE /v1/dashboard/insights/{id} - New
PATCH /v1/dashboard/dashboards/{id}endpoint added for partially updating a dashboard - Dashboards and insights now carry ownership and sharing metadata (
owners,shared_with,org_access); sharing is managed via the newPATCHoperations and only owners may change it - Dashboard tiles can now reference a saved insight via
insight_id, in addition to the existing inline visualisation
2026-06-19 Workflows Execution API
- New optional
outcomefield added to AI agent task responses, exposing the server-computed result of the agent execution (e.g.assigned,recommended,no_eligible_partner,missing_input)
2026-06-18 Email Settings API
POST /v2/outlook/mailbox/connectnow accepts new optional fields:name(sender name for the mailbox),user_idsandgroup_ids(users and groups the mailbox is available to by default), anddefault_signature_id
2026-06-17 ERP Integration API
POST /v1/secure-proxynow returns a structured error body on502(a requiredmessagecategory plus optionalcodeandreason), so clients can distinguish an upstream-side failure — TLS/certificate, DNS, connection refused/reset, or timeout — from an epilot-side one; successful upstream responses still pass through their original status and body unchanged
2026-06-17 Targeting API
automation_statusquery parameter onGET /v1/campaign/{campaign_id}/recipientschanged from a single-value enum to a repeatable array parameter (breaking)POST /v1/campaign:setupno longer requiresautomation_idon the email channel and accepts a new optionaltemplate_id, allowing the flow to be created from a template instead of a pre-selected automation
2026-06-16 Blueprint API
- New
GET /v3/blueprint-manifest/blueprints/{blueprint_id}/deployments/{job_id}/restore-previewendpoint added, returning the predicted outcome of reverting a deployment without making any changes POST /v3/blueprint-manifest/blueprint-instances/{blueprint_instance_id}:restoreendpoint removed; deployment restore now runs only viaPOST .../blueprints/{blueprint_id}/deployments/{job_id}:restore(breaking)
2026-06-16 Snapshot API
- New
POST /v1/snapshots:capture-orgendpoint added for asynchronously snapshotting the caller's entire organization POST /v1/snapshots/{id}:restorenow accepts an optionalexclude_target_idsarray (target IDs the caller wants left untouched during restore)- The
preserve_modifiedoption was removed fromPOST /v1/snapshots/{id}:restore, and the relatedskippedarrays (andSkippedResourceschema) were removed from restore and capture results onGET /v1/snapshotsandGET /v1/snapshots/{id}; drift-based skipping is no longer performed during restore (breaking)
2026-06-16 User API
- New public password-reset endpoints added:
POST /v2/users/public/requestPasswordResetandPOST /v2/users/public/resetPassword(unauthenticated, rate-limited), plus an authenticatedPOST /v2/users:sendPasswordResetfor triggering a reset email for a user in the caller's organization
2026-06-15 Email Template API
- New
GET /v1/email-template/templates/{id}:referencesendpoint added, returning where a template is currently referenced
2026-06-15 Integration Toolkit API
- New endpoints added for managing outbound message queues:
POST /v1/integrations/{integrationId}/outbound/messages/poll,.../ack, and.../unblock, plusGET /v1/integrations/{integrationId}/outbound/messages/dlqandPOST .../outbound/messages/dlq/redrivefor dead-letter handling - Outbound use case delivery configuration was restructured into a discriminated union of
WebhookDeliveryConfigand the newPollDeliveryConfig; the previous flattype,webhook_id,webhook_name, andwebhook_urldelivery fields were removed (breaking)