---
title: "Retrieve transactions for a link"
method: POST
path: "/api/transactions/"
tags: ["Transactions"]
---

# Retrieve transactions for a link

`POST /api/transactions/`

Retrieve transactions for one or more accounts from a specific link.

> 📘 Transaction Periods and Retrieval
>
> When retrieving transactions, it is important to understand that the available transaction data ranges depend on each institution.  If you try to access older information than what we can access, we will return all the data we can read within that date range. For example, if you request transactions for the last year and we can only access the last six months, we will return the information corresponding to these six months of data.

## Query parameters

- `omit` string
- `fields` string

## Headers

- `X-Belvo-Request-Mode` 'async'

## Request body

- object — Request body for the Retrieve Transactions method.
  - `link` string, uuid, required — The `link.id` you want to retrieve information for.
  - `account` string, uuid — If provided, we return transactions only from this account.
  - `date_from` string, date, required — The date from which you want to start getting data for, in `YYYY-MM-DD` format. ⚠️ The value of `date_from` cannot be greater than `date_to`.
  - `date_to` string, date, required — The date you want to stop getting data for, in `YYYY-MM-DD` format. ⚠️ The value of `date_to` cannot be greater than today's date (in other words, no future dates).
  - `token` string — The MFA token generated by the institution which is required to continue a session.
  - `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 (when `save_data=false`)

- TransactionOpenFinanceBrazil[]
  - `id` string, uuid, required — Belvo's unique identifier for the current item.
  - `internal_identification` string, required — The institution's internal identification for the transaction. > **Non-nullable:** A value must be returned by Brazil's open finance network.
  - `account` AccountOpenFinanceBrazil, nullable, required — Details regarding the account.
    - `id` string, uuid, required — Belvo's unique identifier for the current item.
    - `link` string, uuid, nullable, required — The `link.id` the data belongs to.
    - `institution` InstitutionAccount, required — Details regarding the institution.
      - `name` string — The name of the institution, as designated by Belvo.
      - `type` 'bank' | 'fiscal' | 'employment' — The type of institution. We return one of the following values: - `bank` - `fiscal` - `employment`
    - `collected_at` string, date-time, required — The ISO-8601 timestamp when the data point was collected.
    - `created_at` string, date-time, required — The ISO-8601 timestamp of when the data point was created in Belvo's database.
    - `last_accessed_at` string, date-time, nullable, required — The ISO-8601 timestamp of Belvo's most recent successful access to the institution for the given link.
    - `category` 'ADVANCE_DEPOSIT_ACCOUNT' | 'CHECKING_ACCOUNT' | 'CREDIT_CARD' | 'FINANCING_ACCOUNT' | 'INVESTMENT_ACCOUNT' | 'INVOICE_FINANCING_ACCOUNT' | 'LOAN_ACCOUNT' | 'PENSION_FUND_ACCOUNT' | 'SAVINGS_ACCOUNT' | 'UNCATEGORIZED', nullable, required — The type of account. We return one of the following enum values: - `ADVANCE_DEPOSIT_ACCOUNT` - `CHECKING_ACCOUNT` - `CREDIT_CARD` - `FINANCING_ACCOUNT` - `INVESTMENT_ACCOUNT` - `INVOICE_FINANCING_ACCOUNT` - `LOAN_ACCOUNT` - `PENSION_FUND_ACCOUNT` - `SAVINGS_ACCOUNT` - `UNCATEGORIZED`
    - `balance_type` string, nullable, required — Indicates whether this account is either an `ASSET` or a `LIABILITY`. You can consider the balance of an `ASSET` as being positive, while the balance of a `LIABILITY` as negative.
    - `overdraft` AccountOverdraftOpenFinanceBrazil, nullable
      - `arranged` number, float, required — The agreed upon overdraft limit between the account holder and the institution. > **Non-nullable:** A value must be returned by Brazil's open finance network if the `overdraft` field is available.
      - `used` number, float, required — The overdraft value used. > **Non-nullable:** A value must be returned by Brazil's open finance network if the `overdraft` field is available.
      - `unarranged` number, float, required — The overdraft used that was not arranged between the account holder and the institution. > **Non-nullable:** A value must be returned by Brazil's open finance network if the `overdraft` field is available.
    - `type` string, required — The account type, as designated by the institution. > **Non-nullable:** A value must be returned by Brazil's open finance network.
    - `subtype` string, required — The account subtype, as designated by the institution. > **Non-nullable:** A value must be returned by Brazil's open finance network.
    - `name` string, nullable, required — The account name, as given by the institution.
    - `number` string, nullable, required — The account number, as designated by the institution.
    - `agency` string, nullable, required — The branch code where the product was opened.
    - `check_digit` string, nullable, required — The check digit of the product's number, if applicable.
    - `balance` AccountBalanceOpenFinanceBrazil, required — Details regarding the current and available balances for the account.
      - `current` number, float, nullable, required — The current balance is calculated differently according to the type of account. - **💰 Checking and saving accounts**: The user's account balance at the `collected_at` timestamp. - **💳 Credit cards**: The amount the user has spent in the current card billing period (see `credit_data.cutting_date` for information on when the current billing period finishes). - **🏡 Loan accounts**: The amount remaining to pay on the users's loan.
      - `available` number, float, nullable — The balance that the account owner can use. - **💰 Checking and saving accounts**: The available balance may be different to the `current` balance due to pending transactions. - **💳 Credit cards**: The credit amount the user still has available for the current period. The amount is calculated as `credit_data.credit_limit` minus `balance.current`. - **🏡 Loan accounts**: The present value required to pay off the loan, as provided by the institution. **Note:** If the institution does not provide this value, we return `null`.
      - `blocked` number, float — The amount that is currently blocked due to pending transactions. > **Non-nullable:** A value must be returned by Brazil's open finance network if the `balances` field is available.
      - `automatically_invested` number, float — The amount that is automatically invested (as agreed upon with the institution). > **Non-nullable:** A value must be returned by Brazil's open finance network if the `balances` field is available.
    - `currency` string, required — The three-letter currency code (ISO-4217). > **Non-nullable:** A value must be returned by Brazil's open finance network if the `balances` field is available.
    - `public_identification_name` string, nullable, required — The public name for the type of identification. For 🇧🇷 Brazilian savings and checking accounts, this field will be `AGENCY/ACCOUNT`.
    - `public_identification_value` string, nullable, required — The value for the `public_identification_name`. For 🇧🇷 OFDA Brazilian savings and checking accounts, this field will be the agency and bank account number, separated by a slash. For example: `0444/45722-0`. For 🇧🇷 OFDA Brazilian credit card accounts, we will return a string of concatenated credit card numbers associated with the account. For example: "8763,9076,5522"
    - `internal_identification` string, required — The institution's internal identification for the account. > **Non-nullable:** A value must be returned by Brazil's open finance network if the `balances` field is available.
    - `credit_data` AccountCreditDataOpenFinanceBrazil, nullable, required — Details regarding the credit cards associated with this account.
      - `collected_at` string, date-time, required — The ISO-8601 timestamp when the data point was collected.
      - `credit_limit` number, float, nullable, required — The upper credit limit of the card. > **Non-nullable:** A value must be returned by Brazil's open finance network.
      - `limits` AccountCreditDataLimitsOpenFinanceBrazil[]
        - `identification_number` string, nullable, required — The credit card number. **Note:** Often, this is just the last four digit of the credit card. > **Non-nullable:** A value must be returned by Brazil's open finance network.
        - `credit_limit` number, float, nullable, required — The limit of the credit card.
        - `used_amount` number, float, nullable, required — The amount used.
        - `available_amount` number, float, required — The amount still available. > **Non-nullable:** A value must be returned by Brazil's open finance network.
        - `is_limit_flexible` boolean, required — Boolean to indicate if the `credit_limit` is flexible. > **Non-nullable:** A value must be returned by Brazil's open finance network.
        - `type` 'TOTAL_LIMIT' | 'MODAL_LIMIT', required — The type of limit. We return one of the following values: - `TOTAL_LIMIT` - `MODAL_LIMIT` > **Non-nullable:** A value must be returned by Brazil's open finance network.
        - `consolidation_type` string, required — Indicates whether or not the credit limit is consolidated or individual. > **Non-nullable:** A value must be returned by Brazil's open finance network.
        - `line_name` string, nullable, required — The credit limit line name.
        - `line_name_additional_info` string, nullable, required — Additional information about the line name.
      - `cutting_date` string, date, nullable — The date when the credit card's bill is due.
      - `minimum_payment` number, float, nullable — The minimum amount that the account owner needs to pay in the current credit period.
      - `network` 'VISA' | 'MASTERCARD' | 'AMERICAN_EXPRESS' | 'DINERS_CLUB' | 'HIPERCARD' | 'BANDEIRA_PROPRIA' | 'CHEQUE_ELETRONICO' | 'ELO' | 'OTHER' — The credit network that the card is associated with. We return one of the following values: - `VISA` - `MASTERCARD` - `AMERICAN_EXPRESS` - `DINERS_CLUB` - `HIPERCARD` - `BANDEIRA_PROPRIA` - `CHEQUE_ELETRONICO` - `ELO` - `OTHER` > **Non-nullable:** A value must be returned by Brazil's open finance network.
      - `network_additional_info` string, nullable — Additional information about the credit card network.
      - `cards` AccountCreditDataCardsOpenFinanceBrazil[] — Details regarding the cards associated with the account.
        - `is_multiple` boolean, required — Boolean to indicate if this account has multiple credit cards. > **Non-nullable:** A value must be returned by Brazil's open finance network.
        - `identification_number` string, required — The credit card number. **Note:** Often, this is just the last four digit of the credit card. > **Non-nullable:** A value must be returned by Brazil's open finance network.
      - `next_payment_date` string, nullable — **Note:** This field is not applicable for OF Brazil and will return null.
      - `no_interest_payment` number, float, nullable — **Note:** This field is not applicable for OF Brazil and will return null.
      - `interest_rate` number, float, nullable — **Note:** This field is not applicable for OF Brazil and will return null.
      - `monthly_payment` number, nullable — **Note:** This field is not applicable for OF Brazil and will return null.
      - `last_payment_date` string, nullable — **Note:** This field is not applicable for OF Brazil and will return null.
    - `loan_data` AccountLoanDataOpenFinanceBrazil, nullable, required — The loan options associated with this account.
      - `collected_at` string, date-time, required — The ISO-8601 timestamp when the data point was collected.
      - `loan_code` string, required — The country-specific standardized contract number. > **Non-nullable:** A value must be returned by Brazil's open finance network.
      - `contract_amount` number, float, nullable, required — The initial total loan amount when the contract was signed, calculated by the institution. This amount includes the principal + interest + taxes + fees.
      - `total_effective_cost` number, float, nullable — The initial total effective cost of the loan.
      - `loan_type` string, required — The type of the loan, according to the institution. > **Non-nullable:** A value must be returned by Brazil's open finance network.
      - `outstanding_balance` number, float, nullable, required — The amount remaining to pay in total, including interest.
      - `interest_rates` AccountLoanDataInterestRateOpenFinanceBrazil[], required — Breakdown of the interest applied to the loan. With OF Brazil, we highly recommend using the information in `interest_rate_data` for in-depth information. > **Non-nullable:** A value must be returned by Brazil's open finance network.
        - `name` string, nullable, required — The name of the type of interest rate applied to the loan. **Note:** For OFDA Brazil, we recommend you use the `interest_rate_data.tax_type` parameter.
        - `type` 'MONTHLY' | 'YEARLY', required — The period that the interest is applied to the loan. > **Non-nullable:** A value must be returned by Brazil's open finance network.
        - `value` number, float, nullable, required — The interest rate (in percent or currency value). **Note:** For OFDA Brazil, we recommend you use the `interest_rate_data.pre_fixed_rate` and `interest_rate_data.post_fixed_rate`parameter.
        - `interest_rate_data` AccountLoanDataInterestRateDataOpenFinanceBrazil, nullable, required — Detailed information regarding the interest rate.
          - `tax_type` 'NOMINAL' | 'EFFECTIVE', required — The type of interest rate tax. We return one of the following values: - `NOMINAL` - `EFFECTIVE` > **Non-nullable:** A value must be returned by Brazil's open finance network.
          - `rate_type` 'SIMPLE' | 'COMPOUND', required — The type of interest rate. We return one of the following values: - `SIMPLE` - `COMPOUND` > **Non-nullable:** A value must be returned by Brazil's open finance network.
          - `type` 'MONTHLY' | 'YEARLY' — The period that the interest is applied to the loan. > **Non-nullable:** A value must be returned by Brazil's open finance network.
          - `calculation_base` string, required — The base calculation for the interest rate. > **Non-nullable:** A value must be returned by Brazil's open finance network.
          - `reference_index_type` 'WITHOUT_INDEX_TYPE' | 'PRE_FIXED' | 'POST_FIXED' | 'FLOATING' | 'INDEXED_PRICE' | 'RURAL_CREDIT' | 'OTHER_INDEX', required — The reference index rate. We return one of the following values: - `WITHOUT_INDEX_TYPE` - `PRE_FIXED` - `POST_FIXED` - `FLOATING` - `INDEXED_PRICE` - `RURAL_CREDIT` - `OTHER_INDEX` > **Non-nullable:** A value must be returned by Brazil's open finance network.
          - `reference_index_subtype` string, nullable, required — The subtype of the reference index rate.
          - `reference_index_info` string, nullable, required — Additional information regarding the reference index rate.
          - `pre_fixed_rate` number, float, required — The pre-fixed percentage rate of the interest rate. > **Non-nullable:** A value must be returned by Brazil's open finance network.
          - `post_fixed_rate` number, float, required — The post-fixed percentage rate of the interest rate. > **Non-nullable:** A value must be returned by Brazil's open finance network.
          - `additional_info` string, nullable, required — Additional information regarding the interest rate.
      - `fees` AccountLoanDataFeesOpenFinanceBrazil[], nullable, required — Breakdown of the fees applied to the loan.
        - `type` 'OPERATION_FEE' | 'INSURANCE_FEE' | 'OTHERS' | 'null', nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
        - `value` number, float, nullable, required — The total value of the fee. Same currency as the loan.
        - `name` string, required — The fee name. > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available.
        - `code` string, required — The fee code. > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available.
        - `fee_charge_type` 'SINGLE' | 'PER_INSTALLMENT', required — Indicates the type of charge. We return one of the following values: - `SINGLE` - `PER_INSTALLMENT` > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available.
        - `fee_charge` 'MINIMUM' | 'MAXIMUM' | 'FIXED' | 'PERCENTAGE', required — Billing method, as agreed upon with the institution. We return one of the following values: - `MINIMUM` - `MAXIMUM` - `FIXED` - `PERCENTAGE` > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available.
        - `rate` number, float, nullable, required — The percentage rate of the fee. Required when `fee_charge` is set to `PERCENTAGE`.
      - `contracted_charges` AccountLoanDataContractedChargesOpenFinanceBrazil[], nullable
        - `type` 'LATE_PAYMENT_INTEREST_FEE' | 'LATE_PAYMENT_PENALTY_FEE' | 'DEFAULT_INTEREST_FEE' | 'LOAN_CONTRACT_TAX' | 'LATE_PAYMENT_TAX' | 'NO_CHARGE' | 'OTHER' — The type of contracted charge. We return one of the following values: - `LATE_PAYMENT_INTEREST_FEE` - `LATE_PAYMENT_PENALTY_FEE` - `DEFAULT_INTEREST_FEE` - `LOAN_CONTRACT_TAX` - `LATE_PAYMENT_TAX` - `NO_CHARGE` - `OTHER` > **Non-nullable:** A value must be returned by Brazil's open finance network if the `contracted_charges` field is available.
        - `info` string, nullable — Additional information regarding the contracted charge.
        - `rate` number, float, nullable — The percentage rate of the charge, calculated based on the amount of the loan.
      - `collaterals` AccountLoanDataCollateralsOpenFinanceBrazil[], nullable, required — Details regarding any loan collaterals that the individual or business supplied.
        - `type` string, required — The type of collateral, as defined by the institution. > **Non-nullable:** A value must be returned by Brazil's open finance network if the `collaterals` field is available.
        - `subtype` string, required — The subtype of the collateral, as defined by the institution. > **Non-nullable:** A value must be returned by Brazil's open finance network if the `collaterals` field is available.
        - `currency` string, required — The three-letter currency code (ISO-4217). > **Non-nullable:** A value must be returned by Brazil's open finance network if the `collaterals` field is available.
        - `amount` number, float, required — The total amount of the bill. > **Non-nullable:** A value must be returned by Brazil's open finance network if the `collaterals` field is available.
      - `balloon_payments` AccountLoanDataBalloonPaymentsOpenFinanceBrazil[], nullable, required — Detailed information regarding any balloon payments for the loan, if applicable.
        - `due_date` string, date, nullable, required — The date that the balloon payment is to be paid, in `YYYY-MM-DD` format.
        - `currency` string, nullable, required — The three-letter currency code (ISO-4217).
        - `amount` number, float, nullable, required — The total amount of the balloon payment.
      - `installments_contract_term_frequency` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR' | 'NO_DEADLINE_REMAINING' | 'null', nullable, required — The frequency of contracted installment payments, as defined when the contract was first signed. We return one of the following: - `DAY` - `WEEK` - `MONTH` - `YEAR` - `NO_DEADLINE_REMAINING` - `null`
      - `installment_frequency` 'IRREGULAR' | 'WEEKLY' | 'FORTNIGHTLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'BIANNUALLY' | 'ANNUALLY' | 'OTHER', required — The frequency that the installments are paid. We return one of the following values: - `IRREGULAR` - `WEEKLY` - `FORTNIGHTLY` - `MONTHLY` - `BIMONTHLY` - `QUARTERLY` - `BIANNUALLY` - `ANNUALLY` - `OTHER` > **Non-nullable:** A value must be returned by Brazil's open finance network.
      - `installment_frequency_info` string, nullable, required — Additional information regarding the `installment_frequency`.
      - `first_installment_due_date` string, date, nullable, required — The date when the first installment of the loan is to be paid, in `YYYY-MM-DD` format.
      - `number_of_installments_total` integer, nullable, required — The total number of installments required to pay the loan.
      - `number_of_installments_outstanding` integer, nullable, required — The number of installments left to pay.
      - `number_of_installments_paid` integer, nullable, required — The number of installments already paid.
      - `number_of_installments_past_due` integer, nullable, required — The number of installments that are overdue.
      - `disbursement_dates` string[], nullable, required — An array of dates when the loan was disbursed.
      - `settlement_date` string, nullable, required — The date that the loan was settled, in `YYYY-MM-DD` format.
      - `contract_start_date` string, date, required — The date when the loan contract was signed, in `YYYY-MM-DD` format. > **Non-nullable:** A value must be returned by Brazil's open finance network.
      - `contract_end_date` string, date, nullable, required — The date when the loan is expected to be completed, in `YYYY-MM-DD` format.
      - `contract_remaining_frequency` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR' | 'NO_DEADLINE_REMAINING' | 'null', nullable, required — The frequency of the remaining contracted installment payments, as defined when the contract was first signed. We return one of the following: - `DAY` - `WEEK` - `MONTH` - `YEAR` - `NO_DEADLINE_REMAINING` - `null`
      - `contract_remaining_total` integer, nullable, required — The total number of installments remaining on the loan.
      - `amortization_schedule` string, required — The loan amortization schedule. > **Non-nullable:** A value must be returned by Brazil's open finance network.
      - `amortization_schedule_info` string, nullable, required — Additional information regarding the `amortization_schedule`.
      - `consignee_id` string, nullable, required — The ID of the consignee of the loan.
      - `contract_number` string, nullable, required — The contract number of the loan, as given by the institution.
      - `monthly_payment` number, float, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `principal` number, float, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `payment_day` string, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `outstanding_principal` number, float, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `credit_limit` number, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `last_period_balance` number, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `interest_rate` number, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `limit_day` string, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `cutting_day` string, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `cutting_date` string, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `last_payment_date` string, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `no_interest_payment` number, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
    - `funds_data` string, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
  - `collected_at` string, date-time, required — The ISO-8601 timestamp when the data point was collected.
  - `created_at` string, date-time, required — The ISO-8601 timestamp of when the data point was created in Belvo's database.
  - `value_date` string, date, required — The date when the transaction occurred, in `YYYY-MM-DD` format, in `YYYY-MM-DD` format. > **Non-nullable:** A value must be returned by Brazil's open finance network.
  - `transacted_at` string, date-time — The ISO-8601 timestamp of when the transaction occurred (in the UTC timezone). > **Note:** For transactions that occurred before 31.01.2024, the timestamp may only indicate the day (for example, `2016-01-29T00:00:00.000Z`). However, transactions that occurred after this date must include the date and time (`2024-02-20T12:29:03.374Z`). > **Institutions not abiding by this format:** > Some institutions may not provide the exact time of the transaction. In this case, the timestamp will be set to `00:00:00.000Z`. > Belvo has identified the following institutions as not abiding by the regulation and have raised the issue with regulators: Bradesco, Itau, and Sicoob. > **Non-nullable:** A value must be returned by Brazil's open finance network for **credit card and checking account transactions**.
  - `accounting_date` string, nullable, required — The date when the transaction was processed and accounted for by the institution, in `YYYY-MM-DD` format. > **Non-nullable:** A value must be returned by Brazil's open finance network for **credit card transactions**.
  - `inferred_accounting_date` string, date — In the case that the transaction occured on a weekend or public holiday, Belvo will infer the date that the transaction is accounted for by the institution. Typically, this is the next business day.
  - `amount` number, float, required — The transaction amount. ℹ️ The amount displayed is always positive as we indicate the direction of the transaction in the `type` parameter. > **Non-nullable:** A value must be returned by Brazil's open finance network.
  - `local_currency_amount` number, float, nullable, required — The value of the transaction in the local currency. > **Non-nullable:** A value must be returned by Brazil's open finance network for **credit card transactions**.
  - `balance` number, float, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
  - `currency` string, nullable, required — The three-letter currency code (ISO-4217).
  - `description` string, nullable, required — The description of transaction provided by the institution. Usually this is the text that the end user sees in the online platform. > **Non-nullable:** A value must be returned by Brazil's open finance network.
  - `observations` string, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
  - `merchant` TransactionMerchantData, nullable, required — Additional data regarding the merchant involved in the transaction. We only return merchant information for new transactions made from *checking* or *credit card* accounts. > **Get merchant information** We retrieve the merchant information for a transaction as part of our <a href="https://developers.belvo.com/docs/banking#categorizing-transactions" target="_blank">Transaction categorization</a> product, turning raw data into actionable insights. To enable this product, just <a href="https://belvo.com/contact/?utm_source=documentation" target="_blank">reach out</a> to us, and we'll get right to it.
    - `logo` string, nullable — The URL to the merchant's logo.
    - `website` string, nullable — The URL to the merchant's website.
    - `merchant_name` string — The name of the merchant.
  - `category` 'Bills & Utilities' | 'Credits & Loans' | 'Deposits' | 'Fees & Charges' | 'Food & Groceries' | 'Home & Life' | 'Income & Payments' | 'Insurance' | 'Investments & Savings' | 'Online Platforms & Leisure' | 'Personal Shopping' | 'Taxes' | 'Transfers' | 'Transport & Travel' | 'Unknown' | 'Withdrawal & ATM' | 'null', nullable, required — The name of the transaction category. > **Get transaction categorization** With <a href="https://developers.belvo.com/docs/banking#categorizing-transactions" target="_blank">Transaction categorization</a>, we clean and categorize transactions for you, turning raw data into actionable insights. To enable this feature, just <a href="https://belvo.com/contact/?utm_source=documentation" target="_blank">reach out</a> to us, and we'll get right to it. We return one of the following enum values: - `Bills & Utilities` - `Credits & Loans` - `Deposits` - `Fees & Charges` - `Food & Groceries` - `Home & Life` - `Income & Payments` - `Insurance` - `Investments & Savings` - `Online Platforms & Leisure` - `Personal Shopping` - `Taxes` - `Transfers` - `Transport & Travel` - `Unknown`* - `Withdrawal & ATM` - `null` \* For clients not using our Transaction Categorization product, we return `null` instead.
  - `subcategory` 'Electricity & Energy' | 'Rent' | 'Telecommunications' | 'Water' | 'Auto' | 'Credit Card' | 'Instalment' | 'Interest & Charges' | 'Mortgage' | 'Pay Advance' | 'Personal' | 'Adjustments' | 'Bank Fees' | 'Chargeback' | 'Refund' | 'Blocked Balances' | 'Alimony' | 'Alcohol & Tobacco' | 'Bakery & Coffee' | 'Bars & Nightclubs' | 'Convenience Store' | 'Delivery' | 'Groceries' | 'Restaurants' | 'Education' | 'Gyms & Fitness' | 'Hair & Beauty' | 'Health' | 'Home Decor & Appliances' | 'Laundry & Dry Cleaning' | 'Pharmacies' | 'Professional Services' | 'Veterinary Services' | 'Freelance' | 'Interest' | 'Retirement' | 'Salary' | 'Government' | 'Home Insurance' | 'Auto Insurance' | 'Health & Life Insurance' | 'Savings' | 'Fixed income' | 'Equity' | 'Investment Funds' | 'Derivatives' | 'Cryptocurrencies' | 'Apps, Software and Cloud Services' | 'Events, Parks and Museums' | 'Gambling' | 'Gaming' | 'Lottery' | 'Movie & Audio' | 'Books & News' | 'Clothing & Accessories' | 'Department Store' | 'Electronics' | 'E-commerce' | 'Gifts' | 'Office Supplies' | 'Pet Supplies' | 'Auto Tax & Fees' | 'Donation' | 'Government Fees' | 'Income Tax' | 'Real Estate Tax & Fees' | 'Tax Return' | 'Accommodation' | 'Auto Expenses' | 'Auto Rental' | 'Flights' | 'Gas' | 'Mileage Programs' | 'Parking & Tolls' | 'Public Transit' | 'Taxis & Rideshares' | 'Other' | 'null', nullable, required — The transaction subcategory. > **Get transaction categorization** For clients not using our <a href="https://developers.belvo.com/docs/banking#categorizing-transactions" target="_blank">Transaction categorization</a>, we return `null` instead. To enable this feature, just <a href="https://belvo.com/contact/?utm_source=documentation" target="_blank">reach out</a> to us, and we'll get right to it. We return one of the following enum values: - `Electricity & Energy` - `Rent` - `Telecommunications` - `Water` - `Auto` - `Credit Card` - `Instalment` - `Interest & Charges` - `Mortgage` - `Pay Advance` - `Personal` - `Adjustments` - `Bank Fees` - `Chargeback` - `Refund` - `Blocked Balances` - `Alimony` - `Alcohol & Tobacco` - `Bakery & Coffee` - `Bars & Nightclubs` - `Convenience Store` - `Delivery` - `Groceries` - `Restaurants` - `Education` - `Gyms & Fitness` - `Hair & Beauty` - `Health` - `Home Decor & Appliances` - `Laundry & Dry Cleaning` - `Pharmacies` - `Professional Services` - `Veterinary Services` - `Freelance` - `Interest` - `Retirement` - `Salary` - `Government` - `Home Insurance` - `Auto Insurance` - `Health & Life Insurance` - `Savings` - `Fixed income` - `Equity` - `Investment Funds` - `Derivatives` - `Cryptocurrencies` - `Apps, Software and Cloud Services` - `Events, Parks and Museums` - `Gambling` - `Gaming` - `Lottery` - `Movie & Audio` - `Books & News` - `Clothing & Accessories` - `Department Store` - `Electronics` - `E-commerce` - `Gifts` - `Office Supplies` - `Pet Supplies` - `Auto Tax & Fees` - `Donation` - `Government Fees` - `Income Tax` - `Real Estate Tax & Fees` - `Tax Return` - `Accommodation` - `Auto Expenses` - `Auto Rental` - `Flights` - `Gas` - `Mileage Programs` - `Parking & Tolls` - `Public Transit` - `Taxis & Rideshares` - `Other` - `null`
  - `reference` string, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
  - `type` 'OUTFLOW' | 'INFLOW' | 'null', nullable, required — The direction of the transaction: - `INFLOW` indicates money coming into the account. - `OUTFLOW` indicates money going out of the account. - `null` when no information was present regarding the direction of the transaction.
  - `status` 'PENDING' | 'PROCESSED' | 'UNCATEGORIZED' | 'null', nullable, required — The status of the transaction. We return one of the following values: - `PROCESSED` (The transaction has been processed by the institution.) - `PENDING` (The institution clearly states that the transaction has not yet been processed.) - `UNCATEGORIZED` (deprecated) - `null` (deprecated)
  - `credit_card_data` TransactionCreditCardDataOpenFinanceBrazil, nullable, required — Additional data provided by the institution for credit card transactions.
    - `collected_at` string, date-time, required — The ISO-8601 timestamp when the data point was collected.
    - `bill_name` string, nullable, required — The title of the monthly credit card bill the transaction belongs to. The format of the returned value is institution specific, however, some common examples are: - diciembre-2021 - dec-2021 - dec-21 > **Note**: This field is only returned for 'closed' bills (meaning the billing period has ended and the bill has been emitted). If the billing period is still ongoing, we return `null`.
    - `bill_due_date` string, date, nullable — The date that the bill is due to be paid, in `YYYY-MM-DD` format. > **Note**: This field is only returned for 'closed' bills (meaning the billing period has ended and the bill has been emitted). If the billing period is still ongoing, we return `null`.
    - `bill_internal_identification` string, nullable — The institution's internal identifier for the bill. > **Note**: This field is only returned for 'closed' bills (meaning the billing period has ended and the bill has been emitted). If the billing period is still ongoing, we return `null`.
    - `bill_status` string, nullable, required — **Note:** This field is not applicable for OFDA Brazil and will return `null`.
    - `previous_bill_total` string, nullable, required — **Note:** This field is not applicable for OFDA Brazil and will return `null`.
    - `bill_amount` number, float, nullable, required — The bill amount, as of `collected_at`. For more information, see `credit_card_bill`.
    - `card_number` string, required — The credit card number. **Note:** Often, this is just the last four digit of the credit card. > **Non-nullable:** A value must be returned by Brazil's open finance network.
    - `fee_type` 'ANNUAL_FEE' | 'NATIONAL_WITHDRAWAL' | 'INTERNATIONAL_WITHDRAWAL' | 'EMERGENCY_CREDIT_EVALUATION_FEE' | 'DUPLICATE_ISSUANCE_FEE' | 'PAYMENT_FEE' | 'SMS_FEE' | 'OTHERS' | 'null', nullable, required — The fee that can be charged for a card transaction. We return one of the following values: - `ANNUAL_FEE` - `NATIONAL_WITHDRAWAL` - `INTERNATIONAL_WITHDRAWAL` - `EMERGENCY_CREDIT_EVALUATION_FEE` - `DUPLICATE_ISSUANCE_FEE` - `PAYMENT_FEE` - `SMS_FEE` - `OTHERS` - `null`
    - `fee_type_additional_info` string, nullable, required — Additional information regarding the fee.
    - `credits_type` 'REVOLVING_CREDIT' | 'BILL_INSTALLMENT_PAYMENT' | 'LOAN' | 'OTHERS' | 'null', nullable, required — Other types of credit that have been contracted on the card. We return one of the following values: - `REVOLVING_CREDIT` - `BILL_INSTALLMENT_PAYMENT` - `LOAN` - `OTHERS` - `null`
    - `credits_type_additional_info` string, nullable, required — Additional information regarding the credit type.
    - `installment_identifier` string, required — An identifier for the installment, according to the institution. > **Non-nullable:** A value must be returned by Brazil's open finance network.
    - `number_of_installments` integer, nullable, required — The total number of installments for the card transaction, if applicable.
    - `credit_card_bill` TransactionCreditCardBill, nullable — Information regarding the bill that this transaction appears on.
      - `id` string, uuid — The unique identifier created by Belvo used to reference the current credit card bill. > **Note**: This field is only returned for 'closed' bills (meaning the billing period has ended and the bill has been emitted). If the billing period is still ongoing, we return `null`.
      - `internal_identification` string, nullable — The institution's internal identifier for the bill. > **Note**: This field is only returned for 'closed' bills (meaning the billing period has ended and the bill has been emitted). If the billing period is still ongoing, we return `null`.
  - `counterparty` TransactionCounterparty, nullable, required — Information regarding the other party of this transaction, if available.
    - `type` 'INDIVIDUAL' | 'COMPANY' | 'null', nullable, required — The transaction counterparty type. We return one of the following values: - `INDIVIDUAL` - `COMPANY` - `null`
    - `document_number` string, nullable, required — The document number of the representative. **Note**: For Brazil: - When the `type` is `INDIVIDUAL`, this is the CPF number. - When the `type` is `COMPANY`, this is the CNPJ number.
    - `clearing_code` string, nullable, required — The banking clearing code.
    - `agency` string, nullable, required — The branch code where the account was opened.
    - `check_digit` string, nullable, required — The check digit of the account number, if applicable.
    - `number` string, nullable, required — The account number of the product.
  - `loan_data` TransactionLoanDataOpenFinanceBrazil, nullable, required — Information regarding the loan transactional data, if applicable.
    - `is_detached` boolean, required — Boolean to indicate whether or not this loan payment was part of the original payment schedule. > **Non-nullable:** A value must be returned by Brazil's open finance network.
    - `installment_id` string, nullable, required — The institution's unique ID for this payment installment.
    - `fees` TransactionLoanDataFees[], required — Details regarding the fees associated with this payment. Only applicable when `is_detached` = `true`.
      - `name` string, required — The name of the fee. > **Non-nullable:** A value must be returned by Brazil's open finance network when the `fees` field is present.
      - `code` string, required — The institution's code for the fee. > **Non-nullable:** A value must be returned by Brazil's open finance network when the `fees` field is present.
      - `amount` number, float, nullable, required — The amount of the fee. > **Non-nullable:** A value must be returned by Brazil's open finance network when the `fees` field is present.
    - `charges` TransactionLoanDataCharges[], required — Details regarding the charges associated with this payment. Only applicable when `is_detached` = `true`.
      - `type` string, required — The type of charge. > **Non-nullable:** A value must be returned by Brazil's open finance network when the `charges` field is present
      - `info` string, required — Additional information regarding the charge `type`.
      - `amount` number, float, required — The amount of the charge. > **Non-nullable:** A value must be returned by Brazil's open finance network when the `charges` field is present
  - `payment_type` 'FULL' | 'INSTALLMENT' | 'null', nullable, required — The transaction payment type. We return one of the following values: - `FULL` - `INSTALLMENT` - `null`
  - `operation_type` string, required — The type of transaction. For example, a PIX payment or a deposit. > **Non-nullable:** A value must be returned by Brazil's open finance network for **non-loan account transactions**.
  - `operation_type_additional_info` string, nullable, required — Additional information regarding the `operation_type`, if applicable.
  - `mcc` integer, nullable, required — The four-digit (ISO-18245 compliant) Merchant Category Code (MCC) for the transaction. This field is only applicable for credit card transactions.

## Other responses

- `201` — Created (when `save_data=true`)
- `202` — Request Accepted (when `X-Belvo-Request-Mode` is `async`)
- `400` — Bad request error
- `401` — Unauthorized
- `403` — Access to Belvo API denied
- `404` — Not Found Error
- `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/3423c786ece5/schema)
