API reference · Webhooks
Send a test event to your webhook endpoint
/webhooks/testQueues one signed webhook.test event to your platform's registered webhook endpoint, so you can check that your receiver accepts deliveries and verifies their signature. It is signed and retried exactly like a real event, works for every subscription and in every environment, and changes nothing: no order, no stock. Retrying with the same Idempotency-Key returns the same event_id and sends nothing more. A platform may send 5 test events every 60 seconds.
Example
These examples send requests to the sandbox.
curl --request POST \
--url 'https://api-sandbox.snapcaster.ca/api/v1/marketplace/webhooks/test' \
--header "Authorization: Bearer $MARKETPLACE_API_KEY" \
--header "Idempotency-Key: $(uuidgen)"$(uuidgen) makes a new Idempotency-Key each time you run the command. To retry a command after a lost response, send the key from the first attempt.
{
"success": true,
"data": {
"event_id": "evt_5b0e7c2d9a4f41e8b3c6d1a07f2e9b58"
}
}Endpoint
| Environment | URL |
|---|---|
| Sandbox | https://api-sandbox.snapcaster.ca/api/v1/marketplace |
| Production | https://api.snapcaster.ca/api/v1/marketplace |
marketplaceApiKey-http bearer. Send the seller's marketplace API key asAuthorization: Bearer mp_{sellerCode}_{hex}. Themp_{sellerCode}_prefix identifies the seller; the trailing hex is the secret. The seller generates the key and supplies it to your platform.
Request
Headers
Idempotency-Keystring requiredKeep this UUID when retrying the same order operation and body. Keys remain valid for the lifetime of the order. Changed contents return 409 IDEMPOTENCY_CONFLICT; a concurrent attempt returns 409 REQUEST_IN_PROGRESS with Retry-After.
Constraints: format: uuid Example
f04e4a96-3c99-44dc-abce-5b6862c589c9X-Snapcaster-Api-VersionstringOverride the platform pin for this request only. Webhook versions and the platform pin do not change.
Constraints: allowed values:
2026-10Example2026-10
Response
202
The test event is queued for your endpoint.
Response body: Webhook
successboolean requiredWhether the operation completed as requested.
Constraints: allowed values:
trueExampletruedataobject requiredThe operation or event payload.
Show child fieldsHide child fields
data.string requiredevent_id The
event_idthewebhook.testdelivery carries. The same key returns the same id (STABLE).Example
evt_5b0e7c2d9a4f41e8b3c6d1a07f2e9b58
Errors
Errors return a Marketplace body, except HTTP 500 (Api). Error codes explains both error bodies and lists every code.
400
INVALID_REQUESTIDEMPOTENCY_KEY_REQUIREDUNSUPPORTED_API_VERSIONInvalid command body or missing/invalid UUID Idempotency-Key. Unknown or retired API-version override (
UNSUPPORTED_API_VERSION).Do this: Correct the request fields and supply a UUID Idempotency-Key. Keep the same key when retrying the same command. For UNSUPPORTED_API_VERSION, choose a supported version from the API versioning guide.
401
UNAUTHORIZEDMissing or invalid marketplace API key (
UNAUTHORIZED).Do this: Send the marketplace API key for this seller as a Bearer token, then retry.
409
WEBHOOK_ENDPOINT_NOT_REGISTEREDYour platform has no webhook endpoint registered, so there is nowhere to send the test.
Do this: Ask Snapcaster to register your receiver URL and signing secret for this environment, then retry.
429
RATE_LIMITEDMore than 5 test events in the last 60 seconds for this platform (
RATE_LIMITED).Do this: Wait the Retry-After duration in seconds, then retry.
500
INTERNAL_ERRORAn unexpected failure (
INTERNAL_ERROR).Do this: Retry with bounded retries and jitter. If the failure persists, contact Snapcaster with the X-Correlation-ID response header.