Entity Versioning & Audit API
Overview
A cross-cutting capability, not tied to a single resource: retrieve the version history of any versioned entity, fetch one specific historical version, or list soft-deleted records for a given entity type. This applies across most resources documented elsewhere in this reference — email templates, campaigns, forms, pages documents, journeys, webhooks, and more.
Authentication
All endpoints require API key authentication:
X-API-Key: your-api-key-here
Supported entity types
The entityType parameter accepts one of:
ai_assistant, ai_thread, ai_vector_index, business_unit, tenant_membership, business_unit_grant, email_settings, email_template, email_template_snippet, form, form_theme, form_submission, marketing_audience, marketing_list, marketing_campaign, marketing_email, marketing_email_sending_job, marketing_subscriber, pages_document_model, pages_slice_model, pages_document, pages_project_metadata, pages_url_redirect, pages_site_settings, user_journey, user_journey_state, webhook.
Get entity version history
GET /api/entity/versions
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
entityType | string | Yes | One of the supported entity types above. |
entitySortKey | string | Yes | The entity's sort key (typically its id or code). |
Example response
[
{
"version": 1,
"timestamp": "2026-01-01T00:00:00.000Z",
"data": { "name": "Newsletter Signup", "active": true }
},
{
"version": 2,
"timestamp": "2026-01-15T09:30:00.000Z",
"data": { "name": "Newsletter Signup (v2)", "active": true }
}
]
Get a specific version
GET /api/entity/versions/{version}
version is a path parameter (the version number). entityType and entitySortKey are required query parameters, as above.
Example response
{
"version": 1,
"timestamp": "2026-01-01T00:00:00.000Z",
"data": { "name": "Newsletter Signup", "active": true }
}
Get deleted records
GET /api/entity/deleted-records
Lists soft-deleted records for recovery or audit purposes.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
entityType | string | Yes | One of the supported entity types above. |
Example response
[
{
"pk": "acme-co#form#DELETED",
"sk": "form_Xk9mNp2Q",
"entity": { "code": "form_Xk9mNp2Q", "name": "Old Signup Form" },
"timestamp": "2026-02-01T12:00:00.000Z"
}
]
pk follows the format tenantCode#entityType#UPDATED or tenantCode#entityType#DELETED; sk follows entitySortKey#VERSION-{versionNumber} for updates, or plainly entitySortKey for deletes.
Related
- Pages & Documents API — several supported entity types above (
pages_document,pages_document_model,pages_slice_model,pages_project_metadata,pages_url_redirect,pages_site_settings) belong to this resource. - Business Units API — covers the
business_unit,tenant_membership, andbusiness_unit_grantentity types. - Webhooks API and Journeys API — cover the
webhookanduser_journey/user_journey_stateentity types respectively.