Route Metadata
| Field | Value |
|---|---|
| Method | POST |
| Path | /v1/webhooks/endpoints/{id}/rotate |
| operationId | rotateWebhookEndpointSecret |
| Tag | Webhooks - Endpoints |
| Family | Webhooks |
| Deprecated or legacy | no |
Human endpoint reference
OpenPOST /v1/webhooks/endpoints/{id}/rotate for authentication, parameters, responses, and examples.
Request Parameters
Path Parameters
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "rotateWebhookEndpointSecret path parameters",
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"description": "Endpoint identifier.",
"type": "string",
"format": "uuid",
"example": "3c1f0a52-8d6b-4f0e-9b1a-6f2c4d8e9a10",
"x-parameter-location": "path"
}
}
}
Response Contracts
Status 200
The new signing secretapplication/json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "rotateWebhookEndpointSecret response 200",
"description": "API response containing a rotated signing secret.",
"type": "object",
"properties": {
"data": {
"description": "A freshly rotated signing secret.",
"type": "object",
"required": [
"secret"
],
"properties": {
"secret": {
"description": "The new signing secret. The previous one keeps verifying for 24 hours so a receiver can roll over without dropping deliveries.",
"type": "string",
"example": "whsec_6f1c0b2a4d8e5f3a9c7b1e0d2f4a6c8b1d3e5f7a9c0b2d4e6f8a1c3b5d7e9f0a"
}
}
},
"note": {
"description": "How long the previous secret keeps verifying.",
"type": "string",
"example": "Previous secret remains valid for 24 hours."
},
"success": {
"type": "boolean",
"example": true
}
}
}
Status 401
Authentication requiredapplication/json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "rotateWebhookEndpointSecret response 401",
"description": "Error response",
"type": "object",
"properties": {
"code": {
"description": "HTTP status code",
"type": "integer"
},
"error": {
"description": "Error message",
"type": "string"
},
"error_code": {
"description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
"type": "string"
},
"param": {
"description": "The parameter at fault, when the error is about one parameter.",
"type": "string"
},
"request_id": {
"description": "Unique request ID for support",
"type": "string",
"format": "uuid"
},
"success": {
"description": "Always false on an error.",
"type": "boolean",
"example": false
}
}
}
OpenAPI example
{
"code": 401,
"error": "Missing authentication credentials. Provide X-API-Key header or Bearer token.",
"error_code": "unauthorized",
"request_id": "71ed4b6f-63ef-4ae1-a123-07ffa47c1c14",
"success": false
}
Status 404
Resource not foundapplication/json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "rotateWebhookEndpointSecret response 404",
"description": "Error response",
"type": "object",
"properties": {
"code": {
"description": "HTTP status code",
"type": "integer"
},
"error": {
"description": "Error message",
"type": "string"
},
"error_code": {
"description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
"type": "string"
},
"param": {
"description": "The parameter at fault, when the error is about one parameter.",
"type": "string"
},
"request_id": {
"description": "Unique request ID for support",
"type": "string",
"format": "uuid"
},
"success": {
"description": "Always false on an error.",
"type": "boolean",
"example": false
}
}
}
OpenAPI example
{
"code": 404,
"error": "No L4 checkpoint available before requested timestamp",
"error_code": "not_found",
"request_id": "ad7df471-eb8a-477c-bd9f-c685a9825f5b",
"success": false
}
Status 429
Rate limit exceededapplication/json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "rotateWebhookEndpointSecret response 429",
"description": "Error response",
"type": "object",
"properties": {
"code": {
"description": "HTTP status code",
"type": "integer"
},
"error": {
"description": "Error message",
"type": "string"
},
"error_code": {
"description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
"type": "string"
},
"param": {
"description": "The parameter at fault, when the error is about one parameter.",
"type": "string"
},
"request_id": {
"description": "Unique request ID for support",
"type": "string",
"format": "uuid"
},
"success": {
"description": "Always false on an error.",
"type": "boolean",
"example": false
}
}
}
OpenAPI example
{
"code": 429,
"error": "Rate limit exceeded"
}