Rotate the signing secret
Changed onGenerates a fresh signing secret and returns it ONCE. The old secret is immediately invalidated — the next event delivery is signed with the new secret. Store the new value securely; it cannot be retrieved later.
Supply an Idempotency-Key header to safely retry on network errors — replays under the same key return the original rotation response rather than minting a fresh secret. Replays against a different public_id under the same key return 409 idempotency_conflict.
Request
- Base URL: https://app.sendmux.ai/api/v1
- URL: https://app.sendmux.ai/api/v1/webhooks/{public_id}/rotate-secret
- Auth: one of:
- HTTP bearer
- OAuth 2 (authorization code, authorization URL https://app.sendmux.ai/oauth/authorize, token URL https://app.sendmux.ai/oauth/token, scopes: webhook.manage)
Path parameters
Webhook public ID
Headers
Client-chosen unique key to safely retry the request. Cached for 24h per (team, endpoint, key). Different target public_id under the same key returns 409 idempotency_conflict.
Response
Subscription with new signing secret
Example response
{
"meta": {
"request_id": "req_clxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"data": {
"created_at": "2026-04-23T09:12:00Z",
"enabled": true,
"event_types": [
"message.bounced",
"message.received"
],
"filters": {
"mailbox_ids": [
"mbx_clxxxxxxxxxxxxxxxxxxxxxxxxx"
]
},
"id": "whk_clxxxxxxxxxxxxxxxxxxxxxxxxx",
"name": "Acme inbound forwarder",
"secret": "whsec_a9f3c2…",
"updated_at": "2026-04-23T09:12:00Z",
"url": "https://hooks.acme.com/sendmux"
}
}Changes
- breaking
the
/response's property type changed from no type toobjectfor status - info
removed
subschema #2from the/response propertyallOflist for the response status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status
- breaking
- info
the endpoint scheme security
oauth2was added to the API
- info