Skip to main content

API Changelog

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

2026-06-07 Webhooks API

  • New optional eventVersion field (MAJOR.MINOR format) added to webhook configuration to pin deliveries to a specific event payload schema version

2026-06-05 Targeting API

  • New POST /v1/campaign:setup endpoint 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 calendar entity introduced, with required name and source_type attributes and relations to its owning user and to files

2026-06-04 Calendar Event Entity

  • New calendar_event entity introduced, with a required calendar relation and required event_type, start_time, end_time, and source_type attributes

2026-06-03 Blueprint API

  • New POST /v3/blueprint-manifest/blueprint-instances/{blueprint_instance_id}:restore and POST /v3/blueprint-manifest/blueprints/{blueprint_id}/deployments/{job_id}:restore endpoints added for rolling back deployments, along with new snapshot_id, restore_status, and last_restore_job_id deployment fields

2026-06-03 Webhooks API

  • New optional retryPolicy object (enabled, maxAttempts) added to webhook configuration for automatic delivery retries, and a retry_attempt field added to webhook event records

2026-06-02 Workflows Definition API

  • Decision task condition statements now accept an attributes array and an attributes_match mode, 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_file as an alternative to source_org_id plus source_blueprint_id, and adds optional source_auth_token and destination_auth_token fields for cross-org installs

2026-05-27 File API

  • New POST /v1/files/{id}/summary:generate endpoint added for generating an AI summary of a file, alongside new preview_summary, short_summary, and summary_status response fields

2026-05-25 Pricing API

  • Provider search responses (POST /v1/public/integration/{integrationId}/providers:search) now include the required type and additionalData fields, the latter carrying grid operators, default suppliers, and market-area details
  • New optional external_location_metadata field added to line items on POST /v1/order, PUT /v1/order/{id}, POST /v1/pricing:compute, and POST /v1/public/cart:checkout

2026-05-25 Webhooks API

  • Multipart webhook delivery configuration was restructured: the metadataFieldName field was removed and replaced by fileSource (a JSONata expression selecting which attachments to send), fileFieldStrategy (single or multi), and extraFields (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}:history to search past events and GET /v2/events/{event_name}/history/{event_id} to fetch a single event

2026-05-22 Email Settings API

  • New GET /v2/outlook/calendar/me and DELETE /v2/outlook/calendar/me endpoints 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}, and GET/PUT/DELETE /v2/users/me/settings/{scope}/{key} โ€” scopes include calendar, navigation, and search

2026-05-21 Notes API

  • New POST /v1/note/{id}/archive and POST /v1/note/{id}/unarchive endpoints added, along with an _archived_at field and a filter query parameter for filtering notes by archive state

2026-05-20 Automation API

  • New loops field 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 new loop_id property and then run once per resolved item

2026-05-19 Query API

  • New nextCursor and total response 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:zipJob bundles multiple files into a downloadable archive and GET /v1/files:zipJob/{job_id} polls the job status; the optional notify_email field accepts an email address to notify on completion

2026-05-13 Entity API

  • New optional org_id field added to created_by user 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_ref and env_var_ref config options added to inbound use case field mappings โ€” portal_ref resolves to a property (portal_id, origin, domain, name) of one of the calling organization's portal configurations at runtime by filter, and env_var_ref resolves 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), and POST .../changesets/{changeset_id}:dismiss (reject)
  • New optional direct query 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) โ€” when true, bypasses changeset interception and writes directly to ClickHouse, auto-clearing matching pending changesets; the same effect is triggered automatically when source: 'ERP' is set in the request body
  • New optional include_pending_changesets query parameter added to GET /v1/metering/meter and GET /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_type field added identifying the lifecycle action that triggered the event: MeterReadingsAdded (direct commit), ChangesetCreated (pending), ChangesetApplied (pending โ†’ committed), or ChangesetDismissed (pending rejected)
  • New changeset_id and changeset_edit_mode (direct / external / approval) fields added, carrying the originating changeset's identifier and mode
  • New dismissed_reason and dismissed_at fields populated on ChangesetDismissed events

2026-05-07 Event: Service Meter Reading Added

  • New event_attachments array 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 by relation_tags, _tags, mime_type, or _created_at proximity to reading_timestamp to identify the meter reading photo
  • New ticket_files array added on the hydrated entity graph carrying the full file entity objects

2026-05-06 App API

  • New PortalExtensionHookDataExport portal 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 PortalExtensionHookVisualizationMetadata portal 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)
  • intervals field on PortalExtensionHookConsumptionDataRetrieval, PortalExtensionHookCostDataRetrieval, and PortalExtensionHookPriceDataRetrieval deprecated โ€” prefer declaring a sibling visualizationMetadata hook so supported intervals can vary per meter/contract
  • use_static_ips field deprecated on all portal extension hook types โ€” prefer secure_proxy
  • New object enum value added to portal extension component option type, plus new fields (primitive sub-field declarations) and repeatable (array-of-entries flag) properties โ€” enables structured object-typed and list-typed component options

2026-05-06 User API

  • New optional abbreviation field (up to 2 characters, nullable) added to user groups across GET /v1/groups, POST /v1/groups, GET/PATCH /v1/groups/{id}, POST /v1/groups/{id}/user:next, and GET /v2/users/{id}/groups