---
title: "Rotate the signing secret (24h dual-secret overlap)"
method: POST
path: "/v1/webhook_endpoints/{id}/rotate_secret"
tags: ["webhook_endpoints"]
---

# Rotate the signing secret (24h dual-secret overlap)

`POST /v1/webhook_endpoints/{id}/rotate_secret`

## Request

- Base URL: `https://api.primateintelligence.ai`
- URL: `https://api.primateintelligence.ai/v1/webhook_endpoints/{id}/rotate_secret`
- Auth: HTTP bearer

Returns the NEW secret exactly once. The previous secret keeps signing deliveries for 24h so receivers can migrate without dropped verifications — the signature header carries one signature per active secret.

## Path parameters

- `id` string, required

## Response `200`

Endpoint with the new one-time `secret`.

- WebhookEndpoint: A customer webhook endpoint (§4.5). Standard Webhooks signing.
  - `id` string, required: Webhook endpoint id (prefixed ULID).
  - `object` 'webhook_endpoint', required
  - `url` string, uri, required
  - `events` WebhookEventType[], required
  - `description` string, nullable, required
  - `status` 'enabled' | 'disabled', required
  - `disabled_reason` 'auto_failure' | 'user', nullable, required: auto_failure = 72h of 100% delivery failure (§16.3). Re-enable via POST …/enable.
  - `secret` string: Signing secret — returned EXACTLY ONCE (create / rotate_secret), never readable again.
  - `last_success_at` string, date-time, nullable, required
  - `created_at` string, date-time, required

## Other responses

- `400`: validation_failed / url_forbidden / prompt errors (§15)
- `401`: invalid_api_key / key_revoked / key_expired
- `404`: resource_not_found (account-scoped; no existence oracle)
- `409`: resource_conflict / idempotency_key_reused / idempotency_unavailable
- `429`: rate_limit_exceeded / concurrency_limit_exceeded / quota_exceeded (always with Retry-After)

---

[API](https://skmtc.dev/primateintelligence/apis/primate-vision-api.md) · [All operations](https://skmtc.dev/primateintelligence/apis/primate-vision-api/llms.txt) · [OpenAPI document](https://skmtc.dev/primateintelligence/apis/primate-vision-api/revisions/aa51b01dc8ad?raw)
