CoderHelm Docs
APIWebhook endpoints

Rotate the signing secret

POST
/api/webhooks/endpoints/{endpoint_id}/secret/rotate

Makes a new secret. For overlap_hours (24 unless set) every request carries two signatures, one per secret, so a receiver verifying with either keeps working while you update it. Then only the new secret signs.

Authorization

api_key webhooks
headerAuthorizationBearer <token>

A team API key, made by an admin under Settings, API keys. Send it as Authorization: Bearer chk_....

Scope: webhooks

Path Parameters

endpoint_id*string

The endpoint's id.

Request Body

application/json
  1. body

How long the old secret keeps signing.

overlap_hours?|

Hours the old secret keeps signing beside the new one: 0 to 168. Defaults to 24. With 0 the old secret stops at once.

Formatint64
Example24

Response Body

The new secret, shown once here.

application/json
  1. response

A rotated secret.

previous_secret_expires_at?|

Until then, requests carry a second signature made with the old one.

Example"2026-10-27T09:00:00Z"
secret*string

The new secret. Requests are signed with it from now on.

Example"whsec_k0q8vX2mZp5Rr3t1YbN6cH9dLwE4fJ7aS1uG0iT2oQs="
curl -X POST 'https://api.coderhelm.com/api/webhooks/endpoints/ep_01jbendpt4a7b0c3d6e9f2g5h8/secret/rotate' \  -H "Authorization: Bearer $CODERHELM_API_KEY" \  -H 'Content-Type: application/json' \  -d '{}'
{  "previous_secret_expires_at": "2026-10-27T09:00:00Z",  "secret": "whsec_k0q8vX2mZp5Rr3t1YbN6cH9dLwE4fJ7aS1uG0iT2oQs="}
Edit on GitHub