Skip to main content

API Changelog

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

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

2026-05-05 Automation API

  • New optional mark_as_read field added to ForwardEmailAction, ReplyEmailAction, and SendEmailAction configurations, controlling whether the email thread is automatically marked as read after the action completes

2026-05-04 Pricing API

  • New optional availability_address and variable_inputs fields added to the external catalog request context on POST /v1/public/external-catalog/products, POST /v1/public/external-catalog/product-recommendations, and POST /integration/external-service, enabling availability filtering by address and variable-amount price computation
  • New optional cashback_name field added to CashbackAmount items across order, pricing, cart, and external-catalog responses

2026-05-02 Message API

  • New optional mark_thread_as_read field added to POST /v1/message/messages and POST /v1/message/drafts, controlling whether sending a reply marks the thread as read for the sender's org/user (defaults to true)

2026-05-01 Core Events

  • Four new pending-changeset metadata fields added across all built-in events: _has_pending_changesets, _changeset_edit_modes, _changeset_attributes, and _changeset_edit_modes_by_attribute โ€” enabling fine-grained webhook conditions based on whether the triggering entity has pending changesets and which attributes/edit modes are involved

2026-05-01 Event: Meter Reading Added

  • New proposed_meter_readings array added carrying pending reading-changeset context (counter ID, value, direction, status, edit_mode, changeset_id, and previous values being overwritten); populated only when the event represents a pending reading-changeset creation
  • New unit field added to individual items in the existing meter_readings array

2026-04-30 Integration Toolkit API

  • slug request property is now required on all use-case create variants (POST /v1/integrations/{integrationId}/use-cases) โ€” file proxy, inbound, managed call, outbound, and secure proxy (breaking)
  • New optional allowed_origins array field added to FileProxy use case configuration, listing additional origins permitted to call /download (CORS); portal origins remain always allowed

2026-04-30 Journey Config API

  • New optional version query parameter added to GET /v1/journey/configuration/{id} and GET /v2/journey/configuration/{id} for fetching historical snapshots; 0 (default) returns the live row, positive integers return earlier saved versions
  • New optional settings.isActive boolean field added to journey configurations

2026-04-28 Entity API

  • New optional edit_mode and edit_mode_config fields added to all entity schema attribute types in schema responses
  • _changesets field now included on entity objects returned from activity log responses

2026-04-28 Notes API

  • created_by field type changed from a single object to an array of objects across all note endpoints โ€” consumers reading created_by fields must handle arrays (breaking)
  • New optional edited_at timestamp field added to notes and comments
  • POST /v1/notes:search now requires at least one entry in the contexts array; previously empty arrays were silently accepted (breaking)
  • New optional include_related_schemas array field added to note search requests for including notes on related entity schemas

2026-04-28 Entity Mapping API

  • New iteration operations added to entity mapping rules: _each (path to the source array to iterate), _as (variable name for each item, accessed as $<name> in _copy paths within _map), and _map (operation applied per iteration item), enabling array-to-array entity transformation

2026-04-28 Webhooks API

  • Webhook auth credential fields (password, clientSecret, keyValue) are now nullable; passing null explicitly clears the stored value, omitting the field preserves the existing value
  • New optional apply_changesets boolean field added to webhook payloadConfiguration; when true, entity fields in the webhook payload reflect proposed changeset values instead of current persisted values