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

# Criação do withdrawal

> O withdrawal envia dinheiro de um remetente para um beneficiário no Brasil e é o único jeito de criar uma remessa na v1. Ele usa uma cotação para o preço. No withdrawal, a MSB informa quem envia, quem recebe, por quê e como a remessa será financiada.

Endpoint: [`POST /v1/remittances/withdrawals`](https://developers.javalibridge.com/pt-BR/api-reference/create-withdrawal).

## Dados exigidos

| Item | Descrição |
| - | - |
| Cotação | Cotação `AVAILABLE` e não expirada. Define os valores e a taxa. |
| Remetente | Remetente cadastrado, ativo, com nível `LEVEL_1` ou superior e com limite disponível. |
| External ID | Sua referência única para a remessa. Não pode se repetir. |
| Beneficiário | Beneficiário cadastrado, `ACTIVE`, com chave Pix `APPROVED`. |
| Instrução de pagamento | A chave Pix a ser paga. Opcional quando o beneficiário tem exatamente uma chave `APPROVED`. |
| Finalidade (purpose) | `FAMILY_MAINTENANCE`, `GIFT`, `PERSONAL_SAVINGS`, `EDUCATION`, `MEDICAL`, `SERVICES_PAYMENT`, `GOODS_PAYMENT`, `SALARY`, `OTHER`. |
| Descrição da finalidade | Obrigatória quando a finalidade é `OTHER`. Até 140 caracteres. |
| Relação (relationship) | Relação do remetente com o beneficiário: `SELF`, `FAMILY`, `FRIEND`, `EMPLOYER`, `EMPLOYEE`, `BUSINESS_PARTNER`, `OTHER`. |
| Modalidade de funding | `PREFUNDED` ou `CREDIT`. |

## Validações antes do câmbio

Estas verificações acontecem na hora, antes de comprometer funding ou câmbio. Se alguma falhar, o withdrawal é rejeitado e nenhum câmbio é contratado.

1. A requisição não é duplicada e o external ID ainda não foi usado.
2. A cotação existe, não expirou e não foi usada.
3. A modalidade de funding está habilitada para a sua conta.
4. O remetente existe, está ativo, tem nível que permite enviar (`LEVEL_1` ou superior) e limite disponível nas janelas de 24 horas, 30 dias e 180 dias.
5. O beneficiário está `ACTIVE` e a chave Pix está `APPROVED`.
6. Verificação da chave Pix: a chave existe. Isso evita câmbio para uma chave inexistente. A titularidade é confirmada depois, logo antes do Pix.
7. O valor está dentro do mínimo e do máximo por remessa e do limite diário da sua conta.
8. O beneficiário tem limite disponível nas janelas de 24 horas, 30 dias e 180 dias.
9. O limite de crédito (`CREDIT`) ou o saldo em USD nos EUA (`PREFUNDED`) é reservado para esta remessa.

> [!NOTE]
>
> A triagem de sanções e as regras de PLD podem colocar a remessa em `ON_HOLD` para análise manual, em vez de rejeitá-la, na criação ou durante o screening. O câmbio só é contratado depois do screening concluído.

## Motivos de rejeição mais comuns

| Código | O que significa e o que fazer |
| - | - |
| `QUOTE_EXPIRED` | A cotação expirou. Solicite uma nova cotação e crie o withdrawal de novo. |
| `QUOTE_ALREADY_USED` | A cotação já foi usada por outro withdrawal. Consulte a remessa criada por ele (a cotação mostra o remittance ID) ou solicite uma nova cotação. |
| `DUPLICATE_EXTERNAL_ID` | O external ID já foi usado. Use um novo ou consulte a remessa existente. |
| `SENDER_NOT_ELIGIBLE` | O remetente não existe, não está ativo ou está em `LEVEL_0`. Complete os dados do remetente. Para evitar, confira o remetente antes de cotar. |
| `SENDER_LIMIT_EXCEEDED` | O remetente atingiu o limite de uma janela. Aguarde a janela ou suba o nível de compliance. |
| `BENEFICIARY_NOT_ELIGIBLE` | O beneficiário não está `ACTIVE`. |
| `RELATIONSHIP_MISMATCH` | A relação informada não combina com o tipo do beneficiário (`SELF_OWNED` exige `SELF`). |
| `BENEFICIARY_LIMIT_EXCEEDED` | O beneficiário atingiu o limite de uma janela. Aguarde a janela. |
| `PAYMENT_INSTRUCTION_INVALID` | A instrução não pode ser usada. Escolha outra instrução ativa do beneficiário. |
| `PIX_KEY_NOT_FOUND` | A chave Pix não existe. Confirme a chave com o beneficiário. |
| `CREDIT_LIMIT_EXCEEDED` | O limite de crédito não é suficiente. Use `PREFUNDED` ou aguarde uma liquidação. |
| `INSUFFICIENT_PREFUNDED_BALANCE` | O saldo em USD nos EUA não é suficiente. Transfira USD conforme as instruções de aporte ou use `CREDIT`. |
| `FUNDING_MODE_NOT_ENABLED` | Esta modalidade de funding não está habilitada para a sua conta. |
| `AMOUNT_BELOW_MINIMUM` / `AMOUNT_ABOVE_LIMIT` | O valor está fora dos limites por remessa da sua conta. Ajuste o valor. |
| `ACCOUNT_DAILY_LIMIT_EXCEEDED` | Sua conta atingiu o limite diário. Aguarde o dia seguinte. |
| `SERVICE_UNAVAILABLE` | Temporário, inclusive manutenção. Tente novamente mais tarde. |

> [!TIP]
>
> **O que você faz**
>
> * Envie cotação, remetente, beneficiário, chave Pix, finalidade, relação e modalidade de funding.
> * Use um external ID novo em cada remessa.
> * Se a requisição for rejeitada, leia o código e siga a ação da tabela.


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