GET
/
v1
/
sync
/
events
curl "https://v2.app-dev.zquence.com/v1/sync/events?since=2026-08-25T00:00:00.000Z&limit=100" \
  -H "x-api-key: $ZQUENCE_PUBLIC_KEY" \
  -H "x-api-secret: $ZQUENCE_SECRET_KEY"
{
  "items": [
    {
      "_id": "6ae4a0b2c83d8f6cbb000001",
      "tenantId": "tenant_123",
      "environmentId": "69f9b5fa0600ccbf9c677005",
      "environmentType": "live",
      "eventId": "evt_0d48d5038ad74117a7f6ed1eb1e943de",
      "eventType": "account.deleted",
      "resourceType": "account",
      "resourceId": "6a25cdcc36bc6230704b5bce",
      "occurredAt": "2026-08-25T00:15:03.214Z",
      "payload": {
        "id": "evt_0d48d5038ad74117a7f6ed1eb1e943de",
        "type": "account.deleted",
        "tenantId": "tenant_123",
        "environmentId": "69f9b5fa0600ccbf9c677005",
        "environmentType": "live",
        "data": {
          "accountId": "6a25cdcc36bc6230704b5bce"
        },
        "createdAt": "2026-08-25T00:15:03.214Z"
      }
    }
  ],
  "nextCursor": null,
  "hasMore": false,
  "limit": 100
}
Requires API-key scope sync.read and tenant permission webhook.view. Use this endpoint as the API-only recovery path for webhook events. Zquence records each emitted event in a tenant-regional sync ledger before webhook endpoint matching or delivery decisions. That means the event can be polled even when no webhook endpoint exists, webhook delivery is disabled, or the receiver missed the original delivery.
Delivery logs are endpoint delivery diagnostics. Sync events are endpoint-independent event records for catch-up and reconciliation.
Results are ordered oldest first by event time. Store nextCursor after each successful page and pass it back as cursor on the next poll.

Query parameters

cursor
string
Opaque cursor returned as nextCursor from a previous response.
since
string
ISO 8601 timestamp. Used only when cursor is not provided. Returns events whose event time is on or after this value.
eventType
string
Exact webhook event type, such as account.created, kyc.submitted, or contract.issued.
resourceType
string
Filter by inferred resource family. Current values include account, account_document, account_source, account_case, kyc, tenant_user_invite, sanctions, and contract.
resourceId
string
Filter by inferred resource identifier for the selected resource family.
environmentId
string
Filter to a specific environment. By default, API keys read their resolved environment. Pass all to read across all tenant environments.
limit
integer
default:"100"
Number of events to return. Minimum 1, maximum 250.

Returns

items
array
Ordered sync event records.
nextCursor
string | null
Cursor for the next page, or null when there are no more events.
hasMore
boolean
true when another page is available.
limit
number
Page size used for this response.
Each item includes:
eventId
string
Stable event ID. This matches payload.id and should be used for deduplication.
eventType
string
Webhook event type, such as account.created.
payload
object
Original webhook event envelope with id, type, tenantId, optional environment fields, data, and createdAt.
resourceType
string | null
Inferred resource family when available.
resourceId
string | null
Inferred resource identifier when available.
occurredAt
string
ISO 8601 event timestamp used for ordering.

Error codes

StatusMeaning
400Missing tenant context, invalid since, or invalid cursor.
401Missing or invalid API key pair.
403Caller does not have sync.read scope or webhook.view permission.
curl "https://v2.app-dev.zquence.com/v1/sync/events?since=2026-08-25T00:00:00.000Z&limit=100" \
  -H "x-api-key: $ZQUENCE_PUBLIC_KEY" \
  -H "x-api-secret: $ZQUENCE_SECRET_KEY"
{
  "items": [
    {
      "_id": "6ae4a0b2c83d8f6cbb000001",
      "tenantId": "tenant_123",
      "environmentId": "69f9b5fa0600ccbf9c677005",
      "environmentType": "live",
      "eventId": "evt_0d48d5038ad74117a7f6ed1eb1e943de",
      "eventType": "account.deleted",
      "resourceType": "account",
      "resourceId": "6a25cdcc36bc6230704b5bce",
      "occurredAt": "2026-08-25T00:15:03.214Z",
      "payload": {
        "id": "evt_0d48d5038ad74117a7f6ed1eb1e943de",
        "type": "account.deleted",
        "tenantId": "tenant_123",
        "environmentId": "69f9b5fa0600ccbf9c677005",
        "environmentType": "live",
        "data": {
          "accountId": "6a25cdcc36bc6230704b5bce"
        },
        "createdAt": "2026-08-25T00:15:03.214Z"
      }
    }
  ],
  "nextCursor": null,
  "hasMore": false,
  "limit": 100
}