Rota el secreto de firma
Genera un nuevo secreto de firma de webhook, lo devuelve exactamente una vez, lo persiste como el secreto actual y degrada el secreto anterior con un solapamiento de 24 horas durante el cual ambos siguen siendo válidos para verificación. La entrega firma con el secreto actual. Una suscripción sin secreto de firma en reposo (un sink pull) devuelve 422 no_secret_to_rotate.
Autorizaciones
Un JWT bearer emitido por plugin-auth (lib-auth). La identidad del tenant se resuelve a partir de los claims validados del token; la superficie /v1 nunca lee un tenant del cuerpo, del path ni de la query. Los llamadores de máquina obtienen un token vía el flujo client-credentials de plugin-auth. La superficie /admin autoriza contra un scope de operador y no lleva contexto de tenant.
Encabezados
A client-chosen unique key that makes this mutation at-most-once. A mutation sent without it is rejected before any write with 400 missing_idempotency_key. Reusing the same key with an identical request replays the original response byte-for-byte (with X-Idempotency-Replayed: true); reusing it with a different request body returns 409 idempotency_conflict. To re-drive a corrected request, mint a new key.
Parámetros de ruta
The unique identifier of the subscription (UUIDv7).
Respuesta
Se generó un nuevo secreto de firma. signingSecret se muestra exactamente una vez — guárdalo al recibirlo.
The new one-time signing secret (write-only). Shown exactly once here.
"whsec_1a2b3c4d5e6f7081a2b3c4d5e6f70819"
The moment the previous secret stops being valid for verification (UTC, RFC 3339) — a 24-hour dual-sign overlap.
"2026-06-06T12:00:00Z"

