> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Trocar o segredo de assinatura de um webhook

> Troque o segredo de assinatura de uma subscription webhook do Streaming Hub, usando a sobreposição em que cada entrega leva duas assinaturas.

Troque o segredo de assinatura de uma subscription webhook sem perder uma entrega.

## Participantes

***

* **Sua instituição.** Seu sistema chama a API do Streaming Hub com um token do Access Manager. Seu endpoint HTTPS recebe as entregas.
* **Streaming Hub.** O serviço de plataforma da Lerian que assina cada entrega. A Lerian o configura para sua instituição.
* **Produto Lerian.** O produto que publica o evento de negócio, por exemplo o Midaz.

## Diagrama

***

![Trocar o segredo de assinatura de um webhook](https://mintcdn.com/lerian-49cb71fc/WuRfbo_y9uSbzyyX/images/pt/d2/id-rotate-a-webhook-signing-secret.svg?fit=max\&auto=format\&n=WuRfbo_y9uSbzyyX\&q=85\&s=795314ebb422e8eac3157fa59fa13d59)

## Passo a passo

***

| # | Origem | Destino | Mensagem | API da Lerian | O que acontece |
| - | - | - | - | - | - |
| 1 | Sua instituição | Streaming Hub | API da Lerian | [`POST /v1/subscriptions/{id}/secret/rotate`](https://docs.lerian.studio/pt/reference/platform/streaming-hub/rotate-subscription-secret) | Peça um novo segredo de assinatura. Envie um header `X-Idempotency` único. |
| 2 | Streaming Hub | Sua instituição | Resposta | | A resposta traz o novo `signingSecret` e o `overlapUntil`, 24 horas depois da troca. Guarde o segredo agora. Nenhuma rota de leitura o devolve. |
| 3 | Sua instituição | Sua instituição | Etapa interna | | Adicione o novo segredo à sua conferência de assinatura. Mantenha o segredo anterior até o `overlapUntil`. |
| 4 | Produto Lerian | Streaming Hub | Evento | | O produto publica um evento de negócio. |
| 5 | Streaming Hub | Sua instituição | Webhook | Os eventos em `event_types` | Até o `overlapUntil`, cada entrega leva dois headers `X-Webhook-Signature`. O primeiro usa o novo segredo e o segundo usa o segredo anterior. |
| 6 | Sua instituição | Streaming Hub | Resposta | | Aceite a entrega quando uma das assinaturas bater com um segredo que você tem. Responda `2xx`. |
| 7 | Produto Lerian | Streaming Hub | Evento | | Depois do `overlapUntil`, o produto publica outro evento. |
| 8 | Streaming Hub | Sua instituição | Webhook | Os eventos em `event_types` | Depois do `overlapUntil`, cada entrega leva apenas a assinatura do novo segredo. |
| 9 | Sua instituição | Streaming Hub | Resposta | | Confira a assinatura e responda `2xx`. |
| 10 | Sua instituição | Sua instituição | Etapa interna | | Remova o segredo anterior da sua conferência de assinatura. |

## Como saber que terminou

***

[`GET /v1/subscriptions/{id}`](https://docs.lerian.studio/pt/reference/platform/streaming-hub/get-subscription) mostra `secret_overlap_until` como `null`.

* **A resposta da troca se perde.** Envie a requisição de novo com a mesma chave `X-Idempotency`. Quando a primeira requisição termina, você recebe o mesmo segredo. Enquanto ela ainda roda, você recebe `409` `idempotency_conflict`. Uma chave nova gera outro segredo.
* **Uma segunda troca.** Uma segunda troca substitui o segredo anterior na hora.

## Relacionados

***

* [Receber eventos em um webhook](https://docs.lerian.studio/pt/diagrams/platform-services/receive-events-on-a-webhook.md)
* [Gerenciar subscriptions](https://docs.lerian.studio/pt/platform/streaming-hub/managing-subscriptions.md)
* [Consumir eventos](https://docs.lerian.studio/pt/platform/streaming-hub/consuming-events.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.