---
title: "Retrieve exchanges for a link"
method: POST
path: "/api/br/exchanges/"
tags: ["Exchanges"]
---

# Retrieve exchanges for a link

`POST /api/br/exchanges/`

{% admonition type="warning" name="Coming Soon" %}
  This endpoint is currently undergoing development. As such, minor changes or bugs may occur. If you encounter any issues, please contact your Belvo representative.
{% /admonition %}

Retrieve exchange operations for an existing link. By default, we retrieve exchange data for the last 365 days.

> **Note**: When you retrieve exchanges, we automatically retrieve the exchange history for each exchange operation found.

## Query parameters

- `omit` string
- `fields` string

## Request body

- object
  - `link` string, uuid, required — The `link.id` you want to retrieve information for.
  - `date_from` string, date — The starting date for which you want to retrieve exchange data, in `YYYY-MM-DD` format. If not provided, we retrieve data for the last 365 days.
  - `date_to` string, date — The ending date for which you want to retrieve exchange data, in `YYYY-MM-DD` format. If not provided, we retrieve data up to today.
  - `save_data` boolean — Indicates whether or not to persist the data in Belvo. By default, this is set to `true` and we return a 201 Created response. When set to `false`, the data won't be persisted and we return a 200 OK response.

## Response `200`

OK - Exchanges Retrieved (when `save_data=false`)

- Exchange[]
  - `id` string, uuid, required — Belvo's unique identifier for the current item.
  - `link` string, uuid, nullable, required — The `link.id` the data belongs to.
  - `created_at` string, date-time, required — The ISO-8601 timestamp of when the data point was created in Belvo's database.
  - `collected_at` string, date-time, required — The ISO-8601 timestamp when the data point was collected.
  - `operation_identifier` string, required — The network's unique identifier for the exchange operation.
  - `operation_number` string, nullable — The 12-digit operation registration number from the Brazil Central Bank (Bacen). This can be `null` if the operation has not yet been registered.
  - `operation_type` 'COMPRA' | 'VENDA', required — The type of exchange operation. We return one of the following enum values: - `COMPRA` - Buy (client is buying foreign currency) - `VENDA` - Sell (client is selling foreign currency)
  - `operation_requested_at` string, date-time, required — The ISO-8601 timestamp when the exchange operation was contracted.
  - `authorized_institution_identifier` integer, required — The CNPJ of the institution authorized to conduct the operation.
  - `authorized_institution_name` string, required — The name of the authorized institution.
  - `intermediary_institution_identifier` integer, nullable — The CNPJ of the intermediary institution, if one was used.
  - `intermediary_institution_name` string, nullable — The name of the intermediary institution. Must be present if `intermediary_institution_identifier` is available.
  - `operation_due_date` string, date, required — The currently scheduled settlement date for the operation, in `YYYY-MM-DD` format. > **Note**: This field is updated if any changes are made to the exchange operation.
  - `local_operation_tax_amount` number, float, required — The exchange rate applied to the operation.
  - `local_operation_tax_currency` string, required — The three-letter currency code (ISO-4217) for the exchange rate.
  - `local_operation_value_amount` number, float, required — The total value of the operation in local currency.
  - `local_operation_value_currency` string, required — The three-letter currency code (ISO-4217) for the local currency.
  - `foreign_operation_value_amount` number, float, required — The total value of the operation in the foreign currency.
  - `foreign_operation_value_currency` string, required — The three-letter currency code (ISO-4217) for the foreign currency.
  - `operation_outstanding_balance_amount` number, float, nullable — The outstanding balance to be settled, in the foreign currency. In the case that the exchange operation is scheduled to be settled within two days of the `operation_requested_at`, this value can be `null`.
  - `operation_outstanding_balance_currency` string, nullable — The currency of the outstanding balance. Required if `operation_outstanding_balance_amount` is not `null`.
  - `tev_amount_amount` number, float, nullable — The "All-in Rate" (Valor Efetivo Total/Total Effective Cost), representing the total cost of the operation. Required when the operation is scheduled to be settled within two days of the `operation_requested_at` and does not exceed $100,000 USD.
  - `tev_amount_currency` string, nullable — The currency of the VET (always BRL). Required if `tev_amount_amount` is not `null`.
  - `local_currency_advance_percentage` number, float, nullable — The percentage of the foreign currency value that was granted to the client in advance. In the case that the exchange operation is scheduled to be settled within two days of the `operation_requested_at`, this value can be `null`.
  - `settlement_method` 'CONTA_DEPOSITO_MOEDA_ESTRANGEIRA_PAIS' | 'CONTA_DEPOSITO_OU_PAGAMENTO_EXPORTADOR_INSTITUICAO_EXTERIOR' | 'ESPECIE_CHEQUES_VIAGEM' | 'CARTAO_PREPAGO' | 'TELETRANSMISSAO' | 'SEM_MOVIMENTACAO_VALORES' | 'DEMAIS' | 'CARTA_CREDITO_A_VISTA' | 'CARTA_CREDITO_A_PRAZO' | 'CONTA_DEPOSITO' | 'CHEQUE' | 'TITULOS_VALORES' | 'SIMBOLICA' | 'CONTA_DEPOSITO_EXPORTADOR_MANTIDA_NO_EXTERIOR' | 'CONVENIO_PAGAMENTOS_E_CREDITOS_RECIPROCOS' | 'OUTRO_NAO_MAPEADO_OFB' | 'null', nullable, required — The method of delivery for the foreign currency. We return one of the following enum values: - `CARTA_CREDITO_A_VISTA` (Code 10) - Sight letter of credit - `CARTA_CREDITO_A_PRAZO` (Code 15) - Term letter of credit - `CONTA_DEPOSITO` (Code 20) - Deposit account - `CONTA_DEPOSITO_MOEDA_ESTRANGEIRA_PAIS` (Code 21) - Foreign currency deposit account in country - `CONTA_DEPOSITO_EXPORTADOR_MANTIDA_NO_EXTERIOR` (Code 22) - Exporter's deposit account maintained abroad - `CONTA_DEPOSITO_OU_PAGAMENTO_EXPORTADOR_INSTITUICAO_EXTERIOR` (Code 23) - Deposit account or payment to exporter at foreign institution - `CONVENIO_PAGAMENTOS_E_CREDITOS_RECIPROCOS` (Code 25) - Reciprocal payments and credits agreement - `CHEQUE` (Code 30) - Check - `ESPECIE_CHEQUES_VIAGEM` (Code 50) - Cash or traveler's checks - `CARTAO_PREPAGO` (Code 55) - Prepaid card - `TELETRANSMISSAO` (Code 65) - Wire transfer - `TITULOS_VALORES` (Code 75) - Securities/bonds - `SIMBOLICA` (Code 90) - Symbolic - `SEM_MOVIMENTACAO_VALORES` (Code 91) - No movement of funds - `DEMAIS` (Code 99) - Others - `OUTRO_NAO_MAPEADO_OFB` - Other not mapped by Open Finance Brazil - `null`
  - `operation_category_code` string, required — The 5-digit Central Bank code that classifies the "nature" of the operation. This code must comply with the nature codes referenced in Resolution 277 or Circular 3690, as applicable to the exchange contract.

## Other responses

- `201` — OK - Exchanges Retrieved (when `save_data=true`)
- `400` — Bad request error
- `401` — Unauthorized
- `403` — Access to Belvo API denied
- `408` — Request Timeout
- `428` — MFA Token Required
- `500` — Unexpected Error

---

[API](https://skmtc.net/belvo/apis/belvo-api-docs.md) · [All operations](https://skmtc.net/belvo/apis/belvo-api-docs/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/belvo/belvo-api-docs/revisions/e82dca4a4b97/schema)
