{
"id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"type": "subscription.entered",
"data": {
"subscription": {
"id": "<string>",
"name": "<string>",
"defined_on": "<string>"
},
"namespace": "<string>",
"document": {
"id": "<string>",
"incarnation": 1,
"revision": 1,
"updated_at": "2023-11-07T05:31:56Z"
},
"sequence": 1,
"url": "<string>",
"attributes": {},
"answers": {},
"job_id": "<string>",
"truncated": true
},
"test": true
}Subscriptionentered
A document started matching a subscription. It carries the included attributes and answers, as the get returns them.
{
"id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"type": "subscription.entered",
"data": {
"subscription": {
"id": "<string>",
"name": "<string>",
"defined_on": "<string>"
},
"namespace": "<string>",
"document": {
"id": "<string>",
"incarnation": 1,
"revision": 1,
"updated_at": "2023-11-07T05:31:56Z"
},
"sequence": 1,
"url": "<string>",
"attributes": {},
"answers": {},
"job_id": "<string>",
"truncated": true
},
"test": true
}Authorizations
An organization API key. Keys carry a role (read_write or
read_only) and may be restricted to a namespace prefix such as
acme/*, or to one namespace such as acme/prod/tenant_1. A prefix
matches on a / boundary: acme/prod/tenant_1* covers
acme/prod/tenant_1 and everything under acme/prod/tenant_1/,
never acme/prod/tenant_12.
Headers
The event's id. A retry, a redelivery or a replay repeats it, so dedupe on it.
Also the webhook-id header.
^evt_[0-9a-z]{26}$When this attempt was sent, in Unix seconds. Reject a request more than 5 minutes off your clock.
Space-separated signatures, each v1, and the base64 HMAC-SHA256 of
{webhook-id}.{webhook-timestamp}.{body}, keyed by the endpoint's
secret: the part after whsec_, base64-decoded. While a rotated
secret is still valid there is one signature per secret; accept the
request if any of them matches.
Body
Also the webhook-id header.
^evt_[0-9a-z]{26}$When the event was recorded.
A document that started matching (subscription.entered), and the
body of subscription.exited. It carries the included attributes
and answers, and those the filter reads, as the get returns them,
never state. The answers are fresh, or absent where the filter
tests absence. Past 64 KB they are dropped and truncated is true:
follow url.
Show child attributes
Show child attributes
True on every event a test send sends, webhook.test or a sample of a named type. Absent otherwise, and never in the feed.
Response
Received. Anything else, or no answer within 15 seconds, is retried.