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

# Aceitar Conversão

> POST /v2/rfq/accept — aceita uma cotação existente, escolhendo o dia de liquidação e o destino.

Aceita uma cotação criada via [Criar Conversão](/noxpay-docs-v2/pt/api-reference/conversions/create), travando a taxa e agendando a entrega. O saldo em `from_currency` precisa estar disponível no momento do aceite — ele não é reservado quando a cotação é criada.

## Corpo da requisição

| Campo            | Tipo   | Obrigatório | Descrição                                            |
| ---------------- | ------ | ----------- | ---------------------------------------------------- |
| `rfq_id`         | string | Sim         | ID retornado por Criar Conversão                     |
| `settlement_day` | string | Sim         | `"d0"` ou `"d1"`                                     |
| `wallet_id`      | string | Condicional | ID da wallet cripto de destino (pagamento em cripto) |
| `pix_key`        | string | Condicional | Chave Pix de destino (pagamento em BRL)              |

## Response `200 OK` (aceito)

| Campo            | Tipo   | Descrição                                   |
| ---------------- | ------ | ------------------------------------------- |
| `rfq_id`         | string | ID da conversão                             |
| `state`          | string | `DONE` assim que aceito                     |
| `amount_from`    | float  | Montante confirmado enviado                 |
| `amount_to`      | float  | Montante confirmado a receber               |
| `rate`           | float  | Taxa confirmada                             |
| `quote_pair`     | string | Identificador do par de cotação             |
| `settlement_eta` | string | Horário de liquidação confirmado (RFC 3339) |

Um `200` aqui significa que a operação está travada e a entrega agendada — não significa que os fundos já chegaram. A entrega é concluída em `settlement_eta`; use [Consultar Conversão](/noxpay-docs-v2/pt/api-reference/conversions/get) ou o `webhook` para acompanhar.

## Respostas de erro

| HTTP                       | Estado       | Motivo                                                                                                    |
| -------------------------- | ------------ | --------------------------------------------------------------------------------------------------------- |
| `409 Conflict`             | `EXPIRED`    | A taxa expirou e a cotação foi renovada — consulte a conversão via GET e reenvie o aceite com a nova taxa |
| `410 Gone`                 | `DEPRECATED` | A janela de renovação foi encerrada — crie uma nova cotação                                               |
| `422 Unprocessable Entity` | `ERROR`      | Saldo insuficiente, limite excedido ou outra falha de regra de negócio                                    |
| `202 Accepted`             | outro        | Ainda em processamento — tente aceitar novamente, ou consulte via GET, até atingir um estado final        |

**Códigos de retorno:** `200`, `202`, `400`, `401`, `409`, `410`, `422`, `500`

<RequestExample>
  ```bash theme={null}
  curl -X POST https://checkout.noxpay.io/v2/rfq/accept \
    -H "api-key: <key>" \
    -H "Content-Type: application/json" \
    -d '{
      "rfq_id": "NOXabc123...",
      "settlement_day": "d0",
      "wallet_id": "..."
    }'
  ```

  ```python theme={null}
  import requests

  response = requests.post(
      "https://checkout.noxpay.io/v2/rfq/accept",
      headers={
          "api-key": "<key>",
          "Content-Type": "application/json",
      },
      json={
          "rfq_id": "NOXabc123...",
          "settlement_day": "d0",
          "wallet_id": "...",
      },
  )
  print(response.json())
  ```

  ```javascript theme={null}
  const response = await fetch("https://checkout.noxpay.io/v2/rfq/accept", {
    method: "POST",
    headers: {
      "api-key": "<key>",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      rfq_id: "NOXabc123...",
      settlement_day: "d0",
      wallet_id: "...",
    }),
  });
  const data = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "rfq_id":         "NOXabc123...",
    "state":          "DONE",
    "amount_from":    1000.0,
    "amount_to":      5050.0,
    "rate":           5.050,
    "quote_pair":     "USDT_BRL",
    "settlement_eta": "2026-07-01T19:00:00Z"
  }
  ```

  ```json 409 theme={null}
  { "state": "EXPIRED", "reason": "Taxa expirou e foi renovada — busque a nova cotação antes de tentar novamente" }
  ```

  ```json 410 theme={null}
  { "state": "DEPRECATED", "reason": "Janela de renovação encerrada — crie uma nova conversão" }
  ```

  ```json 422 theme={null}
  { "state": "ERROR", "reason": "Saldo insuficiente" }
  ```
</ResponseExample>
