# `invalid_idempotency_key`

Toda escrita pede o cabeçalho `Idempotency-Key` com um UUID.

**Status:** HTTP 400 · Pedido mal formado.

## Por que acontece

Toda escrita pede o cabeçalho `Idempotency-Key` com um UUID.

## Como consertar

1. Mande `Idempotency-Key: <uuid>` em todo POST, PUT, PATCH e DELETE. Os SDKs mandam sozinhos.

## A resposta

**Envelope**

```json
{
  "ok": false,
  "data": null,
  "error": "Toda escrita pede o cabeçalho `Idempotency-Key` com um UUID.",
  "error_code": "invalid_idempotency_key",
  "field": null,
  "trace_id": "…"
}
```

## Rotas que emitem este erro

| Rota | O que faz |
| --- | --- |
| **POST** [`/v1/objects/product`](/referencia/product/create.md) | Cadastra um item. |
| **PATCH** [`/v1/objects/product/{id}`](/referencia/product/update.md) | Atualiza um item: descrição, SKU, unidade, atributos ou ativo. |
| **POST** [`/v1/objects/receipt`](/referencia/receipt/import.md) | Abre um recebimento a partir da NF-e do fornecedor. |
| **POST** [`/v1/objects/sales-order`](/referencia/sales_order/import.md) | Cria um pedido de venda aberto, com a reserva feita. |
| **POST** [`/v1/objects/sales-order/{id}/cancel`](/referencia/sales_order/cancel.md) | Cancela um pedido, e o que já saiu da prateleira volta à posição. |
| **POST** [`/v1/objects/work-order`](/referencia/work_order/create.md) | Abre uma OS de guarda, separação, contagem, movimento ou retirada. |
| **POST** [`/v1/objects/work-order/{id}/cancel`](/referencia/work_order/cancel.md) | Cancela uma OS aberta ou em andamento, com o motivo. |
| **PUT** [`/v1/webhook-endpoint`](/referencia/integration/webhook/save.md) | Cadastra ou muda o webhook da empresa. |
| **POST** [`/v1/webhook-endpoint/deliveries/{delivery}/resend`](/referencia/integration/webhook/resend.md) | Manda de novo uma entrega do webhook. |
