This changelog covers breaking changes, new features, and significant updates to epilot's public APIs, including REST APIs, core entities, and core events.
- New
block_referencecomponent arg type added for Journey Block Components, allowing a block's arg to reference another block in the journey by ID; a newBlockReferenceArgschema supports an optionalallowed_typesfilter
- 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
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
- New iteration operations added to entity mapping rules:
_foreach(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
- 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
- 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
- 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
- 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
- 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)
- New optional
unlink_mapped_entitiesquery parameter onPOST /v1/message/threads/{id}/unassign; whentrue, also removes the unassigned entities frommapped_entitieson related source entities
- 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)
- New
POST /v2/portal/metering/readingsendpoint added for retrieving paginated meter readings for a specific counter, with optional Handlebars template resolution per reading and per counter entity
- New
aggregation_methodfield added to consumption items inGET /v2/portal/consumptionresponses, indicating the aggregation method used (values:sum,average,max,min) - New
POST /v3/portal/config/cloneendpoint added for cloning a portal configuration (including pages, settings, email templates, and authentication) from an existing portal
- New endpoints added for managing environment variable groups:
GET /v1/environments/groups(list groups),PUT /v1/environments/groups/{name}(create or update a group),DELETE /v1/environments/groups/{name}(delete a group) - New optional
groupandprotectedfields added to environment variables across all endpoints;groupassigns a variable to a named group,protectedmarks a variable as read-only
- New
GET /v1/marketplace-listingsendpoint added for listing all marketplace listings for the authenticated organization documentation_linkfield removed from marketplace listing responses and request bodies
- New
POST /v1/email-settings/domain/dns-records:verifyendpoint added for verifying that all DNS records (MX, TXT, CNAME) are correctly configured for a domain POST /v1/email-settings/domain/ns-records:verifyis now deprecated — use the new endpoint for new integrations
- New
image_urifield added to user groups, supporting profile image URLs and gradient avatar color configuration
- New asynchronous deduplication endpoints:
POST /v1/deduplicate/jobsubmits a background job and returns ajobId;GET /v1/deduplicate/jobs/{jobId}returns the current job status and result
- New optional
protectedEditablearray field added to journey configurations, listing path patterns (with wildcard support) that remain editable when the journey is in protected (read-only) mode
- New
ForwardEmailActionandReplyEmailActionaction types added to automation flows and executions, enabling automated email forwarding and reply workflows - New
reply_to_sender,reply_mode(reply_in_threadornew_email), andmark_as_donefields added toSendEmailActionconfiguration
- New
group_byrequest field added toPOST /v2/integrations/{integrationId}/monitoring/time-series, enabling breakdown of time-series buckets byuse_case_typeoruse_case - New
breakdownarray returned in each time-series bucket whengroup_byis specified
- New
input_entityfield added toAutomationTriggerfor email thread triggers, specifying which entity (thread,first_email, orlast_email) is used as input for automation and decision tasks
- New
POST /v3/blueprint-manifest/blueprint:installendpoint added for installing blueprints using the V3 engine (direct API calls with checkpoint-based resume on failure) - New
GET /v3/blueprint-manifest/blueprints/{blueprint_id}/lineageendpoint added for retrieving lineage registry entries mapping source IDs to destination resource IDs - New
PARTIAL_SUCCESSstatus value added to blueprint installation job responses
- New
POST /v1/webhooks/configs/{configId}/test-oauthendpoint added for testing the OAuth client credentials configuration of a webhook - New
deliveryModefield added to webhook configurations (json_base64orbinary_multipart) to control how file data is delivered for file-triggered webhooks - New
multipartConfigfield added for specifying form field names when usingbinary_multipartdelivery mode
GET /v1/files/{id}/public-linksandDELETE /v1/files/{id}/public-links/{linkId}endpoints are now implemented — listing and revoking public file links is now available
- New
FileCreatedevent type added with required fields:entity_id,filename,mime_type,size_bytes,s3ref,version_index; includes an embeddedfileentity object with file metadata and acategoryfield
- New
GET /v1/email-settings/domainendpoint added for retrieving all custom email domains configured for the organization
- New
scheduled_at_fromandscheduled_at_todate-time filter fields added toPOST /v1/schedules:searchfor filtering schedules by time window - New
sortdirection field added to schedule search requests (values:asc,desc; default:asc)
- New optional
target_workflowquery parameter added toGET /v1/automation/flows— filters automations to those targeting a specific workflow by ID
- Deprecated
POST /v2/portal/public/user(portal user creation endpoint) - New
GET /v3/portal/public/schemasendpoint added for retrieving entity schemas in the portal context - New
GET /v3/portal/public/widgetsendpoint added as the v3 replacement forGET /v2/portal/public-widgets
- New
taskenum value added togroup_by.fieldon Kanban boards (alongside existingcontext_entityandphase)
- New
GET /v2/organization/feature-settingsendpoint added for retrieving feature flag metadata for the organization UI
- New
search_snippetsandtemplates_output_highlightedoptional fields added to entity search responses, providing highlighted text snippets for matched fields - New
highlightboolean option added to entity search requests to enable search result highlighting
- New monitoring v2 endpoints:
POST /v2/integrations/{integrationId}/monitoring/events,POST /v2/integrations/{integrationId}/monitoring/stats,POST /v2/integrations/{integrationId}/monitoring/time-series,GET /v2/integrations/{integrationId}/monitoring/events/{eventId}/associated - New type generation endpoints:
POST /v1/integrations/{integrationId}/generate-types-preview,POST /v1/integrations/{integrationId}/generate-types,POST /v1/integrations/{integrationId}/commit-types— for generating and committing TypeScript type definitions from managed call use cases - New
type_annotationsandtypes_lockedfields added to managed call use cases
- New spam management endpoints added:
POST /v1/message/messages/{id}/spam,POST /v1/message/messages/{id}/unspam,POST /v1/message/threads/{id}/spam,POST /v1/message/threads/{id}/unspam - New
spamcount field added to theGET /v1/message/messages/unread/{actor}response
- New
exclude_typesquery parameter added to the taxonomy classification search endpoint, allowing specific entity types to be excluded from results
- New
partneroptional field added to workflow steps (v1 definitions) and tasks (v2 flow templates), providing partner-specific task display details (enabled,label,description) for partner org users
- New
GET /v1/public/app/{appId}/proxy/{proxyName}/{path}andPOST /v1/public/app/{appId}/proxy/{proxyName}/{path}endpoints added for routing requests through a named API proxy configured on the app
- New
POST /v1/entity/schemas/{slug}/freezeandPOST /v1/entity/schemas/{slug}/unfreezeendpoints added for managing schema version lifecycle - New
frozenandlatestboolean fields added to schema responses;draftfield is now deprecated - New
frozen_versionfield added to schema versions response;unpublishedquery parameter deprecated in favour of the newlatestparameter
- New
POST /v2/flows/executions/{execution_id}/tasks/{task_id}/schedule/run-nowendpoint added — cancels the pending schedule for a task and immediately triggers its automation execution
- New
GET /v3/portal/widgetsandPOST /v3/portal/widgetsendpoints added for managing portal widgets (v3) - New
POST /v3/portal/portal/filesendpoint added for uploading files in the portal context
- New MS Teams channel endpoints added:
POST /v2/channels/msteams/connect,POST /v2/channels/msteams/disconnect,GET /v2/channels/msteams/status - New
teams_enabledboolean field added to the Outlook connection status response
- New
group_byfield added to Kanban board configuration, enabling tasks to be grouped within each swimlane; supportscontext_entity,phase, andtaskgrouping options - New
group_byfield added toPOST /v1/kanban/query/flows:executerequest for grouping task query results
- New
domainparameter accepted as an alternative toportal_idacross most public portal endpoints, allowing portal identification by domain name - New
portal_idfield added to portal page objects in responses
- New
meterentity object added to the event payload, containing meter details associated with the simulation request
- New optional
secure_proxyfield added to all portal extension hook types (viaPortalExtensionSecureProxyschema), routing hook HTTP requests through a VPC secure proxy
- New
portal_idparameter added to the admin login-as-user endpoint - New
evaluate_targetingboolean field added to the page interpolation request - Deprecated endpoints:
GET /v2/portal/contract,POST /v2/portal/opportunities/search,GET /v2/portal/opportunities/searchable-attributes,GET /v2/portal/opportunity,GET /v2/portal/order,GET /v2/portal/request
max_iterationsmaximum for decision task loop configuration increased from 10 to 100
- New
GET /v2/entity/schemasendpoint added, supportingfull,unpublished,exclude, andincludequery parameters for flexible schema retrieval - New
includefilter parameter added toGET /v1/entity/schemas - New
_summaryboolean field added to schema response objects, indicating whether the schema is returned as a truncated summary
- New
secure_proxyuse case type introduced across all use-case endpoints - New
GET /v1/integrations/secure-proxiesendpoint lists all secure proxy use cases across integrations - New
POST /v1/secure-proxyendpoint proxies HTTP requests through a VPC tunnel using a configured secure proxy use case
- New optional
secureProxyobject added to webhook configuration — routes webhook HTTP requests through the VPC secure proxy; requiresintegration_idanduse_case_slugreferencing a configured ERP integration secure proxy use case
- New
POST /v2/blueprint-manifest/blueprints:publishendpoint added for publishing a blueprint to the marketplace - New
GET /v2/blueprint-manifest/marketplace/slugsendpoint added for listing available marketplace slugs from the Webflow CMS
- New
InvoiceSimulationRequestedevent type introduced with fields:meter_reading_value,meter_reading_date,customer_number,debitor_number,billing_group, and an embeddedcontractentity reference
- New
portal_previewtoken type added, enabling tokens scoped for portal preview sessions - New
portal_user_idfield added toAccessTokenItemresponses
- Breaking: Several fields in
ExternalCatalogPortalRequestcontract context changed type:installment_amountchanged from{value, currency}object tonumber;balancechanged from{value, currency}object tonumber;customerchanged from an array to a single object;delivery_addresschanged from a single object to an array
POST /v1/submission/submissionsnow returns a response body containing asubmission_idstring (previously returned201 Createdwith no body)- Error responses (400, 401, 403, 500) are now documented for the submission creation endpoint
- New
invoice_numberstring field added to thebilling_evententity schema
- New
POST /v1/message/threads/bulk:moveendpoint added for moving multiple threads to a different inbox in a single request - New
POST /v1/message/threads/bulk:assignendpoint added for bulk-assigning multiple threads - New optional
assign_toandinbox_idfields added to the bulk read/unread request payload
- New
POST /v1/genai/search/query:generateendpoint added — generates an AI-optimized Elasticsearch Lucene query from natural language input; acceptsinput,schemas, andlocalein the request; returnsquery,confidence, andintentin the response
- New
oauth2_passwordauth type added to file proxy use case authentication configuration, withusernameandpasswordcredential fields
- New optional
version_onlyquery parameter added toPOST /v1/filesandPOST /v2/files— whentrue, creates a new file version without overwriting top-level entity metadata POST /v2/filesnow accepts an array of up to 20BatchSaveFileVersionPayloadobjects whenversion_only=true, enabling batch version saves in a single request
- New
PRODUCT_RECOMMENDATIONS_WIDGETwidget type was added; the newProductRecommendationsWidgetschema (extendingTeaserWidgetwith acampaign_idfield) is now available across theGET /v2/portal/widgets,GET /v2/portal/public-widgets, andPOST /v2/portal/widgetsendpoints
- Breaking: The
catalog_typeenum values onPOST /integration/external-servicewere renamed:products→productandproducts-recommendation→product-recommendations; the corresponding response schema was also renamed fromExternalCatalogProductsRecommendationResponsetoExternalCatalogProductRecommendationsResponse - Breaking: The
POST /v1/public/integration/{integrationId}/products-recommendationandPOST /v1/public/external-catalog/products-recommendationendpoints were renamed toproduct-recommendations; new endpoints at the updated paths are now available - Breaking: The
couponsfield in external catalog responses changed from an array to a single object - New optional
before_discount_amount_subtotalfields added to pricing line item responses postal_codeis no longer a required field in availability filter requests
- New
GET /v1/message/messages/{id}/emlendpoint was added, returning a302redirect to a pre-signed URL for downloading the message as an EML file - New optional
complete_threadfield was added to message creation and draft endpoints (POST /v1/message/messages,POST /v1/message/drafts), marking the thread as Done immediately after the message is sent
- New
POST /v2/blueprint-manifest/blueprints/{blueprint_id}:format-descriptionendpoint was added, which formats a blueprint description as markdown using AI (accepts atextfield, returnsmarkdown) - Breaking:
compatible_appsfield was removed fromMarketplaceBlueprintand replaced byrecommended_appsacross all blueprint endpoints - New optional fields
docs_url,recommended_apps,required_features, andzip_file_namewere added to all blueprint types (AppBlueprint,CustomBlueprint,DeployedBlueprint,FileBlueprint,MarketplaceBlueprint)
- New
GET /v2/flows/templates/{flowId}/exportendpoint was added, exporting a flow template with all referenced automations resolved and bundled - New
POST /v2/flows/templates/importendpoint was added, importing a flow template from an export payload and creating all referenced automations in the caller's organization - Two new
due_date_config/typeenum values were added to flow templates:A_PRECEDING_TASK_COMPLETEDandALL_PRECEDING_TASKS_COMPLETED, enabling task and phase due dates to be relative to predecessor task completion; affects all/v2/flows/templatesendpoints
- The
assigned_tofield on executions, phases, and tasks now accepts variable assignment objects ({ variable, value }) in addition to plain user ID strings, enabling dynamic assignee resolution during workflow execution; affectsPOST /v2/flows/executions,GETandPATCH /v2/flows/executions/{execution_id},PATCH /v2/flows/executions/{execution_id}/phases/{phase_id}, and task creation/update endpoints
- New passkey authentication and management endpoints were added:
POST /v2/users/public/passkeys:authenticateBeginand:authenticateBeginDiscoverablestart a WebAuthn authentication flow;POST /v2/users/public/passkeys:resolveCredentialresolves user identity from a discoverable assertion;POST /v2/users/me/passkeys:registerBeginand:registerCompletehandle passkey registration;GET /v2/users/me/passkeyslists registered passkeys;DELETE /v2/users/me/passkeys/{credentialId}removes a passkey - New
passkey_enabledboolean field was added toLoginParametersresponses, indicating whether passkey login is available for the organization
- Breaking: The
requires_vpcfield in File Proxy use-case configuration is now read-only after creation — it can no longer be set or updated via the API; affectsPOST /v1/integrations/{integrationId}/use-cases,PUT /v1/integrations/{integrationId}/use-cases/{useCaseId}, and their v2 equivalents
PhaseMarkedInProgressandPhaseSkippedentity sync trigger event values were re-added to flow templates (reverting the 2026-02-23 removal) — affects all/v2/flows/templatesendpoints
PhaseMarkedInProgressandPhaseSkippedentity sync trigger event values were re-added to execution responses (reverting the 2026-02-23 removal);TaskMarkedOnHoldentity sync trigger event value was also added — affectsPOST /v2/flows/executions,GET /v2/flows/executions/{execution_id},PATCH /v2/flows/executions/{execution_id}, andPOST /v2/flows/executions:search
- New
last_usedfield was added to access token responses, indicating the date the token was last used (YYYY-MM-DDformat, 1-day accuracy); available inGET /v1/access-tokens,POST /v1/access-tokens, andDELETE /v1/access-tokens/{id}responses
- Breaking:
booking_date(date) is now a required field when creating or updating billing events — affectsPOST /v1/billing/eventsandPATCH /v1/billing/events/{id} - Breaking:
due_dateonInstallmentEventchanged fromdate-timetodateformat - Six new billing event types were added to the
BillingEventunion:payment,dunning_fee,final_bill,bonus,correction, andcustom— clients parsing event responses should handle these new variants - New optional fields were added to all billing event types:
direction(debit/credit),status(open/closed),related_event,external_link,attachments,note, andinternal_note
- New
CUSTOM_PAGEapp component type was added — the newCustomPageComponentschema includes a requiredslugfield (URL route, e.g."zapier") and optionalnav_label,nav_icon, andnav_descriptionnavigation fields; supported across all app and app-configuration endpoints
- New
POST /v1/genai/entity/{slug}/{entity_id}/summaryendpoint was added to generate AI summaries for entities, streaming the response viatext/event-stream; supports optionallanguage(de/en),variant(short/detailed/action_points), andcurrent_summaryparameters
- Automation triggers and tasks in flow templates now support inline configuration: new optional
trigger_configarray onAutomationTriggerand new optionalaction_configobject onAutomationTask.automation_configallow automation flows to be created or updated in place without a pre-existing ID —automation_idon triggers andflow_idon automation configs are now optional; affects all/v2/flows/templatesendpoints
- Breaking:
payloadfield on event update endpoints now enforces stricter validation — string payloads requireminLength: 2and object payloads requireminProperties: 1; affectsPOST /v1/erp/updates/events,POST /v2/erp/updates/events, andPOST /v3/erp/updates/events - New
warningsarray was added to mapping simulation responses (POST /v1/erp/updates/mapping_simulation,POST /v2/erp/updates/mapping_simulation), reporting validation issues about the configuration such as unique ID fields referencing non-indexed attributes
- New
POST /v2/message/threads/{id}/assign:usersendpoint was added, allowing users to be added or removed from a message thread
PhaseMarkedInProgressandPhaseSkippedenum values were removed from thetrigger/eventfield in entity sync responses — affectsPOST /v2/flows/executions,GET /v2/flows/executions/{execution_id},PATCH /v2/flows/executions/{execution_id}, andPOST /v2/flows/executions:search
PhaseMarkedInProgressandPhaseSkippedenum values were removed from theentity_sync/trigger/eventfield across all flow template endpoints — affects request body ofPOSTandPUT /v2/flows/templates/{flowId}, and responses ofGET,POST,PUT /v2/flows/templates,POST /v2/flows/templates:search- New
TaskMarkedOnHoldtrigger event value was added toentity_sync/trigger/event, enabling entity sync rules to fire when a task is placed on hold
- New
allowed_portal_entitiesfield was added to portal config request and response schemas — accepts an array of entity slugs (e.g.,contact,contract) to restrict which entity types are accessible in the portal; available across all v2 and v3 portal config endpoints
- New
assign-threadautomation action type was added —AssignThreadActionandAssignThreadConfigschemas allow automations to add or remove assignees from message threads
- New
me_lo_idfield was added for storing the MeLo-ID (Messlokation) measurement location identifier
- New optional
archivedquery parameter was added toGET /v2/blueprint-manifest/blueprintsto filter by archived status - New optional
archivedfield was added to blueprint objects, indicating whether a blueprint is soft-deleted and hidden from the main list
- New
tableschema attribute type was added
- Integration create/update/get response schemas restructured — fields now composed via
allOf[IntegrationEditableFields]; SDK consumers should regenerate types settings.autoRefresh.minIntervalBetweenSyncsMinuteswas removed from integration settings
- New
TariffChangeevent was introduced - New
OrderSubmissionevent was introduced
- New
file_proxyuse case type was added —FileProxyUseCaseis now a valid variant alongsideInboundUseCase/OutboundUseCase - New optional
settingsobject was added to integration create/update/get endpoints
- New
filterConditionsfield was added to webhook configs, allowing event delivery to be filtered by conditions
- New
EntitySlugConfigsupport was added to entity search — accepts per-slug configuration objects withslug,targets, andtemplates - New
includeparameter was added to entity search to side-load enrichment data (supportsactive_workflow) - New
advanced_authenticationandtimeoutssettings were added to cognito config - New
show_in_navigationfield was added to page configuration
assigned_tofield type changed from plain string tooneOf[string, VariableAssignment]— unlocks dynamic variable-based assignment
POST /v2/metering/readingsrequest now uses a discriminated union on theoperationfield (CreateOrUpdateBatchReadingorDeleteBatchReading)
- New
additional_triggersfield was added to flow templates, enabling multiple trigger configurations per flow
- New
POST /v1/integrations/{integrationId}/monitoring/timeseriesendpoint was added for querying time-series event counts
POST /v1/erp/updates/events(v1) andPOST /v2/erp/updates/events(v2) are now deprecated — migrate toPOST /v3/erp/updates/events- New
ignoredandwarningstatus values were added to event processing and monitoring responses
GET /v1/webhooks/.well-known/public-keyendpoint was reactivated with a new requiredorgIdquery parameter
- New
POST /v3/erp/updates/eventsendpoint was added — v3 event processing using integration-based authentication - Breaking:
reverse-relationswas removed fromscope_modeenum in inbound use case entity scope
- New
signingSecretfield was added to webhook config responses (returned once at creation time)
- New
GET /v2/outlook/connection:resolveendpoint was added to look up an Outlook connection by email address
- Breaking:
POST /v1/entity/taxonomies/{taxonomySlug}/classifications—deletedresponse type changed fromobjecttoarray
- New
GET /v2/portal/entity/{slug}/{id}/workflowsendpoint was added
- New
couponsrelation was added
- New
couponsfield was added to order responses - New
portalorigin type was added to external catalog requests - New
PortalContextwas added as a valid context type for external catalog integration requests
- New
NewEmailThreadTriggertrigger type was added to automation flows
- New
GET /v2/query/semantic-modelendpoint was added, returning available entity tables, relationships, and query capabilities
- New
assetsrelation was added
- New
opportunitiesandcontractsrelations were added
- New
excludequery parameter was added toGET /v1/entity/schemasfor excluding schemas by slug POST /v1/entity:graphnow returnsnullforcardinality="one"nodes when no entity is found
- New
PUT /v2/portal/notifications/entity:statusendpoint was added for batch-updating notification status
- New
NONEauth type was added, allowing webhook endpoints using standard signature auth only
- New
OnDemandSyncContractRequestedevent was introduced - New
OnDemandSyncCustomerRequestedevent was introduced MeterReadingAddedevent payload restructured — singlereading_value/obis_number/directionfields replaced bymeter_readingsarray supporting multiple counters per submission
- Monitoring endpoints split —
POST .../monitoring/eventsreplaced by separatePOST .../monitoring/inbound-eventsandPOST .../monitoring/outbound-eventsendpoints - Monitoring stats response restructured — flat fields replaced by
inboundandoutboundsub-objects
- New
GET /v2/portal/metering/reading/allowed-range/{meter_id}endpoint was added
- New required
_ack_idfield was added to all event payloads for delivery acknowledgement tracking
- New
POST /v2/partners/{orgId}/rolesandPUT /v2/partners/{orgId}/roles/{roleId}endpoints were added for partner role management
- New
GET /v1/integrations/{integrationId}/outbound-statusendpoint was added event_catalog_eventandmappingsare now required fields onOutboundUseCaseconfiguration
- New
POST /v1/integrations/{integrationId}/monitoring/access-logsendpoint was added for API access log analytics
- New
message_email_addressattribute type andattribute_sub_fieldwere added to decision task conditions
- Payload restructured — single reading fields replaced by
meter_readingsarray;reason/noteremoved;counter_id,direction,status,reading_sourceadded;meter_counterreplaced bymeter_countersarray
- New
POST /v2/user/navigationsandGET /v2/user/navigations/{id}endpoints were added for navigation configurations
- New
POST .../monitoring/eventsandPOST .../monitoring/statsendpoints were added for integration monitoring
- New Microsoft 365/Outlook integration endpoints were added: connect, disconnect, connection status, shared mailbox management, and OAuth callback
- New
POST /v1/public/external-catalog/productsandPOST /v1/public/external-catalog/products-recommendationpublic endpoints were added
- New
TriggerEventActionaction type was added for explicitly triggering event catalog events from automation flows
- New
parent_rolefield was added to user roles, allowing inheritance from a parent role
- New
notification_templateentity was introduced
operation,activity_id,activity_type, andtrigger_entityfields were removed from event payloads
- New
AI_AGENTtask type was added withAiAgentTaskschema
- New
_trigger_source_typeand_trigger_sourcefields were added to all event payloads, identifying the system and source that triggered each event
- New
POST /v1/notification/templates/send-previewendpoint was added
- New notification template CRUD endpoints were added: list, create, get, update, patch, and delete
- New v2 integration endpoints were added:
GET/PUT/DELETE /v2/integrations/{integrationId}— v2 integrations embed use cases directly in the response jsonataExpressionin meter reading configuration is now optional (previously required)
- New
CustomerDetailsUpdatedevent was introduced - New
ServiceMeterReadingAddedevent was introduced
- Breaking:
related_entities_any_in_closed_or_cancelled_statusfilter type was removed
- New
GET /v2/blueprint-manifest/blueprints:preview/{preview_id}endpoint was added - Breaking:
POST /v2/blueprint-manifest/blueprints:pre-installresponse changed fromBlueprinttoBlueprintPreviewschema
- New v3 portal management endpoints were added: distribution config, email templates, entity access, extensions, external links, portal config, SSO login, user management, and CAA record validation
- New
BillingAccountConnectionRemovedevent was introduced - New
GeneralRequestCreatedevent was introduced - New
LocationMoveRequestedevent was introduced - New
TerminateContractRequestedevent was introduced
postal_codeis now required in availability location filter objects
- New
PUT /v1/kanban/org/default-boardandDELETE /v1/kanban/org/default-boardendpoints were added
- New
POST /v1/metering/readings/{meter_id}endpoint was added for portal-authenticated meter reading submissions
- New
POST /data-management/v1/configs/{config_id}/jobsendpoint was added to manually trigger job runs - New
GET /data-management/v1/jobs/{job_id}endpoint was added - New
related_entities_workflows_only_in_closed_or_cancelled_statusfilter type was added
- New Event Catalog API launched with endpoints to list events, retrieve configurations and schemas, generate sample payloads, update configuration, search event history, and trigger events
GET /v2/portal/user/filesandGET /v2/portal/user/files/count-by-entityare now deprecated
- New
GET /v2/blueprint-manifest/blueprints:marketplaceendpoint was added for listing installed marketplace blueprints
notefield was renamed toremarkon meter reading create and update operations
- New
locationentity was introduced with address, address_hash, and entity_relations properties
- New public external catalog endpoints were added for products and product recommendations
- External catalog context now supports
CustomContextalongsideJourneyContext
- Breaking: Meter reading
notefield was renamed toremark - New
detail_schemafield was added to page configuration
- New
self_registration_settingvalues were added:ALWAYS_CREATE_CONTACT,BLOCK_IF_PORTAL_USER_EXISTS,DISALLOW_COMPLETELY
- New endpoints were added: get config by ID, list jobs with filtering, and job report download URL
- Breaking:
lookback_period_monthswas replaced bylookback_period_days emailentity type was replaced bymessageinrelations_for_deletion
meter_idis now optional (deprecated) on consumption, costs, and prices endpoints- New
context_entitiesparameter was added as a replacement
- New
POST /v1/integrations/{integrationId}/events/replayendpoint was added - Use case responses now include required top-level fields:
id,name,type,enabled,integrationId,created_at,updated_at
- Breaking: Schedule schema simplified from daily/weekly/monthly variants to a single interval-based schedule with
frequencyandinterval_days
- New
assignment_modefield was added to contract identification hook configuration - New
EntityMatchingConfigwas added to SSO identity provider configuration
taxfield onPricechanged from an untyped schema to aBaseRelationreference$relationfields on coupon, price, product, and tax resources are now required
- New
DELETE /v2/flows/executions/{execution_id}/tasks/{task_id}/scheduleendpoint was added to cancel scheduled tasks
rateproperty type changed fromstringtonumber
- Multiple deprecated folder and collection endpoints were removed
- New
json_templatefield was added to template create, update, and response schemas
- New
PaymentMethodUpdatedevent was introduced - New
BillingAddressUpdatedevent was introduced
- New
POST /v1/integrations/{integrationId}/eventsendpoint was added for querying integration events
- New
InstallmentUpdatedevent was introduced - New
MeterReadingAddedevent was introduced
- New
GET /data-management/v1/configsandPOST /data-management/v1/{entity_schema}/configsendpoints were added
- Breaking: IBAN validation endpoint moved from
POST /v1/iban:validatetoPOST /v1/public/iban:validate
- New
POST /v2/erp/updates/mapping_simulationendpoint was added for v2 mapping format simulation - New
_append_alloperation andrelation_refsfield were added to use case field configuration
- Breaking: Use case create/update request body changed to a discriminated union (
CreateInboundUseCaseRequest | CreateOutboundUseCaseRequest) - New
GET .../use-cases/{useCaseId}/historyendpoint was added for use case configuration history
- New
POST /v1/webhooks/configs/{configId}/events/replay-batchendpoint was added for batch event replay GET /v1/webhooks/configs/{configId}/eventswas deprecated
- New
POST /v2/erp/updates/eventsendpoint was added — v2 event processing usingintegration_id - New
PUT/DELETE /v1/integrations/{integrationId}/app-mappingendpoints were added UseCaseschema split intoInboundUseCaseandOutboundUseCasediscriminated variants
- New
POST /data-management/v1/{entity_schema}/queryendpoint was added
- New
POST /v2/template:replaceendpoint was added, preserving original data types instead of stringifying
- New
ON_HOLDstatus value was added to step and task status enum update_entity_attributeswas replaced byentity_syncwith a richer schema including typed trigger events
- New
POST /v3/portal/partner/{id}/disableandPOST /v3/portal/partner/{id}/enableendpoints were added USER_ACCOUNT_SELF_MANAGEMENTwas removed fromself_registration_settingenum and replaced by a dedicated boolean
- New partner user management endpoints were added: list users, create user, delete user, list roles, assign/unassign roles
- New
POST /v1/genai/erp/mapping:generateendpoint was added for AI-generated ERP mapping configurations
- New File Collections API was introduced with CRUD endpoints, replacing the deprecated File Folders API
- New slug-based collection endpoints were added alongside entity-based endpoints
- New
POST /v1/public/integration/{integrationId}/products-recommendationendpoint was added
- Breaking:
catalog_typefield is now required in the request context - Response body changed from a plain array to a discriminated union based on
catalog_type
- New
POST /v1/entity:graphendpoint was added for traversing entity relationship graphs with configurable node schemas, edges, and cardinality
- Breaking:
app_id,hook_id, andextension_idfields are now required in extension hook configuration (previously optional)
- New
representsrelation was added
represents_contactrelation was removed
dayswas added as a billing duration unit across all duration fields (billing, notice, renewal, termination)
titlewas renamed toticket_titlenumberwas renamed toticket_number
created_byfield changed from a plain string/number ID to a structured object withtype,user_id,display_name, and other fields
- New
revert_executionoption was added to task patch — resets succeeding tasks to PENDING when updating a previous task
- New
reference_dateparameter was added to compute-price requests taxfield type changed from a free-form object to aTaxschema reference
- Three deprecated v1 failure endpoints were removed
- New
logicsV4field was added, supporting a more expressive logic rule format with per-rule IDs, conditions, actions, and settings
- New Integration management CRUD endpoints were added:
GET/POST/PUT/DELETE /v1/integrations - New Use Case management CRUD endpoints were added:
GET/POST/PUT/DELETE /v1/integrations/{id}/use-cases
- New
assetentity was introduced with properties including title, serial number, manufacturer, model, maintenance dates, and relations to customer, contract, meter, and ticket
payloadfield in event processing and mapping simulation now accepts a JSON object directly (previously only serialised strings)
- New partner management endpoints were added: invite, list, resend invitation, and revoke
- New
POST /v2/portal/entity:getendpoint was added for retrieving a single entity by ID
- Breaking: Enum constraints on the
schemafield in page configuration were removed — now accepts any string slug
- New
external_idproperty was added to Contact, Contract, Billing Account, Meter, and Meter Counter entities
billing_addressfield type changed from a relation reference to an inline address objectpayment_methoditems restructured to include a typedtypeenum and structureddataobject
- New
GET /v2/email-settings/inbox-bucketsendpoint was added
- New
POST /v2/webhooks/configs/{configId}/eventsendpoint was added for listing and filtering webhook events
- New
POST /v1/message/threads/{id}:moveendpoint was added for moving threads between inboxes
- v2 mapping format support was added to mapping simulation with
eventsmapping object - Relation
operationfield restricted to enum values_setand_append
- New
entity_existsandentity_does_not_existcondition operations were added
- New
POST /v1/erp/updates/mapping_simulationendpoint was added for dry-running payload transformations
- New
GET /v1/genai/entity/{slug}/{entity_id}/summaryendpoint was added for retrieving AI-generated entity summaries
- New
deduplication_idfield was added to event payloads for idempotency control - New
skippedstatus was added for deduplicated events
- New
GET /v2/portal/billing/accounts/{id}endpoint was added
- Breaking:
contractsandfilters_schemawere removed from entity search request; replaced byfilters_context
- All v1 blueprint manifest endpoints were deprecated in favor of v2
- New
JourneyAutomationTriggerwas added for journey-based automation triggers on flow templates
- Breaking:
END_CUSTOMER_PORTALandINSTALLER_PORTALenum values were removed from theoriginparameter — now accepts any string - New
POST /v3/portal/config/swapendpoint was added
- New email address management endpoints were added: list, create, get, update, delete, provision, and set primary