Skip to content

Rotate Webhook Secret

POST /webhook-endpoints/{endpoint_id}/rotate-secret

Both secrets verify until the overlap window closes, so a partner rolls over without downtime (§4.1).

NameInTypeNotes
endpoint_idpathstring (uuid)required—
FieldTypeNotes
secretstringrequiredmin length 16 max length 400
overlap_secondsintegeroptionalDefault 86400. min 0 max 2592000
StatusDescriptionBody
200Successful ResponseWebhookEndpointView
422Validation ErrorHTTPValidationError

The body shows the fields the schema always carries. Which combination is legal is a service rule the schema cannot express, so read the description above before copying this.

Terminal window
curl -X POST https://your-deployment.example.com/webhook-endpoints/{endpoint_id}/rotate-secret \
-H "Authorization: Bearer $COBRE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"secret": "string"
}'
FieldTypeNotes
idstring (uuid)required—
agent_idstring (uuid)required—
slugstringrequired—
http_methodPOST | GET | PUTrequired—
verificationhmac_sha256 | shared_token | nonerequired—
secret_setbooleanrequired—
rotation_activebooleanrequired—
secret_overlap_untilstring (date-time) | nullrequired, nullable—
prompt_templatestringrequired—
input_templateobject | nullrequired, nullable—
session_key_templatestring | nullrequired, nullable—
persona_slug_templatestring | nullrequired, nullable—
subject_templateobject | nullrequired, nullable—
response_modeasync | sync | callback | ackrequired—
response_pathstring | nullrequired, nullable—
callback_urlstring | nullrequired, nullable—
event_kindstring | nullrequired, nullable—
rate_limit_per_minuteintegerrequired—
coalescingobjectrequired—
unverified_ackbooleanrequired—
call_countintegerrequired—
is_activebooleanrequired—
created_atstring (date-time)required—