API Changelog
Breaking changes, new features, and significant updates to epilot APIs. Subscribe via RSS
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
2026-05-05 Automation API
- New optional
mark_as_readfield added toForwardEmailAction,ReplyEmailAction, andSendEmailActionconfigurations, controlling whether the email thread is automatically marked as read after the action completes
2026-05-04 Pricing API
- New optional
availability_addressandvariable_inputsfields added to the external catalog requestcontextonPOST /v1/public/external-catalog/products,POST /v1/public/external-catalog/product-recommendations, andPOST /integration/external-service, enabling availability filtering by address and variable-amount price computation - New optional
cashback_namefield added toCashbackAmountitems across order, pricing, cart, and external-catalog responses
2026-05-02 Message API
- New optional
mark_thread_as_readfield added toPOST /v1/message/messagesandPOST /v1/message/drafts, controlling whether sending a reply marks the thread as read for the sender's org/user (defaults totrue)
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_readingsarray 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
unitfield added to individual items in the existingmeter_readingsarray
2026-04-30 Integration Toolkit API
slugrequest 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_originsarray 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
versionquery parameter added toGET /v1/journey/configuration/{id}andGET /v2/journey/configuration/{id}for fetching historical snapshots;0(default) returns the live row, positive integers return earlier saved versions - New optional
settings.isActiveboolean field added to journey configurations
2026-04-28 Entity API
- New optional
edit_modeandedit_mode_configfields added to all entity schema attribute types in schema responses _changesetsfield now included on entity objects returned from activity log responses
2026-04-28 Notes API
created_byfield type changed from a single object to an array of objects across all note endpoints โ consumers readingcreated_byfields must handle arrays (breaking)- New optional
edited_attimestamp field added to notes and comments POST /v1/notes:searchnow requires at least one entry in thecontextsarray; previously empty arrays were silently accepted (breaking)- New optional
include_related_schemasarray 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_copypaths 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; passingnullexplicitly clears the stored value, omitting the field preserves the existing value - New optional
apply_changesetsboolean field added to webhookpayloadConfiguration; whentrue, entity fields in the webhook payload reflect proposed changeset values instead of current persisted values
2026-04-21 Core Events
- New
remarksarray field added toMeterReadingAddedandServiceMeterReadingAddedevents, containing free-text remarks from the submitter in reading order (one per counter for multi-counter meters; empty or whitespace-only remarks are omitted) - New
remarkfield added to individual counter reading items withinServiceMeterReadingAdded
2026-04-17 Pricing API
context.contract.billing_accountandcontext.contract.paymentrequest fields onPOST /v1/public/external-catalog/productsandPOST /v1/public/external-catalog/product-recommendationschanged from string relation IDs to objects (breaking)context.contract.branchenum constraint removed on the same endpoints; the field now accepts any string instead of only the previous fixed values (power,gas,water,waste_water,district_heating)
2026-04-17 Permissions API
- New
equals_current_usergrant condition (EqualsCurrentUserCondition) added, checking whether anyrelation_userattribute on the entity contains the currently authenticated user; an optionalattributepath restricts the check to a specific field - New optional
vendor_createdboolean field added to user, partner, and sharing role responses, indicating the role was created by a vendor organization on behalf of a partner organization
2026-04-16 Design Builder API
- Many new design token fields added to Journey design objects for fine-grained styling: button variants (primary, ghost, outlined), input fields, cards, chips, dropdowns, datepicker, toggles, topbar, font size scale, and more;
IMAGEadded as a newfile_typeoption for design logos
2026-04-16 Integration Toolkit API
- New optional
group_idfield onPOST /v3/erp/updates/eventsfor controlling processing parallelism: events sharing the samegroup_idare processed in order; events with differentgroup_idvalues are processed concurrently (up to 20 concurrent groups per integration)
2026-04-16 Message API
- New optional
unlink_mapped_entitiesquery parameter onPOST /v1/message/threads/{id}/unassign; whentrue, also removes the unassigned entities frommapped_entitieson related source entities
2026-04-16 Event: Meter Reading Added
- New
contractsarray field added to theMeterReadingAddedevent payload, providing the full list of hydrated contract entities linked to the meter (supports meters associated with multiple contracts)