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

# idempotency_key_reuse

> Resolva conflitos HTTP 409: diferencie uma solicitação ainda em execução de uma Idempotency-Key reutilizada com dados de entrada diferentes.

| | |
| - | - |
| **Código** | `idempotency_key_reuse` |
| **Status HTTP** | `409 Conflict` |
| **Pode ser repetida** | Leia `retryable` na resposta |

## Escolha a recuperação adequada

O mesmo código de erro descreve duas situações diferentes. Verifique `retryable` antes de
agir; o status HTTP, por si só, não indica se é necessário tentar novamente.

| Resposta | Significado | Próxima etapa |
| - | - | - |
| `retryable: false` | A chave já identifica uma solicitação com dados de entrada diferentes. | Compare o corpo com o da solicitação original. Use uma nova chave somente para uma operação intencionalmente diferente. |
| `retryable: true` | Outra solicitação que usa a chave ainda está sendo processada. | Mantenha a mesma chave e a mesma solicitação. Aguarde pelo menos `Retry-After` segundos e, em seguida, tente novamente dentro de um limite de tempo definido. |

### Dados de entrada diferentes

```json theme={null}
{
  "type": "https://docs.livingsecurity.com/developers/v1/errors/idempotency_key_reuse",
  "title": "Conflict",
  "status": 409,
  "detail": "Idempotency-Key was already used with a different request.",
  "code": "idempotency_key_reuse",
  "request_id": "req_0199a1e0-7c00-7000-8000-000000000001",
  "doc_url": "https://docs.livingsecurity.com/developers/v1/errors/idempotency_key_reuse",
  "retryable": false,
  "param": "Idempotency-Key"
}
```

### Solicitação ainda em processamento

Este exemplo também inclui o cabeçalho de resposta HTTP `Retry-After: 1`.

```json theme={null}
{
  "type": "https://docs.livingsecurity.com/developers/v1/errors/idempotency_key_reuse",
  "title": "Conflict",
  "status": 409,
  "detail": "A concurrent request is still processing this Idempotency-Key. Retry shortly.",
  "code": "idempotency_key_reuse",
  "request_id": "req_0199a1e0-7c00-7000-8000-000000000001",
  "doc_url": "https://docs.livingsecurity.com/developers/v1/errors/idempotency_key_reuse",
  "retryable": true,
  "param": "Idempotency-Key"
}
```

## Mantenha a identidade de repetição estável

Para operações que documentam idempotência, a chave tem escopo definido pela organização,
conta de serviço, método HTTP, caminho do recurso e versão da API resolvida. Alterar
qualquer um desses elementos cria uma identidade de repetição diferente; isso não recupera a operação
original. A rotação de uma credencial na mesma conta de serviço não altera
essa identidade, embora a credencial substituta ainda precise ter permissão.

Mantenha a chave, o corpo, o caminho e a versão originais ao se recuperar de um timeout.
Não gere uma nova chave apenas para contornar um conflito: a gravação original
pode já ter sido concluída com êxito. Recupere o recurso quando o respectivo ID for conhecido e use
o procedimento de recuperação documentado da operação. Uma reprodução concluída traz
`Idempotent-Replayed: true` nas operações que documentam a reprodução de respostas.

Enviar um `Idempotency-Key` não torna uma operação idempotente, a menos que a
referência dela ofereça suporte explícito a esse cabeçalho. A proteção contra repetições é limitada pela
política de retenção da operação; ela não é uma garantia permanente contra duplicidades.

Se o processamento continuar sem solução, entre em contato com o [Suporte da Living Security](mailto:support@livingsecurity.com)
informando `request_id`, carimbo de data e hora em UTC, método, caminho e versão da API. Nunca inclua
uma chave de API, um segredo do cliente ou um token de acesso.


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