Rotate a webhook's signing secret
POST
MillionSend extension. Mints a new signing secret (or takes the one in signing_secret) and returns it. For overlap_hours the previous secret keeps signing too: every delivery in that window carries both signatures, space-separated in webhook-signature, so the receiver can switch at any point without a gap. A second rotation inside the window replaces the previous secret.
id*stringFormat
uuidapplication/json- body
signing_secret?stringNew secret to sign with: whsec_ followed by base64 of 24-64 bytes. Omit to mint one.
overlap_hours?integerHours the previous secret keeps signing alongside the new one (default 24, max 72). Every delivery in the window carries both signatures, so a receiver holding either verifies; 0 drops the old secret at once.
Range
0 <= value <= 72The new secret and when the previous one stops signing
application/json- response
object*"webhook"Value in
"webhook"id*stringFormat
uuidsigning_secret*stringprevious_secret_expires_at*stringcurl -X POST 'https://api.millionsend.com/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08/rotate' \ -H 'Content-Type: application/json' \ -d '{}'Example Response
{ "object": "webhook", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "signing_secret": "string", "previous_secret_expires_at": "string"}