Webhooks
Roll the signing secret
Mints a new secret. The old one keeps verifying for 24 hours, during which deliveries carry two v1 signatures and previousSecretExpiresAt says when it stops. If Raylight could no longer read the old secret (the delivery log says so), it is dropped at once instead: deliveries carry only the new signature and previousSecretExpiresAt is null.
POST
/v1/webhooks/{id}/roll-secretAPI key with the productions scope.
Parameters
| Field | In | Type | Description |
|---|---|---|---|
idrequired | path | uuid | The endpoint id. |
Responses
200The endpoint with its new secret.
400Invalid request.
401Missing, invalid or revoked key.
403The key lacks the
productions scope (code api_key_missing_scope), or its owner has view-only access to the workspace (code forbidden).404No such endpoint or workspace for this key (code
not_found).409The secret was rolled somewhere else at the same moment (code
conflict). Nothing changed from this call; try again.429Rate limited, or a monthly cap reached.
503Webhooks are not switched on for this server (code
disabled). Every webhook route answers this while they are off.200 response body
| Field | Type | Description |
|---|---|---|
endpointrequired | object | |
endpoint.idrequired | uuid | |
endpoint.workspaceIdrequired | uuid | |
endpoint.urlrequired | url | |
endpoint.descriptionrequired | string | null | |
endpoint.eventsrequired | enum[] | |
endpoint.enabledrequired | boolean | |
endpoint.disabledReasonrequired | string | null | |
endpoint.consecutiveFailuresrequired | integer | |
endpoint.lastAttemptAtrequired | datetime | null | |
endpoint.lastSuccessAtrequired | datetime | null | |
endpoint.previousSecretExpiresAtrequired | datetime | null | |
endpoint.createdAtrequired | datetime | |
endpoint.updatedAtrequired | datetime | |
endpoint.secretrequired | string |
Example
curl -X POST https://api.raylight.app/v1/webhooks/$ID/roll-secret \ -H "Authorization: Bearer $RAYLIGHT_API_KEY"