# Referência da API

25 rotas públicas, em JSON, no envelope `{ ok, data, error, error_code, field, trace_id }`. Cada página traz o exemplo em curl e nos sete SDKs, os campos e toda recusa que a rota emite, com a frase do contrato.

> **Versão da API: 2026-10-03** É a única e a padrão. Mande `Kernos-Version` para fixá-la; a resposta diz qual usou.

## Pedidos de venda

| Rota | O que faz |
| --- | --- |
| **GET** [`/v1/objects/sales-order`](/referencia/sales_order/list.md) | Lista os pedidos de um CD, os mais antigos primeiro. |
| **POST** [`/v1/objects/sales-order`](/referencia/sales_order/import.md) | Cria um pedido de venda aberto, com a reserva feita. |
| **GET** [`/v1/objects/sales-order/{id}`](/referencia/sales_order/get.md) | Lê um pedido, com as linhas, os volumes e a nota. |
| **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. |

## Produtos

| Rota | O que faz |
| --- | --- |
| **GET** [`/v1/objects/product`](/referencia/product/list.md) | Lista o cadastro, com o saldo de cada item. |
| **POST** [`/v1/objects/product`](/referencia/product/create.md) | Cadastra um item. |
| **GET** [`/v1/objects/product/find`](/referencia/product/find.md) | Acha um item pelo EAN ou pelo SKU. |
| **GET** [`/v1/objects/product/{id}`](/referencia/product/get.md) | Lê um item: saldo, posições, bloqueios, política e atributos. |
| **PATCH** [`/v1/objects/product/{id}`](/referencia/product/update.md) | Atualiza um item: descrição, SKU, unidade, atributos ou ativo. |

## Estoque

| Rota | O que faz |
| --- | --- |
| **GET** [`/v1/objects/stock`](/referencia/stock/list.md) | Lista o saldo de um CD, posição por posição e lote por lote. |

## Recebimentos

| Rota | O que faz |
| --- | --- |
| **GET** [`/v1/objects/receipt`](/referencia/receipt/list.md) | Lista os recebimentos de um CD, os mais antigos primeiro. |
| **POST** [`/v1/objects/receipt`](/referencia/receipt/import.md) | Abre um recebimento a partir da NF-e do fornecedor. |
| **GET** [`/v1/objects/receipt/{id}`](/referencia/receipt/get.md) | Lê um recebimento, com as linhas da nota e o que foi contado. |

## Ordens de serviço

| Rota | O que faz |
| --- | --- |
| **GET** [`/v1/objects/work-order`](/referencia/work_order/list.md) | Lista as OS de um CD, pela visão de quem pede. |
| **POST** [`/v1/objects/work-order`](/referencia/work_order/create.md) | Abre uma OS de guarda, separação, contagem, movimento ou retirada. |
| **GET** [`/v1/objects/work-order/{id}`](/referencia/work_order/get.md) | Lê uma OS, com a origem e as paradas. |
| **POST** [`/v1/objects/work-order/{id}/cancel`](/referencia/work_order/cancel.md) | Cancela uma OS aberta ou em andamento, com o motivo. |

## Envios

| Rota | O que faz |
| --- | --- |
| **GET** [`/v1/objects/shipment/{id}`](/referencia/shipment/get.md) | Lê um envio, com a transportadora, a doca e os volumes com rastreio. |

## Eventos

| Rota | O que faz |
| --- | --- |
| **GET** [`/v1/events`](/referencia/event/list.md) | Lista os eventos públicos desde o último lido, do mais antigo para o mais novo. |

## Webhook

| Rota | O que faz |
| --- | --- |
| **GET** [`/v1/webhook-endpoint`](/referencia/integration/webhook/get.md) | Lê o webhook da empresa e as últimas 50 entregas. |
| **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. |
| **POST** [`/v1/webhook-endpoint/ping`](/referencia/integration/webhook/ping.md) | Manda agora um evento de teste ao webhook e diz o que ele respondeu. |

## Registro de pedidos

| Rota | O que faz |
| --- | --- |
| **GET** [`/v1/requests`](/referencia/api_request/list.md) | Lista os últimos pedidos feitos com a chave, o mais novo primeiro. |
| **GET** [`/v1/requests/{request_id}`](/referencia/api_request/get.md) | Lê um pedido do registro, com o corpo da resposta. |
