Skip to content
cascadehook.docs
API referenceEndpoints

Provision or rotate a signing secret

EMPTY BODY required: do not send {}. Also rotates an existing secret; ask for explicit approval before rotation. Not idempotent. Previous secret has a five-minute grace period; overlapping rotation returns 409 signing_secret_rotation_in_progress. Does not disable an already active endpoint or clear verified_at. Inspect state after a lost response.

POST
/v1/endpoints/{endpoint_id}/signing-secret

EMPTY BODY required: do not send {}. Also rotates an existing secret; ask for explicit approval before rotation. Not idempotent. Previous secret has a five-minute grace period; overlapping rotation returns 409 signing_secret_rotation_in_progress. Does not disable an already active endpoint or clear verified_at. Inspect state after a lost response.

Authorization

projectAPIKey
headerAuthorizationBearer <ch_dev_ or ch_live_ project API key>

Read CASCADEHOOK_API_KEY from the local environment. Never print keys or headers. Scope is the project selected when the key was created.

Path Parameters

endpoint_id*string
Formatuuid

Response Body

One-time secret. Capture directly to the receiver environment; never print this response.

application/json
  1. response
endpoint_id*string
Formatuuid
signing_secret*string

One-time credential. Capture directly to the receiver environment; never print or log it.

Match^whsec_[A-Za-z0-9+/]{43}=$
updated_at*string
Formatdate-time
previous_secret_expires_at*|
Formatdate-time
Example Request
curl -X POST 'https://api.cascadehook.com/v1/endpoints/497f6eca-6276-4993-bfeb-53cbbbba6f08/signing-secret'
Example Response
{  "endpoint_id": "e9ce0d4f-d433-423d-9497-4c000544106c",  "signing_secret": "string",  "updated_at": "2019-08-24T14:15:22Z",  "previous_secret_expires_at": "2019-08-24T14:15:22Z"}