Rotate the endpoint's signing secret
const url = 'https://api.vocapable.com/v1/webhook-endpoint/rotate-secret';const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.vocapable.com/v1/webhook-endpoint/rotate-secret \ --header 'Authorization: Bearer <token>'Mint a new signing secret, keeping the superseded one valid for 24 hours.
During the overlap every delivery carries two v1= signatures - one per secret - so
a receiver can be redeployed with the new key at any point inside the window
(docs/04-api.md §5 signing). previous_secret_expires_at on the response is when
the old key stops verifying.
An Idempotency-Key is honored so a retried rotate replays the first rotation’s minted
secret rather than rotating a second time - a double rotate would collapse the previous
secret’s 24-hour overlap before a receiver could pick up the new one. The claim shares
this request’s transaction with the rotation, so a failure frees the key.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Responses
Section titled “Responses”Successful Response
A summary plus the plaintext secret, when the answering call minted one.
object
Examplegenerated
{ "id": "example", "url": "example", "enabled_events": [ "example" ], "status": "example", "api_version_pin": "example", "previous_secret_expires_at": "2026-04-15T12:00:00Z", "created_at": "2026-04-15T12:00:00Z", "updated_at": "2026-04-15T12:00:00Z", "secret": "example"}Validation Error
object
object
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}