API reference · Webhooks
Webhook test
webhook.testSnapcaster sends this event when your integration calls POST /webhooks/test, and at no other time. It reports no change: use it to check that your receiver is reachable, verifies the signature and answers 2xx. event_id is the one the call returned.
The envelope, signing and retries match order.created; see https://developers.snapcaster.ca/guide/webhook-signing. Every subscription, inventory, orders and both, can request it. Deduplicate by event_id.
Example
{
"event_id": "evt_5b0e7c2d9a4f41e8b3c6d1a07f2e9b58",
"type": "webhook.test",
"created_at": "2026-09-04T19:00:00.000Z",
"data": {
"seller_id": 42,
"platform_id": 7
},
"api_version": "2026-10"
}Signature headers
Snapcaster sends a POST to your webhook endpoint with these headers. Webhook signing shows how to verify them.
X-Snapcaster-Timestampstring requiredUnix seconds when the request was signed; reject if outside a ±5 minute window.
X-Snapcaster-Signaturestring requiredsha256=+ lowercase hex of HMAC_SHA256(signingSecret, timestamp ‖ raw request body).
Delivery payload
The signed webhook.test event.
Payload type: Webhook
Envelope fields
event_idstring requiredA globally unique event id that stays the same across retries. Use it to deduplicate deliveries (STABLE).
Example
evt_5b0e7c2d9a4f41e8b3c6d1a07f2e9b58typestring requiredThe event type (STABLE).
Constraints: allowed values:
webhook.testExamplewebhook.testcreated_atstring requiredISO-8601 UTC instant of the change the event reports; unchanged across retries (STABLE).
Example
2026-09-04T19:00:00.000ZdataWebhookrequiredTest Event Data The operation or event payload.
api_versionstring requiredThe dated API version used for this payload, frozen when Snapcaster queued the delivery. Changing the platform pin does not change queued events or retries; they keep the same version. See https://developers.snapcaster.ca/guide/api-versioning (STABLE).
Constraints: allowed values:
2026-10Example2026-10
Payload fields
data.integer requiredseller_id The seller whose API key asked for the test. Route the event by it as you route real ones (STABLE).
Example
42data.integer requiredplatform_id Your platform, which owns the webhook endpoint (STABLE).
Example
7
Receiver response
200 - Return any 2xx after verifying the event and durably accepting it. This event moves no stock, so its 2xx acknowledges no sale and leaves every stock hold as it was.