Skip to content
REST API

Send a test event

POST
/webhooks/{webhookId}/test

Queues a webhook.test event for this webhook, whatever events it subscribes to, and returns the delivery. It goes out within about a minute, signed like any other event, and is attempted once: a test that fails is not retried and does not count toward disabling the webhook. Read its outcome with GET /webhooks/{webhookId}/deliveries. A webhook has at most one pending test; send the next once that one's attempt finishes.

Required scopes: webhooks:manage

Authorization

AuthorizationBearer <token>

In: header

Path Parameters

webhookId*string

Webhook id, scoped to the key's user.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid

Header Parameters

Idempotency-Key?string

A client-generated key (1 to 255 visible ASCII characters) that makes this POST safe to retry. A retry with the same key and body replays the original response; the same key with a different body returns 409 idempotency_conflict. Stored for 24 hours.

Match^[\x21-\x7E]{1,255}$
Length1 <= length <= 255

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08/test"
{  "data": {    "id": "6a7b8c9d-0e1f-4a2b-8c3d-4e5f6a7b8c9d",    "eventType": "webhook.test",    "status": "pending",    "attempts": 0,    "lastStatus": null,    "lastError": null,    "createdAt": "2026-02-01T12:00:00.000Z",    "nextAttemptAt": "2026-02-01T12:00:00.000Z",    "deliveredAt": null  }}