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

# Saida de Estoque

> https://utilities.mgnsystem.cloud/ag-control/v1/saida

## **Visão Geral**

Registra movimentações de saída de estoque no sistema **MGN SYSTEM - AG CONTROL**, com base na baixa dos itens armazenados em armazéns gerais (AGs). Essa API é utilizada quando o material deixa fisicamente o AG, seja por expedição, transferência, devolução, consumo ou outro motivo logístico.

Método HTTP: POST `/v1/saida`

## Headers

| **Nome**      | **Valor**          |
| :------------ | :----------------- |
| Content-Type  | `application/json` |
| Authorization | `Bearer <token>`   |

## Campos

| **Nome**       | **Tipo** | **Descrição**                                                     |
| :------------- | :------- | :---------------------------------------------------------------- |
| `ag_documento` | string   | CNPJ do armazém responsável pela armazenagem e expedição          |
| `codigo`       | string   | Código do produto conforme cadastro na empresa                    |
| `lote`         | string   | Lote do produto a ser baixado                                     |
| `quantidade`   | string   | Quantidade a ser baixada do estoque (pode ser parcial ou total)   |
| `nf_entrada`   | string   | Número da nota fiscal de entrada vinculada à operação logística   |
| `nf_saida`     | string   | Número da nota fiscal de saída vinculada à operação logística     |
| `data_saida`   | string   | Data da saída física do material do armazém (formato: YYYY-MM-DD) |
| `obs`          | string   | Observações adicionais sobre a operação de saída (opcional)       |

## **Exemplo**

<RequestExample>
  ```json body theme={null}
  [
      {
        "ag_documento": "98.765.432/0001-11",
        "codigo": "PROD-001",
        "lote": "L20260201A",
        "quantidade": "10",
        "nf_entrada": "NF123456",
        "nf_saida": "RET0001",
        "data_saida": "2026-02-06",
        "obs": "Retorno parcial"
      }
    ]
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
  	"mensagem": "Saídas confirmadas com sucesso"
  }
  ```
</ResponseExample>

## Erros comuns

| **Código** | **Mensagem**                          | **Causa Provável**                                   |
| :--------- | :------------------------------------ | :--------------------------------------------------- |
| 400        | Campos obrigatórios ausentes          | Falta de `lote`, `codigo` ou `nf_entrada`            |
| 403        | Usuário sem acesso ao armazém         | Sem vínculo com empresa ou armazém                   |
| 404        | Entrada correspondente não encontrada | Lote ou NF de entrada inválidos                      |
| 409        | Quantidade excede o saldo disponível  | Tentativa de saída maior do que a entrada confirmada |
| 500        | Erro interno                          | Violação de política RLS, chave duplicada etc        |

<Note>
  * A API busca automaticamente a movimentação de ENTRADA correspondente ao produto, lote, empresa, armazem e nf\_entrada, e aplica a saída com o saldo disponível.
  * O campo obs pode ser utilizado para indicar o motivo da baixa (ex: devolução, consumo, transferência).
  * Se a quantidade informada exceder o saldo disponível, o sistema retornará erro de saldo insuficiente.
</Note>
