Rotate the signing secret for a webhook endpoint
Issues a new signing secret. The previous secret stays valid for 24 hours so receivers can roll over without dropped deliveries.
Issues a new signing secret. The previous secret stays valid for 24 hours so receivers can roll over without dropped deliveries.
Authorization
ApiKey Long-lived org-scoped API key. Generate one from your account dashboard. Pass as Authorization: Bearer sgn_live_….
In: header
Path Parameters
uuidResponse Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08/rotate"{
"endpoint": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"url": "http://example.com",
"description": "string",
"eventTypes": [
"signup.created"
],
"paused": true,
"pausedReason": "string",
"pausedAt": "2019-08-24T14:15:22Z",
"consecutiveFailures": 0,
"lastSuccessAt": "2019-08-24T14:15:22Z",
"lastFailureAt": "2019-08-24T14:15:22Z",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
},
"signingSecret": "whsec_AbCdEf..."
}{
"type": "https://thesignup.app/problems/not-found",
"title": "Not found",
"status": 404,
"detail": "string",
"code": "missing_credentials",
"errors": [
{
"path": "string",
"message": "string"
}
],
"cause": {
"property1": null,
"property2": null
}
}{
"type": "https://thesignup.app/problems/not-found",
"title": "Not found",
"status": 404,
"detail": "string",
"code": "missing_credentials",
"errors": [
{
"path": "string",
"message": "string"
}
],
"cause": {
"property1": null,
"property2": null
}
}{
"type": "https://thesignup.app/problems/not-found",
"title": "Not found",
"status": 404,
"detail": "string",
"code": "missing_credentials",
"errors": [
{
"path": "string",
"message": "string"
}
],
"cause": {
"property1": null,
"property2": null
}
}{
"type": "https://thesignup.app/problems/not-found",
"title": "Not found",
"status": 404,
"detail": "string",
"code": "missing_credentials",
"errors": [
{
"path": "string",
"message": "string"
}
],
"cause": {
"property1": null,
"property2": null
}
}Last N delivery attempts for an endpoint GET
Newest first. `limit` defaults to 50, max 200.
Send a synthetic test payload POST
POSTs a `webhook.test` envelope to the endpoint synchronously and returns the receiver's response. Useful for live debugging — failures here do NOT count toward the auto-pause threshold.