/webhooks/{webhookId}/rotate-secretA new signing secret, shown once. With graceHours 24, deliveries are signed with both secrets for a day, so your receiver can switch over.
collector.rotateMyWebhookSecret()webhooks:writeIdempotency-KeyX-Request-IdwebhookIdstring (uuid)requiredgraceHours"0" or "24"Keep signing with the old secret too for this many hours, so your receiver can switch over.
default 0
Option 1: "0"
Option 2: "24"
201CreatedThe webhook and its new secret (shown once).
A webhook just made, or its secret just rotated: the only time the secret is shown.
secretstringrequiredThe signing secret (whsec_…). Store it now: it can’t be shown again. Verify each delivery with it.
invalid_requestinvalid_jsoninvalid_idempotency_key
invalid_request: The query or body doesn’t match the schema (see errors[]).
invalid_json: The body isn’t JSON.
invalid_idempotency_key: The Idempotency-Key isn’t 1–255 visible ASCII characters.
unauthorized: Not signed in (no session or token, or an expired one).
not_found: Nothing at that address.
idempotency_in_progress: The first request with this key is still running.
payload_too_large: The body is over 1,048,576 bytes, this operation’s limit.
idempotency_key_reused: This key was used for a different request.
rate_limitedtemporarily_blocked
rate_limited: Over the caller’s limit: the per-minute burst or the per-day quota (RateLimit headers; wait Retry-After seconds).
temporarily_blocked: Too many refused requests in a row: blocked for a while (Retry-After says how long).
internal: Something went wrong on our side (quote the requestId).