> ## 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.

# Get Conversion

> GET /v2/rfq/{id} — retrieve the current state and attributes of a conversion.

## Path parameters

| Parameter | Description                                                                     |
| --------- | ------------------------------------------------------------------------------- |
| `id`      | The `rfq_id` returned by [Create Conversion](/api-reference/conversions/create) |

<Warning>
  **This GET has a side effect.** Before reading, an expired quote that is still within its `renewable_up_to` window is renewed — with fresh rates. Two consecutive reads of the same `rfq_id` can legitimately return different values for `rate_d0` / `rate_d1` and the amounts derived from them. Read the conversion once, act on that snapshot, and do not assume a read is idempotent.
</Warning>

## Response `200 OK`

Returns the standard [Transaction Object](/api-reference/reference/transaction-object) envelope. Track progress through `status` and `substatus`; see [Conversion statuses](/api-reference/reference/statuses#conversions) for the full set of values.

### Attributes — the quote

Present from creation onward.

| Field               | Type   | Description                                                                                                              |
| ------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------ |
| `from_currency`     | string | Source currency                                                                                                          |
| `to_currency`       | string | Destination currency                                                                                                     |
| `quote_pair`        | string | Quote pair, as `<from display name>/<to display name>` — display names, not currency codes (e.g. `USDT (TRX)/BRL (PIX)`) |
| `from_amount_d0`    | float  | D0 amount to send                                                                                                        |
| `to_amount_d0`      | float  | D0 amount to receive                                                                                                     |
| `rate_d0`           | float  | D0 rate                                                                                                                  |
| `fee_d0`            | float  | Fee that would apply if you accept D0                                                                                    |
| `from_amount_d1`    | float  | D1 amount to send                                                                                                        |
| `to_amount_d1`      | float  | D1 amount to receive                                                                                                     |
| `rate_d1`           | float  | D1 rate                                                                                                                  |
| `fee_d1`            | float  | Fee that would apply if you accept D1                                                                                    |
| `settlement_eta_d0` | string | D0 settlement ETA (RFC 3339)                                                                                             |
| `settlement_eta_d1` | string | D1 settlement ETA (RFC 3339)                                                                                             |
| `expires_at`        | string | When the current rate expires (RFC 3339)                                                                                 |
| `renewable_up_to`   | string | Last moment the quote can be renewed rather than recreated (RFC 3339)                                                    |
| `d0_available`      | string | Whether the desk is open for same-day settlement                                                                         |
| `webhook`           | string | Configured webhook URL                                                                                                   |

### Attributes — after acceptance

**These keys are absent until you accept**, and that absence is how you tell that no decision has been made yet. Check for key presence, not for a zero value.

| Field            | Type   | Description                                                                                  |
| ---------------- | ------ | -------------------------------------------------------------------------------------------- |
| `settlement_day` | string | `d0` or `d1` — the window you chose                                                          |
| `amount_from`    | float  | Confirmed amount sent                                                                        |
| `amount_to`      | float  | Confirmed amount received                                                                    |
| `rate`           | float  | Confirmed rate                                                                               |
| `fee_applied`    | float  | The fee actually charged                                                                     |
| `settlement_eta` | string | Confirmed settlement ETA (RFC 3339)                                                          |
| `wallet_id`      | string | Destination wallet, for a crypto payout                                                      |
| `pix_key`        | string | Destination Pix key, for a BRL payout                                                        |
| `amount_brl`     | float  | BRL-equivalent size of the accepted operation — the figure that counted against your ceiling |

<Note>
  `fee_d0` and `fee_d1` stay visible after acceptance, alongside `fee_applied`. The candidate fees are not suppressed once you have chosen — read `fee_applied` for what you were actually charged.
</Note>

### Attributes — refusals and ceilings

Present only when relevant.

| Field                    | Type   | Description                                                                                                                                                   |
| ------------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `error_detail`           | string | Client-facing explanation of the refusal or failure                                                                                                           |
| `limit_block_source`     | string | Which gate blocked the operation: `operational` for the desk ceiling, `compliance` for the KYB tier. **Absent when the refusal was for insufficient balance** |
| `payout_limit_currency`  | string | Currency the payout ceiling is denominated in                                                                                                                 |
| `payout_limit_available` | float  | Payout headroom remaining                                                                                                                                     |
| `payout_limit_projected` | float  | Payout headroom after this operation                                                                                                                          |

The `payout_limit_*` fields are informational — the payout axis is not enforced on this endpoint.

Any attribute with an empty value is omitted entirely rather than returned as `""` or `null`.

## Status codes

| HTTP  | When                                                                           |
| ----- | ------------------------------------------------------------------------------ |
| `200` | Found                                                                          |
| `401` | Missing or invalid `api-key`                                                   |
| `404` | Does not exist, or belongs to another account — deliberately indistinguishable |
| `500` | Internal error                                                                 |

`401`, `404`, and `500` are returned as a bare status with no response body.

<RequestExample>
  ```bash cURL theme={null}
  curl https://checkout.noxpay.io/v2/rfq/NOXabc123 \
    -H "api-key: <key>"
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://checkout.noxpay.io/v2/rfq/NOXabc123",
      headers={"api-key": "<key>"},
  )
  print(response.json())
  ```

  ```javascript Node.js theme={null}
  const response = await fetch(
    "https://checkout.noxpay.io/v2/rfq/NOXabc123",
    { headers: { "api-key": "<key>" } }
  );
  const data = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "version": "v2",
    "end2end": "NOXabc123",
    "created_at": "2026-07-01T12:00:00Z",
    "updated_at": "2026-07-01T12:00:31Z",
    "process": "otc_settlement.awaiting",
    "status": { "en": "Processing", "pt": "Processando", "es": "Procesando" },
    "substatus": { "en": "OTC Delivery Scheduled", "pt": "Entrega OTC Agendada", "es": "Entrega OTC Programada" },
    "message": { "en": "Trade locked; awaiting the settlement window", "pt": "Operação travada; aguardando a janela de liquidação", "es": "Operación fijada; esperando la ventana de liquidación" },
    "error_message": { "en": "", "pt": "", "es": "" },
    "attributes": {
      "from_currency": "TRX_USDT_S2UZ",
      "to_currency": "BRL",
      "quote_pair": "USDT (TRX)/BRL (PIX)",
      "from_amount_d0": 1000.0,
      "to_amount_d0": 5050.0,
      "rate_d0": 5.050,
      "fee_d0": 12.5,
      "from_amount_d1": 1000.0,
      "to_amount_d1": 5060.0,
      "rate_d1": 5.060,
      "fee_d1": 10.0,
      "settlement_eta_d0": "2026-07-01T19:00:00Z",
      "settlement_eta_d1": "2026-07-02T18:00:00Z",
      "expires_at": "2026-07-01T12:00:30Z",
      "renewable_up_to": "2026-07-01T12:10:00Z",
      "d0_available": "true",
      "settlement_day": "d0",
      "amount_from": 1000.0,
      "amount_to": 5050.0,
      "rate": 5.050,
      "fee_applied": 12.5,
      "settlement_eta": "2026-07-01T19:00:00Z",
      "amount_brl": 5050.0,
      "wallet_id": "...",
      "webhook": "https://yourapp.com/webhooks/nox"
    }
  }
  ```
</ResponseExample>
