Skip to main content
POST
Issue a new signing secret for an existing webhook endpoint. Mirrors POST /keys/{id}/rotate: row identity (id, url, events, is_active, created_at) is preserved; only the secret changes. updated_at advances. The new plaintext secret is returned in full exactly once — read it before the response goes out the door, because subsequent reads omit it. The old secret stops working the instant this commits. Tenants should orchestrate the cutover the same way as API keys: deploy the new secret to the receiver before calling this, OR tolerate a brief window of failed-signature deliveries. Delivery history (success / failure / retry rows) is unchanged — rotation deliberately preserves it so audit trails survive. Inactive endpoints 409 (parallel to API key rotate). Cross-tenant ids 404. Same scope (admin) as the rest of the webhook surface.

Path parameters

string (uuid)
required

Response

WebhookEndpointWithSecret
string
required
string
required
string[]
required
boolean
required
string
required
string
required
string
required
HMAC-SHA256 signing secret. Compare incoming X-Webhook-Signature against HMAC(secret, f'{t}.{body}').

Status codes