API Changelog
Breaking changes, new features, and significant updates to epilot APIs. Subscribe via RSS
2026-06-07 Webhooks API
- New optional
eventVersionfield (MAJOR.MINORformat) added to webhook configuration to pin deliveries to a specific event payload schema version
2026-06-05 Targeting API
- New
POST /v1/campaign:setupendpoint added for atomically creating a campaign together with its related entities (e.g. a tariff-change campaign with its journey, portal widget, and email channel)
2026-06-04 Calendar Entity
- New
calendarentity introduced, with requirednameandsource_typeattributes and relations to its owning user and to files
2026-06-04 Calendar Event Entity
- New
calendar_evententity introduced, with a requiredcalendarrelation and requiredevent_type,start_time,end_time, andsource_typeattributes
2026-06-03 Blueprint API
- New
POST /v3/blueprint-manifest/blueprint-instances/{blueprint_instance_id}:restoreandPOST /v3/blueprint-manifest/blueprints/{blueprint_id}/deployments/{job_id}:restoreendpoints added for rolling back deployments, along with newsnapshot_id,restore_status, andlast_restore_job_iddeployment fields
2026-06-03 Webhooks API
- New optional
retryPolicyobject (enabled,maxAttempts) added to webhook configuration for automatic delivery retries, and aretry_attemptfield added to webhook event records
2026-06-02 Workflows Definition API
- Decision task condition statements now accept an
attributesarray and anattributes_matchmode, allowing a single condition to evaluate multiple entity attributes at once
2026-05-29 Blueprint API
- The blueprint install endpoint now accepts a
source_blueprint_fileas an alternative tosource_org_idplussource_blueprint_id, and adds optionalsource_auth_tokenanddestination_auth_tokenfields for cross-org installs
2026-05-27 File API
- New
POST /v1/files/{id}/summary:generateendpoint added for generating an AI summary of a file, alongside newpreview_summary,short_summary, andsummary_statusresponse fields
2026-05-25 Pricing API
- Provider search responses (
POST /v1/public/integration/{integrationId}/providers:search) now include the requiredtypeandadditionalDatafields, the latter carrying grid operators, default suppliers, and market-area details - New optional
external_location_metadatafield added to line items onPOST /v1/order,PUT /v1/order/{id},POST /v1/pricing:compute, andPOST /v1/public/cart:checkout
2026-05-25 Webhooks API
- Multipart webhook delivery configuration was restructured: the
metadataFieldNamefield was removed and replaced byfileSource(a JSONata expression selecting which attachments to send),fileFieldStrategy(singleormulti), andextraFields(additional form fields populated from JSONata expressions) (breaking)
2026-05-25 Event Catalog API
- New endpoints added for accessing event history:
POST /v2/events/{event_name}:historyto search past events andGET /v2/events/{event_name}/history/{event_id}to fetch a single event
2026-05-22 Email Settings API
- New
GET /v2/outlook/calendar/meandDELETE /v2/outlook/calendar/meendpoints added for inspecting and removing the current user's Outlook calendar connection
2026-05-22 User API
- New endpoints added for managing per-user settings:
GET /v2/users/me/settings(list available scopes and keys),GET /v2/users/me/settings/{scope}, andGET/PUT/DELETE /v2/users/me/settings/{scope}/{key}โ scopes includecalendar,navigation, andsearch
2026-05-21 Notes API
- New
POST /v1/note/{id}/archiveandPOST /v1/note/{id}/unarchiveendpoints added, along with an_archived_atfield and afilterquery parameter for filtering notes by archive state
2026-05-20 Automation API
- New
loopsfield added to automation flows (POST /v1/automation/flows) defining loop scopes that resolve an array from the trigger entity; actions opt into a loop via a newloop_idproperty and then run once per resolved item
2026-05-19 Query API
- New
nextCursorandtotalresponse fields added, enabling keyset pagination for chart-config row queries and total-count reporting for paginated raw-SQL queries
2026-05-15 File API
- New asynchronous file zip export endpoints added:
POST /v1/files:zipJobbundles multiple files into a downloadable archive andGET /v1/files:zipJob/{job_id}polls the job status; the optionalnotify_emailfield accepts an email address to notify on completion
2026-05-13 Entity API
- New optional
org_idfield added tocreated_byuser objects on saved views (POST /v1/entity/view,GET/PUT/PATCH /v1/entity/view/{id},GET /v1/entity/views,GET /v1/entity/views/favorites) for partner access control across organizations
2026-05-13 Integration Toolkit API
- New
portal_refandenv_var_refconfig options added to inbound use case field mappings โportal_refresolves to a property (portal_id,origin,domain,name) of one of the calling organization's portal configurations at runtime by filter, andenv_var_refresolves to an org-scoped non-secret environment variable from the environments-api service, replacing hardcoded environment-specific portal UUIDs and config values in inbound mappings
2026-05-13 Metering API
- New endpoints added for managing pending reading changesets:
GET /v1/metering/reading/{meter_id}/{counter_id}/changesets(list pending),PATCH /v1/metering/reading/{meter_id}/{counter_id}/changesets/{changeset_id}(edit the proposed value),POST .../changesets/{changeset_id}:apply(approve and commit to ClickHouse), andPOST .../changesets/{changeset_id}:dismiss(reject) - New optional
directquery parameter added to all reading-write endpoints (POST /v1/metering/reading,POST /v1/metering/readings,POST /v1/metering/readings/{meter_id},POST /v2/metering/readings) โ whentrue, bypasses changeset interception and writes directly to ClickHouse, auto-clearing matching pending changesets; the same effect is triggered automatically whensource: 'ERP'is set in the request body - New optional
include_pending_changesetsquery parameter added toGET /v1/metering/meterandGET /v1/metering/reading/{meter_id}/{counter_id}, including pending reading changesets in the response alongside confirmed readings
2026-05-13 Event: Meter Reading Added
- New
activity_typefield added identifying the lifecycle action that triggered the event:MeterReadingsAdded(direct commit),ChangesetCreated(pending),ChangesetApplied(pending โ committed), orChangesetDismissed(pending rejected) - New
changeset_idandchangeset_edit_mode(direct/external/approval) fields added, carrying the originating changeset's identifier and mode - New
dismissed_reasonanddismissed_atfields populated onChangesetDismissedevents
2026-05-07 Event: Service Meter Reading Added
- New
event_attachmentsarray added carrying file metadata (entity_id,filename,mime_type,size_bytes,s3ref,version_index,readable_size,_tags,relation_tags,category,file_date,_created_at) for every file related to the ticket โ consumers should filter byrelation_tags,_tags,mime_type, or_created_atproximity toreading_timestampto identify the meter reading photo - New
ticket_filesarray added on the hydrated entity graph carrying the full file entity objects
2026-05-06 App API
- New
PortalExtensionHookDataExportportal extension hook type added โ when configured on export-capable portal blocks, the portal delegates the export action (CSV/Excel/PDF download) to the external source instead of generating the file itself - New
PortalExtensionHookVisualizationMetadataportal extension hook type added โ invoked before fetching data with the same portal context as the data hook, returns per-meter/contract visualization metadata (type_options,intervals,data_range) intervalsfield onPortalExtensionHookConsumptionDataRetrieval,PortalExtensionHookCostDataRetrieval, andPortalExtensionHookPriceDataRetrievaldeprecated โ prefer declaring a siblingvisualizationMetadatahook so supported intervals can vary per meter/contractuse_static_ipsfield deprecated on all portal extension hook types โ prefersecure_proxy- New
objectenum value added to portal extension component optiontype, plus newfields(primitive sub-field declarations) andrepeatable(array-of-entries flag) properties โ enables structured object-typed and list-typed component options
2026-05-06 User API
- New optional
abbreviationfield (up to 2 characters, nullable) added to user groups acrossGET /v1/groups,POST /v1/groups,GET/PATCH /v1/groups/{id},POST /v1/groups/{id}/user:next, andGET /v2/users/{id}/groups