Belvo API Docs (1.216.0)

Introduction

Reach new audiences and convert more users by easily and safely connecting to their financial data, understanding their behavior and enabling instant payments with open finance. Through our API, you can access:

Available Information and Payment Methods

Belvo is an open banking API for Latin America that allows companies to access banking and fiscal information in a secure as well as agile way.

Through our API, you can access:

  • Banking Information in Brazil
  • Employment Information in Brazil
  • Employment Information in Mexico
  • Fiscal Information in Mexico
  • Fiscal Information in Chile

You can also use our API to make payments in:

  • Brazil
  • Mexico

Data Dictionaries

If you woud like the response documentation in Excel or CSV form, please download them from our public GitHub Reposiitory: Belvo Open Finance Data Dictionaries.

Our EXCEL and CSV files are additionally localized into Spanish and Portuguese (Brazil).

Environments

We currently offer two environments: sandbox and production.

Sandbox

Available for:

  • 🟢 Aggregation and Enrichment
  • ⚪️ Payment Initiation

Use our Sandbox environment to build your integration. We offer dummy data that mimics that of real-world use cases, which means you can test out all the endpoints, use the widget, and implement webhooks - just as you would with real-world data!

All you need to get started with the Sandbox environment is to get your API keys. We really recommend that you start creating your integration in this environment.

Production

Available for:

  • 🟢 Aggregation and Enrichment
  • 🟢 Payment Initiation

After you have tested your integration in the Sandbox environment and are ready to go live, you'll need to request access to our Production environment. After you request access, our Sales Team will get in contact with you to schedule a meeting just to ensure your needs are met, and then you'll just need to go through a certification process with one of our engineers to make sure that your integration is running optimally. To prepare for the certification meeting, just follow our Integration checklist.

Once your integration is certified, all you'll need to do is:

  • Request Production API keys (and change your Sandbox API keys in the code to these new ones).
  • Change the base URL that you make requests to from sandbox.belvo.com to api.belvo.com.
  • If you're using webhooks, make sure to set a Production URL for your webhooks.

Response codes

We use the following HTTP status code in the response depending on the success or failure:

Status CodeDescription
200Success - The content is available in the response body.
201Success - The content was created successfully on Belvo.
204Success - No content to return.
400Bad Request Error - Request returned an error, detail in the content.
401Unauthorized - The Belvo credentials provided are not valid.
404Not Found - The resource you try to access cannot be found.
405Method Not Allowed - The HTTP method you are using is not accepted for this resource.
408Request Timeout - The request timed out and was terminated by the server.
428MFA Token Required - MFA token was required by the institution to connect.
500Internal Server Error - The detail of the error is available in the response body.

Error handling

Belvo API errors are returned in JSON format. For example, an error might look like this:

[
    {
      "request_id": "a6e1c493d7a29d91aed4338e6fcf077d",
      "message": "This field is required.",
      "code": "required",
      "field": "link"
    }
]

Typically, an error response will have the following parameters:

  • request_id: a unique ID for the request, you should share it with the Belvo support team for investigations.
  • message: human-readable description of the error.
  • code: a unique code for the error. Check the table below to see how to handle each error code.
  • field (optional): The specific field in the request body that has an issue.

Request identifier

When you need help with a specific error, include the request identifier (request_id) in your message to the Belvo support team. This will speed up investigations and get you back up and running in no time at all.

Error codes and troubleshooting

For a full list of errors and how to troubleshoot them, please see our dedicated Error Handling article.

Retry policy

50x errors

Implement an automated exponential backoff of up to five retries. We recommend using a base interval of three seconds with a factor of two. For example, the first retry should be after three seconds, the second retry after six seconds (2 * 3), the third retry after 12 seconds (2 * 6), the fourth retry after 24 seconds (2 * 12), and the fifth retry after 48 seconds (2 * 24).

40x errors

You should not retry making requests if you receive a 40x response, as this is a client error.

The only exception is the “Too Many Sessions” error, as it means that your end-user is accessing the account from another browser at the same time. In this case, please implement the same retry policy as with 50x errors.

Deprecated fields

In our schema, you may see that a field has been marked as deprecated. This means that this field is no longer maintained by the Belvo team. You may still receive data for this field depending on the institution, however, you should not rely on this field.

OpenAPI: required and nullable fields

In our API specification, you'll see that some response parameters will have a required annotation. According to the OpenAPI specification, when a response parameter is marked as required, this means that the response key must be returned. However, the value of that response parameter can be null.

📘 Info

In short, any response parameter marked as required will be returned by our API, but the value can be set to null.

Download OpenAPI description
Languages
Servers
Mock server
https://developers.belvo.com/_mock/apis/belvoopenapispec/
Sandbox
https://sandbox.belvo.com/

Institutions

An institution is an entity that Belvo can access information from. It can be a:

  • bank institution, such as Banamex retail banking or HSBC business banking.
  • fiscal institution, such as the Servicio de Administración Tributaria (SAT) in Mexico.

You can see a complete list of institutions by either consulting our Institutions article or making a List request to this endpoint.

Operations

Widget Access Token

Operations

Consents

Operations

Owners

An owner represents the person who has access to a Link and is the owner of all the accounts inside the Link.

You can use this endpoint in order to get useful information about your client, such as:

  • their full name
  • key contact information
  • information about the ID document they used when opening the account
Operations

Accounts

An account is the representation of a bank account inside a financial institution. A user can have one or more accounts in an institution.

For example, one user (or link) can have a checking account, several credit cards, and a loan account.

Querying for a user's account information is useful as you can get information regarding:

  • what types of accounts the user has.
  • the balance for each account (savings, checking, credit card, loan, and so on).
  • detailed information regarding their credit card spending.
  • the current situation of any loans they may have.
Operations

Balances

Operations

Transactions

A transaction contains the detailed information of each movement inside an account. For example, a purchase at a store or a restaurant.

Operations

Transaction Object (Brazil)

idstring(uuid)required

Belvo's unique identifier for the current item.

Example: "0d3ffb69-f83b-456e-ad8e-208d0998d71d"
internal_identificationstring[ 1 .. 100 ] characters^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$required

The institution's internal identification for the transaction.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl"
accountobject or nullrequired

Details regarding the account.

idstring(uuid)required

Belvo's unique identifier for the current item.

Example: "0d3ffb69-f83b-456e-ad8e-208d0998d71d"
linkstring or null(uuid)required

The link.id the data belongs to.

Example: "30cb4806-6e00-48a4-91c9-ca55968576c8"
institutionobjectrequired

Details regarding the institution.

namestring

The name of the institution, as designated by Belvo.

Please see our Institutions DevPortal article for a detailed list of institution names.

Example: "erebor_mx_retail"
typestring

The type of institution. We return one of the following values:

  • bank
  • fiscal
  • employment
Enum"bank""fiscal""employment"
collected_atstring(date-time)required

The ISO-8601 timestamp when the data point was collected.

Example: "2022-02-09T08:45:50.406032Z"
created_atstring(date-time)required

The ISO-8601 timestamp of when the data point was created in Belvo's database.

Example: "2022-02-09T08:45:50.406032Z"
last_accessed_atstring or null(date-time)required

The ISO-8601 timestamp of Belvo's most recent successful access to the institution for the given link.

Example: "2021-03-09T10:28:40.000Z"
categorystring or nullrequired

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
Enum"ADVANCE_DEPOSIT_ACCOUNT""CHECKING_ACCOUNT""CREDIT_CARD""FINANCING_ACCOUNT""INVESTMENT_ACCOUNT""INVOICE_FINANCING_ACCOUNT""LOAN_ACCOUNT""PENSION_FUND_ACCOUNT""SAVINGS_ACCOUNT""UNCATEGORIZED"
Example: "CHECKING_ACCOUNT"
balance_typestring or nullrequired

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.

Example: "ASSET"
overdraftobject or null
typestringrequired

The account type, as designated by the institution.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "STANDARD_NACIONAL"
subtypestringrequired

The account subtype, as designated by the institution.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "FINANCIAMENTO_HABITACIONAL_SFH"
namestring or nullrequired

The account name, as given by the institution.

Example: "Cuenta Perfiles- M.N. - MXN-666"
numberstring or nullrequired

The account number, as designated by the institution.

Example: "4057068115181"
agencystring or null<= 4 characters^\d{1,4}$required

The branch code where the product was opened.

Example: "6272"
check_digitstring or null<= 2 characters[\w\W\s]*required

The check digit of the product's number, if applicable.

Example: "7"
balanceobjectrequired

Details regarding the current and available balances for the account.

currentnumber or null(float)^\d{1,15}\.\d{2,4}$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.

Example: 5874.13
availablenumber or null(float)^\d{1,15}\.\d{2,4}$

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.

Example: 5621.12
blockednumber(float)^\d{1,15}\.\d{2,4}$

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.

Example: 60.32
automatically_investednumber(float)^\d{1,15}\.\d{2,4}$

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.

Example: 131.5
currencystring<= 3 characters^[A-Z]{3}$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.

Example: "BRL"
public_identification_namestring or nullrequired

The public name for the type of identification. For 🇧🇷 Brazilian savings and checking accounts, this field will be AGENCY/ACCOUNT.

Example: "AGENCY/ACCOUNT"
public_identification_valuestring or nullrequired

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"

Example: "0444/45722-0"
internal_identificationstring<= 100 characters^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$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.

Example: "92792126019929279212650822221989319252576"
credit_dataobject or nullrequired

Details regarding the credit cards associated with this account.

collected_atstring(date-time)required

The ISO-8601 timestamp when the data point was collected.

Example: "2022-02-09T08:45:50.406032Z"
credit_limitnumber or null(float)<= 20 characters^\d{1,15}\.\d{2,4}$required

The upper credit limit of the card.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: 192000.9
limitsArray of objects
cutting_datestring or null(date)<= 10 characters^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?...

The date when the credit card's bill is due.

Example: "2019-12-11"
minimum_paymentnumber or null(float)<= 20 characters^\d{1,15}\.\d{2,4}$

The minimum amount that the account owner needs to pay in the current credit period.

Example: 2400.3
networkstring

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.

Enum"VISA""MASTERCARD""AMERICAN_EXPRESS""DINERS_CLUB""HIPERCARD""BANDEIRA_PROPRIA""CHEQUE_ELETRONICO""ELO""OTHER"
Example: "MASTERCARD"
network_additional_infostring or null<= 100 characters[\w\W\s]*

Additional information about the credit card network.

Example: "It's an orange card."
cardsArray of objectsnon-empty

Details regarding the cards associated with the account.

next_payment_datestring or null

Note: This field is not applicable for OF Brazil and will return null.

Example: null
no_interest_paymentnumber or null(float)

Note: This field is not applicable for OF Brazil and will return null.

Example: null
interest_ratenumber or null(float)

Note: This field is not applicable for OF Brazil and will return null.

Example: null
monthly_paymentnumber or nullDeprecated

Note: This field is not applicable for OF Brazil and will return null.

Example: null
last_payment_datestring or nullDeprecated

Note: This field is not applicable for OF Brazil and will return null.

Example: null
loan_dataobject or nullrequired

The loan options associated with this account.

collected_atstring(date-time)required

The ISO-8601 timestamp when the data point was collected.

Example: "2022-02-09T08:45:50.406032Z"
loan_codestring[ 22 .. 67 ] characters^\d{22,67}$required

The country-specific standardized contract number.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "92792126019929279212650822221989319252576"
contract_amountnumber or null(float)^\d{1,15}\.\d{2,4}$required

The initial total loan amount when the contract was signed, calculated by the institution. This amount includes the principal + interest + taxes + fees.

Example: 202000
total_effective_costnumber or null(float)^\d{1,15}\.\d{2,4}$

The initial total effective cost of the loan.

Example: 209000
loan_typestringrequired

The type of the loan, according to the institution.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "HOME_EQUITY"
outstanding_balancenumber or null(float)[ 4 .. 20 ] characters^\d{1,15}\.\d{2,4}$required

The amount remaining to pay in total, including interest.

Example: 182000
interest_ratesArray of objectsrequired

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.

namestring or nullrequired

The name of the type of interest rate applied to the loan.

Note: For OFDA Brazil, we recommend you use the interest_date_data.tax_type parameter.

Example: "NOMINAL"
typestringrequired

The period that the interest is applied to the loan.

Non-nullable: A value must be returned by Brazil's open finance network.

Enum"MONTHLY""YEARLY"
Example: "MONTHLY"
valuenumber or null(float)required

The interest rate (in percent or currency value).

Note: For OFDA Brazil, we recommend you use the interest_date_data.pre_fixed_rate and interest_date_data.post_fixed_rateparameter.

Example: 7.85
interest_rate_dataobject or nullrequired

Detailed information regarding the interest rate.

tax_typestringrequired

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.

Enum"NOMINAL""EFFECTIVE"
Example: "NOMINAL"
rate_typestringrequired

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.

Enum"SIMPLE""COMPOUND"
Example: "SIMPLE"
typestring

The period that the interest is applied to the loan.

Non-nullable: A value must be returned by Brazil's open finance network.

Enum"MONTHLY""YEARLY"
Example: "MONTHLY"
calculation_basestring^[0-9]{2}\/[0-9]{3}$required

The base calculation for the interest rate.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "30/360"
reference_index_typestringrequired

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.

Enum"WITHOUT_INDEX_TYPE""PRE_FIXED""POST_FIXED""FLOATING""INDEXED_PRICE""RURAL_CREDIT""OTHER_INDEX"
Example: "FLOATING"
reference_index_subtypestring or nullrequired

The subtype of the reference index rate.

Example: "TR_TBF"
reference_index_infostring or null<= 140 characters^[\w\W\s]{0,140}$required

Additional information regarding the reference index rate.

Example: "Additional information"
pre_fixed_ratenumber(float)^[01]\.\d{6}$required

The pre-fixed percentage rate of the interest rate.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: 0.062
post_fixed_ratenumber(float)^[01]\.\d{6}$required

The post-fixed percentage rate of the interest rate.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: 0.062
additional_infostring or null<= 1200 characters[\w\W\s]*required

Additional information regarding the interest rate.

Example: "Additional information"
feesArray of objects or null or nullrequired

Breakdown of the fees applied to the loan.

typestring or nullrequired

Note: This field is not applicable for OF Brazil and will return null.

Enum"OPERATION_FEE""INSURANCE_FEE""OTHERS"null
Example: null
valuenumber or null(float)^\d{1,15}\.\d{2,4}$required

The total value of the fee. Same currency as the loan.

Example: 5.6
namestring<= 140 characters^[\w\W\s]{0,140}$required

The fee name.

Non-nullable: A value must be returned by Brazil's open finance network if the fees field is available.

Example: "Renovação de cadastro"
codestring<= 140 characters^[\w\W\s]{0,140}$required

The fee code.

Non-nullable: A value must be returned by Brazil's open finance network if the fees field is available.

Example: "CADASTRO"
fee_charge_typestringrequired

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.

Enum"SINGLE""PER_INSTALLMENT"
Example: "SINGLE"
fee_chargestringrequired

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.

Enum"MINIMUM""MAXIMUM""FIXED""PERCENTAGE"
Example: "FIXED"
ratenumber or null(float)^[01]\.\d{6}$required

The percentage rate of the fee. Required when fee_charge is set to PERCENTAGE.

Example: 0.062
contracted_chargesArray of objects or null or null
collateralsArray of objects or null or nullrequired

Details regarding any loan collaterals that the individual or business supplied.

typestringrequired

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.

Example: "OPERACOES_GARANTIDAS_PELO_GOVERNO"
subtypestringrequired

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.

Example: "CCR_CONVENIO_CREDITOS_RECIPROCOS"
currencystring<= 3 characters^[A-Z]{3}$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.

Example: "BRL"
amountnumber(float)^\d{1,15}\.\d{2,4}$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.

Example: 45391.89
balloon_paymentsArray of objects or null or nullrequired

Detailed information regarding any balloon payments for the loan, if applicable.

due_datestring or null(date)<= 10 characters^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?...required

The date that the balloon payment is to be paid, in YYYY-MM-DD format.

Example: "2021-09-06"
currencystring or null<= 3 characters^[A-Z]{3}$required

The three-letter currency code (ISO-4217).

Example: "BRL"
amountnumber or null(float)^\d{1,15}\.\d{2,4}$required

The total amount of the balloon payment.

Example: 45391.89
installments_contract_term_frequencystring or nullrequired

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
Enum"DAY""WEEK""MONTH""YEAR""NO_DEADLINE_REMAINING"null
Example: "MONTH"
installment_frequencystringrequired

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.

Enum"IRREGULAR""WEEKLY""FORTNIGHTLY""MONTHLY""BIMONTHLY""QUARTERLY""BIANNUALLY""ANNUALLY""OTHER"
Example: "MONTHLY"
installment_frequency_infostring or null<= 100 characters^[\w\W\s]{0,99}$$required

Additional information regarding the installment_frequency.

Example: "Both the term and requency are the same."
first_installment_due_datestring or null(date)<= 10 characters^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?...required

The date when the first installment of the loan is to be paid, in YYYY-MM-DD format.

Example: "2020-03-01"
number_of_installments_totalinteger or null(int32)<= 999999999required

The total number of installments required to pay the loan.

Example: 60
number_of_installments_outstandinginteger or null(int32)<= 999999999required

The number of installments left to pay.

Example: 48
number_of_installments_paidinteger or null(int32)<= 999999999required

The number of installments already paid.

Example: 32
number_of_installments_past_dueinteger or null(int32)<= 999required

The number of installments that are overdue.

Example: 2
disbursement_datesArray of strings or null or nullnon-emptyrequired

An array of dates when the loan was disbursed.

Example: ["2021-09-23"]
settlement_datestring or null<= 10 characters^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?...required

The date that the loan was settled, in YYYY-MM-DD format.

Example: "2021-09-23"
contract_start_datestring(date)<= 10 characters^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?...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.

Example: "2020-03-01"
contract_end_datestring or null(date)<= 10 characters^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?...required

The date when the loan is expected to be completed, in YYYY-MM-DD format.

Example: "2027-10-01"
contract_remaining_frequencystring or nullrequired

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
Enum"DAY""WEEK""MONTH""YEAR""NO_DEADLINE_REMAINING"null
Example: "MONTH"
contract_remaining_totalinteger or null(int32)<= 999999999required

The total number of installments remaining on the loan.

Example: 20
amortization_schedulestringrequired

The loan amortization schedule.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "SEM_SISTEMA_AMORTIZACAO"
amortization_schedule_infostring or null<= 200 characters[\w\W\s]*required

Additional information regarding the amortization_schedule.

Example: "No need for a schedule."
consignee_idstring or null<= 14 characters^\d{14}$required

The ID of the consignee of the loan.

Example: "60500998000135"
contract_numberstring or null[ 1 .. 100 ] characters^\d{1,100}$required

The contract number of the loan, as given by the institution.

Example: "1324926521496"
monthly_paymentnumber or null(float)required

Note: This field is not applicable for OF Brazil and will return null.

Example: null
principalnumber or null(float)required

Note: This field is not applicable for OF Brazil and will return null.

Example: null
payment_daystring or nullrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
outstanding_principalnumber or null(float)required

Note: This field is not applicable for OF Brazil and will return null.

Example: null
credit_limitnumber or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
last_period_balancenumber or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
interest_ratenumber or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
limit_daystring or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
cutting_daystring or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
cutting_datestring or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
last_payment_datestring or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
no_interest_paymentnumber or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
funds_datastring or nullrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
collected_atstring(date-time)required

The ISO-8601 timestamp when the data point was collected.

Example: "2022-02-09T08:45:50.406032Z"
created_atstring(date-time)required

The ISO-8601 timestamp of when the data point was created in Belvo's database.

Example: "2022-02-09T08:45:50.406032Z"
value_datestring(date)^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?...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.

Example: "2019-10-23"
transacted_atstring(date-time)(^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0...

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.

Example: "2024-02-20T12:29:03.374Z"
accounting_datestring or nullrequired

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.

Example: "2019-10-23"
inferred_accounting_datestring(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.

Example: "2019-10-23"
amountnumber(float)^\d{1,15}\.\d{2,4}$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.

Example: 2145.45
local_currency_amountnumber or null(float)<= 20 characters^\d{1,15}\.\d{2,4}$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.

Example: 7623.64
balancenumber or null(float)required

Note: This field is not applicable for OF Brazil and will return null.

Example: null
currencystring or null<= 3 characters^[A-Z]{3}$required

The three-letter currency code (ISO-4217).

Example: "BRL"
descriptionstring or nullrequired

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.

Example: "SEVEN BUDDHAS RFC:XXXXXXXXXX"
observationsstring or nullrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
merchantobject or nullrequired

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 Transaction categorization product, turning raw data into actionable insights. To enable this product, just reach out to us, and we'll get right to it.

logostring or null

The URL to the merchant's logo.

Example: "https://logo.clearbit.com/asesor-contable.es"
websitestring or null

The URL to the merchant's website.

Example: "https://merchants-r-us.com"
merchant_namestring

The name of the merchant.

Example: "Merchants R Us Global"
categorystring or nullrequired

The name of the transaction category.

Get transaction categorization With Transaction categorization, we clean and categorize transactions for you, turning raw data into actionable insights. To enable this feature, just reach out 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.

Enum"Bills & Utilities""Credits & Loans""Deposits""Fees & Charges""Food & Groceries""Home & Life""Income & Payments""Insurance""Investments & Savings""Online Platforms & Leisure"
Example: "Income & Payments"
subcategorystring or nullrequired

The transaction subcategory.

Get transaction categorization For clients not using our Transaction categorization, we return null instead. To enable this feature, just reach out 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
Enum"Electricity & Energy""Rent""Telecommunications""Water""Auto""Credit Card""Instalment""Interest & Charges""Mortgage""Pay Advance"
Example: "Freelance"
referencestring or null<= 128 charactersrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
typestring or nullrequired

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.
Enum"OUTFLOW""INFLOW"null
Example: "INFLOW"
statusstring or nullrequired

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)
Enum"PENDING""PROCESSED""UNCATEGORIZED"null
Example: "PROCESSED"
credit_card_dataobject or nullrequired

Additional data provided by the institution for credit card transactions.

collected_atstring(date-time)required

The ISO-8601 timestamp when the data point was collected.

Example: "2022-02-09T08:45:50.406032Z"
bill_namestring or nullrequired

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.

Example: "apr-2020"
bill_due_datestring or null(date)

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.

Example: "2023-06-17"
bill_internal_identificationstring or null[ 1 .. 100 ] characters^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$

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.

Example: "927921260199292792126508222219893192525A6"
bill_statusstring or nullrequired

Note: This field is not applicable for OFDA Brazil and will return null.

Example: null
previous_bill_totalstring or nullrequired

Note: This field is not applicable for OFDA Brazil and will return null.

Example: null
bill_amountnumber or null(float)^-?\d{1,15}\.\d{2,4}$required

The bill amount, as of collected_at. For more information, see credit_card_bill.

Example: 300
card_numberstring[ 1 .. 100 ] characters^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$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.

Example: "4453"
fee_typestring or nullrequired

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
Enum"ANNUAL_FEE""NATIONAL_WITHDRAWAL""INTERNATIONAL_WITHDRAWAL""EMERGENCY_CREDIT_EVALUATION_FEE""DUPLICATE_ISSUANCE_FEE""PAYMENT_FEE""SMS_FEE""OTHERS"null
Example: "NATIONAL_WITHDRAWAL"
fee_type_additional_infostring or null<= 140 characters^[\w\W\s]{0,140}$required

Additional information regarding the fee.

Example: "ATM withdrawal in Curitiba."
credits_typestring or nullrequired

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
Enum"REVOLVING_CREDIT""BILL_INSTALLMENT_PAYMENT""LOAN""OTHERS"null
Example: "BILL_INSTALLMENT_PAYMENT"
credits_type_additional_infostring or null<= 140 characters^[\w\W\s]{0,140}$required

Additional information regarding the credit type.

Example: "Some additional information."
installment_identifierstring<= 140 characters^[\w\W\s]{0,140}$required

An identifier for the installment, according to the institution.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "PARCELA_896"
number_of_installmentsinteger or null<= 999required

The total number of installments for the card transaction, if applicable.

Example: 4
credit_card_billobject or null

Information regarding the bill that this transaction appears on.

counterpartyobject or nullrequired

Information regarding the other party of this transaction, if available.

typestring or nullrequired

The transaction counterparty type. We return one of the following values:

  • INDIVIDUAL
  • COMPANY
  • null
Enum"INDIVIDUAL""COMPANY"null
Example: "INDIVIDUAL"
document_numberstring or null<= 11 characters^\d{11}$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.
Example: "73677831148"
clearing_codestring or null<= 3 characters^\d{3}$required

The banking clearing code.

Example: "001"
agencystring or null<= 4 characters^\d{1,4}$required

The branch code where the account was opened.

Example: "6272"
check_digitstring or null<= 2 characters[\w\W\s]*required

The check digit of the account number, if applicable.

Example: "7"
numberstring or null<= 20 characters^\d{8,20}$required

The account number of the product.

Example: "24550245"
loan_dataobject or nullrequired

Information regarding the loan transactional data, if applicable.

is_detachedbooleanrequired

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.

Example: true
installment_idstring or null[ 1 .. 100 ] characters^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$

The institution's unique ID for this payment installment.

Example: "WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH"
feesArray of objects or nullrequired

Details regarding the fees associated with this payment. Only applicable when is_detached = true.

namestring<= 140 characters^[\w\W\s]{0,140}$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.

Example: "Reavaliação periódica do bem"
codestring<= 140 characters^[\w\W\s]{0,140}$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.

Example: "aval_bem"
amountnumber or null(float)^-?\d{1,15}\.\d{2,4}$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.

Example: 8903.77
chargesArray of objects or null>= 0 itemsrequired

Details regarding the charges associated with this payment. Only applicable when is_detached = true.

typestring<= 140 characters^[\w\W\s]{0,140}$required

The type of charge.

Non-nullable: A value must be returned by Brazil's open finance network when the charges field is present

Example: "MULTA_ATRASO_PAGAMENTO"
infostring<= 140 characters^[\w\W\s]{0,140}$required

Additional information regarding the charge type.

Example: "Late payment charge."
amountnumber(float)^-?\d{1,15}\.\d{2,4}$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

Example: 8903.77
payment_typestring or nullrequired

The transaction payment type. We return one of the following values:

  • FULL
  • INSTALLMENT
  • null
Enum"FULL""INSTALLMENT"null
Example: "FULL"
operation_typestring<= 50 characters^[A-Za-z_]{0,50}$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.

Example: "TRANSFERENCIA_MESMA_INSTITUICAO"
operation_type_additional_infostring or null<= 140 characters^\S[\s\S]*$required

Additional information regarding the operation_type, if applicable.

Example: "Internal transfer."
mccinteger or null(int32)^[0-9]{4}$required

The four-digit (ISO-18245 compliant) Merchant Category Code (MCC) for the transaction. This field is only applicable for credit card transactions.

Example: 5137
{ "id": "0d3ffb69-f83b-456e-ad8e-208d0998d71d", "internal_identification": "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl", "account": { "id": "0d3ffb69-f83b-456e-ad8e-208d0998d71d", "link": "30cb4806-6e00-48a4-91c9-ca55968576c8", "institution": {}, "collected_at": "2022-02-09T08:45:50.406032Z", "created_at": "2022-02-09T08:45:50.406032Z", "last_accessed_at": "2021-03-09T10:28:40.000Z", "category": "CHECKING_ACCOUNT", "balance_type": "ASSET", "overdraft": {}, "type": "STANDARD_NACIONAL", "subtype": "FINANCIAMENTO_HABITACIONAL_SFH", "name": "Cuenta Perfiles- M.N. - MXN-666", "number": "4057068115181", "agency": "6272", "check_digit": "7", "balance": {}, "currency": "BRL", "public_identification_name": "AGENCY/ACCOUNT", "public_identification_value": "0444/45722-0", "internal_identification": "92792126019929279212650822221989319252576", "credit_data": {}, "loan_data": {}, "funds_data": null }, "collected_at": "2022-02-09T08:45:50.406032Z", "created_at": "2022-02-09T08:45:50.406032Z", "value_date": "2019-10-23", "transacted_at": "2024-02-20T12:29:03.374Z", "accounting_date": "2019-10-23", "inferred_accounting_date": "2019-10-23", "amount": 2145.45, "local_currency_amount": 7623.64, "balance": null, "currency": "BRL", "description": "SEVEN BUDDHAS RFC:XXXXXXXXXX", "observations": null, "merchant": { "logo": "https://logo.clearbit.com/asesor-contable.es", "website": "https://merchants-r-us.com", "merchant_name": "Merchants R Us Global" }, "category": "Income & Payments", "subcategory": "Freelance", "reference": null, "type": "INFLOW", "status": "PROCESSED", "credit_card_data": { "collected_at": "2022-02-09T08:45:50.406032Z", "bill_name": "apr-2020", "bill_due_date": "2023-06-17", "bill_internal_identification": "927921260199292792126508222219893192525A6", "bill_status": null, "previous_bill_total": null, "bill_amount": 300, "card_number": "4453", "fee_type": "NATIONAL_WITHDRAWAL", "fee_type_additional_info": "ATM withdrawal in Curitiba.", "credits_type": "BILL_INSTALLMENT_PAYMENT", "credits_type_additional_info": "Some additional information.", "installment_identifier": "PARCELA_896", "number_of_installments": 4, "credit_card_bill": {} }, "counterparty": { "type": "INDIVIDUAL", "document_number": "73677831148", "clearing_code": "001", "agency": "6272", "check_digit": "7", "number": "24550245" }, "loan_data": { "is_detached": true, "installment_id": "WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH", "fees": [], "charges": [] }, "payment_type": "FULL", "operation_type": "TRANSFERENCIA_MESMA_INSTITUICAO", "operation_type_additional_info": "Internal transfer.", "mcc": 5137 }

List transactions

Request

▶️ Usage

With the List Transactions method, you can:

  1. [Required] List transactions related to a specific link.id (using the link query parameter).
  2. Filter the returned transactions using query parameters (see the Filtering responses section below).
  3. Get the details of a specific transaction.id (using the id query parameter along with the link query parameter).

📖 Pagination

This method returns a paginated response (default: 100 items per page). You can use the page_size query parameter to increase the number of items returned to a maximum of 1000 items. You can use the page query parameter to navigate through the results. For more details on how to navigate Belvo's paginated responses, see our Pagination Tips article.

🔦 Filtering Responses

Please see the query list below for a list of fields that you can filter your responses by. For more information on how to use filters, see our Filtering responses article.

Query
linkstring(uuid)required

The link.id you want to filter by.

Example: link=8848bd0c-9c7e-4f53-a732-ec896b11d4c4
page_sizeinteger(int32)[ 1 .. 1000 ]

Indicates how many results to return per page. By default we return 100 results per page.

ℹ️ The minimum number of results returned per page is 1 and the maximum is 1000. If you enter a value greater than 1000, our API will default to the maximum value (1000).

Default 100
Example: page_size=100
pageinteger(int32)>= 1

A page number within the paginated result set.

Example: page=1
omitstring

Omit certain fields from being returned in the response. For more information, see our Filtering responses DevPortal article.

fieldsstring

Return only the specified fields in the response. For more information, see our Filtering responses DevPortal article.

link__inArray of strings(uuid)

Return results only for these link.ids.

Example: link__in=5722d0ba-69d7-42dc-8ff5-33767b83c5d6
accountstring(uuid)

The account.id you want to filter by.

ℹ️ We highly recommend adding either the link.id or the account.id filters in order to improve your performance.

Example: account=8848bd0c-9c7e-4f53-a732-ec896b11d4c4
account__inArray of strings(uuid)

Return results only for these account.ids.

Example: account__in=85b77707-90ef-46fd-9059-5a757f24247a
account__balance__availablenumber(float)^\d{1,15}\.\d{2,4}$

Return transactions that have a account.balance.available matching exactly this value.

Example: account__balance__available=4000.02
account__balance__available__ltnumber(float)^\d{1,15}\.\d{2,4}$

Return transactions that have a account.balance.available less than this value.

Example: account__balance__available__lt=6000.02
account__balance__available__ltenumber(float)^\d{1,15}\.\d{2,4}$

Return transactions that have a account.balance.available less than or equal to this value.

Example: account__balance__available__lte=5999.02
account__balance__available__gtnumber(float)^\d{1,15}\.\d{2,4}$

Return transactions that have a account.balance.available more than this value.

Example: account__balance__available__gt=6000.02
account__balance__available__gtenumber(float)^\d{1,15}\.\d{2,4}$

Return transactions that have a account.balance.available more than or equal to this value.

Example: account__balance__available__gte=5999.02
account__balance__available__rangeArray of numbers(float)<= 2 items

Return transactions that have a account.balance.available within a range of two values.

Example: account__balance__available__range=4350.02
account__balance__currentnumber(float)^\d{1,15}\.\d{2,4}$

Return transactions that have a account.balance.current matching exactly this value.

Example: account__balance__current=4000.02
account__balance__current__gtnumber(float)^\d{1,15}\.\d{2,4}$

Return transactions that have a account.balance.current greater than this value.

Example: account__balance__current__gt=4020.02
account__balance__current__gtenumber(float)^\d{1,15}\.\d{2,4}$

Return transactions that have a account.balance.current greater than or equal to this value.

Example: account__balance__current__gte=4019.02
account__balance__current__ltnumber(float)^\d{1,15}\.\d{2,4}$

Return transactions that have a account.balance.current less than this value.

Example: account__balance__current__lt=3000.02
account__balance__current__ltenumber(float)^\d{1,15}\.\d{2,4}$

Return transactions that have a account.balance.current less than or equal to this value.

Example: account__balance__current__lte=2999.02
account__balance__current__rangeArray of numbers<= 2 items

Return transactions that have a account.balance.current within a range of two values.

Example: account__balance__current__range=4350
account_typestring

Return information only for transactions matching this account type, as designated by the institution.

Example: account_type=Cuentas de efectivo
account_type__inArray of strings

Return information only for transactions matching these account types, as designated by the institution.

Example: account_type__in=Depositos Ahorro
accounting_datestring(date)

Return transactions that were processed by the institution on exactly this date (YYYY-MM-DD).

Example: accounting_date=2022-05-05
accounting_date__gtstring(date)

Return transactions that were processed by the institution after this date (YYYY-MM-DD).

Example: accounting_date__gt=2022-05-06
accounting_date__gtestring(date)

Return transactions that were processed by the institution on this date (YYYY-MM-DD) or later.

Example: accounting_date__gte=2022-05-04
accounting_date__ltstring(date)

Return transactions that were processed by the institution before this date (YYYY-MM-DD).

Example: accounting_date__lt=2022-03-02
accounting_date__ltestring(date)

Return transactions that were processed by the institution on this date (YYYY-MM-DD) or earlier.

Example: accounting_date__lte=2022-03-01
accounting_date__rangeArray of strings(date)<= 2 items

Return transactions that were processed by the institution in this date range (YYYY-MM-DD).

Example: accounting_date__range=2022-05-06
amountnumber(float)^\d{1,15}\.\d{2,4}$

Return results only for this value.

Example: amount=1000.02
amount__gtnumber(float)^\d{1,15}\.\d{2,4}$

Return results only for more than this amount.

Example: amount__gt=1000.02
amount__gtenumber(float)^\d{1,15}\.\d{2,4}$

Return results only for and more than this amount.

Example: amount__gte=1000.02
amount__ltnumber(float)^\d{1,15}\.\d{2,4}$

Return results only for less than this amount.

Example: amount__lt=1000.02
amount__ltenumber(float)^\d{1,15}\.\d{2,4}$

Return results only for this amount or less.

Example: amount__lte=1000.02
amount__rangeArray of numbers(float)<= 2 items

Return results between this amount range.

Example: amount__range=2000.02
collected_atstring(date)

Return items that were retrieved from the institution on this date (YYYY-MM-DD or full ISO-8601 timestamp).

Example: collected_at=2022-05-01
collected_at__gtstring(date)

Return items that were retrieved from the institution after this date (YYYY-MM-DD or full ISO-8601 timestamp).

Example: collected_at__gt=2022-05-05
collected_at__gtestring(date)

Return items that were retrieved from the institution after or on this date (YYYY-MM-DD or full ISO-8601 timestamp).

Example: collected_at__gte=2022-05-04
collected_at__ltstring(date)

Return items that were retrieved from the institution before this date (YYYY-MM-DD or full ISO-8601 timestamp).

Example: collected_at__lt=2022-04-01
collected_at__ltestring(date)

Return items that were retrieved from the institution before or on this date (YYYY-MM-DD or full ISO-8601 timestamp).

Example: collected_at__lte=2022-03-30
collected_at__rangeArray of strings(date)<= 2 items

Return items that were retrieved from the institution between two dates (YYYY-MM-DD or full ISO-8601 timestamp).

Example: collected_at__range=2022-05-04
created_atstring(date)

Return items that were last updated in Belvo's database on this date (in YYYY-MM-DD format).

Example: created_at=2022-05-05
created_at__gtstring(date)

Return items that were last updated in Belvo's database after this date (in YYYY-MM-DD format).

Example: created_at__gt=2022-05-05
created_at__gtestring(date)

Return items that were last updated in Belvo's database after or on this date (in YYYY-MM-DD format).

Example: created_at__gte=2022-05-04
created_at__ltstring(date)

Return items that were last updated in Belvo's database before this date (in YYYY-MM-DD format).

Example: created_at__lt=2022-04-01
created_at__ltestring(date)

Return items that were last updated in Belvo's database before or on this date (in YYYY-MM-DD format).

Example: created_at__lte=2022-03-30
created_at__rangeArray of strings(date)<= 2 items

Return accounts that were last updated in Belvo's database between two dates (in YYYY-MM-DD format).

Example: created_at__range=2022-03-03
currencystring^[A-Z]{3}$

Return results that hold finances or balances in only this three-letter currency code.

Example: currency=BRA
currency__inArray of strings

Return results that have funds or balances in one of these three-letter currency codes.

Example: currency__in=BRA
credit_card_data__bill_name__inArray of strings

Return transactions for one of these bill names.

Example: credit_card_data__bill_name__in=feb-2022
referencestring

Returns transactions with this institution-assigned reference number.

Example: reference=085904452810319225
reference__inArray of strings

Returns transactions with these institution-assigned reference numbers.

Example: reference__in=085904452810319225
statusstring

Return transactions with this status. Can be either PENDING, PROCESSED, or UNCATEGORIZED.

Example: status=PENDING
status__inArray of strings

Return transactions with these statuses. Can be either PENDING, PROCESSED, or UNCATEGORIZED.

Example: status__in=PROCESSED
typestring

Return transactions with this type. Can be either INFLOW or OUTFLOW.

Enum"OUTFLOW""INFLOW"
Example: type=OUTFLOW
type__inArray of strings

Return transactions with this types. Can be either INFLOW or OUTFLOW.

Items Enum"OUTFLOW""INFLOW"
Example: type__in=INFLOW
value_datestring(date)

Return results for exactly this date (YYYY-MM-DD).

Example: value_date=2022-05-05
value_date__gtstring(date)

Return results that occurred after this date (YYYY-MM-DD).

Example: value_date__gt=2022-05-06
value_date__gtestring(date)

Return results for this date (YYYY-MM-DD) or later.

Example: value_date__gte=2022-05-04
value_date__ltstring(date)

Return results for before this date (YYYY-MM-DD).

Example: value_date__lt=2022-03-02
value_date__ltestring(date)

Return results for this date (YYYY-MM-DD) or earlier.

Example: value_date__lte=2022-03-01
value_date__rangeArray of strings(date)<= 2 items

Return results for this date (YYYY-MM-DD) range.

Example: value_date__range=2022-05-06
curl -i -X GET \
  -u <username>:<password> \
  'https://developers.belvo.com/_mock/apis/belvoopenapispec/api/transactions/?account=8848bd0c-9c7e-4f53-a732-ec896b11d4c4&account__balance__available=4000.02&account__balance__available__gt=6000.02&account__balance__available__gte=5999.02&account__balance__available__lt=6000.02&account__balance__available__lte=5999.02&account__balance__available__range=4350.02&account__balance__current=4000.02&account__balance__current__gt=4020.02&account__balance__current__gte=4019.02&account__balance__current__lt=3000.02&account__balance__current__lte=2999.02&account__balance__current__range=4350&account__in=85b77707-90ef-46fd-9059-5a757f24247a&account_type=Cuentas%20de%20efectivo&account_type__in=Depositos%20Ahorro&accounting_date=2022-05-05&accounting_date__gt=2022-05-06&accounting_date__gte=2022-05-04&accounting_date__lt=2022-03-02&accounting_date__lte=2022-03-01&accounting_date__range=2022-05-06&amount=1000.02&amount__gt=1000.02&amount__gte=1000.02&amount__lt=1000.02&amount__lte=1000.02&amount__range=2000.02&collected_at=2022-05-01&collected_at__gt=2022-05-05&collected_at__gte=2022-05-04&collected_at__lt=2022-04-01&collected_at__lte=2022-03-30&collected_at__range=2022-05-04&created_at=2022-05-05&created_at__gt=2022-05-05&created_at__gte=2022-05-04&created_at__lt=2022-04-01&created_at__lte=2022-03-30&created_at__range=2022-03-03&credit_card_data__bill_name__in=feb-2022&currency=BRA&currency__in=BRA&fields=string&link=8848bd0c-9c7e-4f53-a732-ec896b11d4c4&link__in=5722d0ba-69d7-42dc-8ff5-33767b83c5d6&omit=string&page=1&page_size=100&reference=085904452810319225&reference__in=085904452810319225&status=PENDING&status__in=PROCESSED&type=OUTFLOW&type__in=INFLOW&value_date=2022-05-05&value_date__gt=2022-05-06&value_date__gte=2022-05-04&value_date__lt=2022-03-02&value_date__lte=2022-03-01&value_date__range=2022-05-06'

Responses

Ok

Bodyapplication/json
countinteger(int32)

The total number of results in your Belvo account.

Example: 130
nextstring or null(uri)

The URL to next page of results. Each page consists of up to 100 items. If there are not enough results for an additional page, the value is null.

In our documentation example, we use {endpoint} as a placeholder value. In production, this value will be replaced by the actual endpoint you are currently using (for example, accounts or owners).

Example: "https://sandbox.belvo.com/api/{endpoint}/?link=1bd948f7-245d-4313-b604-34d1044cb908page=2"
previousstring or null(uri)

The URL to the previous page of results. If there is no previous page, the value is null.

Example: null
resultsArray of objects

Array of transaction objects (OFDA Brazil).

Response
application/json
{ "count": 130, "next": "https://sandbox.belvo.com/api/{endpoint}/?link=1bd948f7-245d-4313-b604-34d1044cb908page=2", "previous": null, "results": [ {} ] }

Retrieve transactions for a link

Request

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
omitstring

Omit certain fields from being returned in the response. For more information, see our Filtering responses DevPortal article.

fieldsstring

Return only the specified fields in the response. For more information, see our Filtering responses DevPortal article.

Headers
X-Belvo-Request-Modestring

Recommended header parameter to make your POST request asynchronous (thus preventing timeouts and improving your data flow).

When you make an asynchronous request, Belvo responds with a 202 - Accepted payload, including the request_id. Once we have retrieved the requested information, you will receive a webhook with the link and request IDs.

Value"async"
Example: async
Bodyapplication/jsonrequired
linkstring(uuid)required

The link.id you want to retrieve information for.

Example: "c81a1dea-6dd6-4999-8b9f-541ee8197058"
accountstring(uuid)

If provided, we return transactions only from this account.

Example: "d4617561-1c01-4b2f-83b6-a594f7b3bc57"
date_fromstring(date)= 10 characters^\d{4}-\d{2}-\d{2}$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.

Example: "2020-08-05"
date_tostring(date)= 10 characters^\d{4}-\d{2}-\d{2}$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).

Example: "2020-10-05"
tokenstring

The MFA token generated by the institution which is required to continue a session.

Example: "1234ab"
save_databoolean

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.

Default true
Example: true
curl -i -X POST \
  -u <username>:<password> \
  'https://developers.belvo.com/_mock/apis/belvoopenapispec/api/transactions/?fields=string&omit=string' \
  -H 'Content-Type: application/json' \
  -H 'X-Belvo-Request-Mode: async' \
  -d '{
    "link": "c81a1dea-6dd6-4999-8b9f-541ee8197058",
    "account": "d4617561-1c01-4b2f-83b6-a594f7b3bc57",
    "date_from": "2020-08-05",
    "date_to": "2020-10-05",
    "token": "1234ab",
    "save_data": true
  }'

Responses

Ok (when save_data=false)

Bodyapplication/jsonArray [
idstring(uuid)required

Belvo's unique identifier for the current item.

Example: "0d3ffb69-f83b-456e-ad8e-208d0998d71d"
internal_identificationstring[ 1 .. 100 ] characters^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$required

The institution's internal identification for the transaction.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl"
accountobject or nullrequired

Details regarding the account.

idstring(uuid)required

Belvo's unique identifier for the current item.

Example: "0d3ffb69-f83b-456e-ad8e-208d0998d71d"
linkstring or null(uuid)required

The link.id the data belongs to.

Example: "30cb4806-6e00-48a4-91c9-ca55968576c8"
institutionobjectrequired

Details regarding the institution.

namestring

The name of the institution, as designated by Belvo.

Please see our Institutions DevPortal article for a detailed list of institution names.

Example: "erebor_mx_retail"
typestring

The type of institution. We return one of the following values:

  • bank
  • fiscal
  • employment
Enum"bank""fiscal""employment"
collected_atstring(date-time)required

The ISO-8601 timestamp when the data point was collected.

Example: "2022-02-09T08:45:50.406032Z"
created_atstring(date-time)required

The ISO-8601 timestamp of when the data point was created in Belvo's database.

Example: "2022-02-09T08:45:50.406032Z"
last_accessed_atstring or null(date-time)required

The ISO-8601 timestamp of Belvo's most recent successful access to the institution for the given link.

Example: "2021-03-09T10:28:40.000Z"
categorystring or nullrequired

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
Enum"ADVANCE_DEPOSIT_ACCOUNT""CHECKING_ACCOUNT""CREDIT_CARD""FINANCING_ACCOUNT""INVESTMENT_ACCOUNT""INVOICE_FINANCING_ACCOUNT""LOAN_ACCOUNT""PENSION_FUND_ACCOUNT""SAVINGS_ACCOUNT""UNCATEGORIZED"
Example: "CHECKING_ACCOUNT"
balance_typestring or nullrequired

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.

Example: "ASSET"
overdraftobject or null
typestringrequired

The account type, as designated by the institution.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "STANDARD_NACIONAL"
subtypestringrequired

The account subtype, as designated by the institution.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "FINANCIAMENTO_HABITACIONAL_SFH"
namestring or nullrequired

The account name, as given by the institution.

Example: "Cuenta Perfiles- M.N. - MXN-666"
numberstring or nullrequired

The account number, as designated by the institution.

Example: "4057068115181"
agencystring or null<= 4 characters^\d{1,4}$required

The branch code where the product was opened.

Example: "6272"
check_digitstring or null<= 2 characters[\w\W\s]*required

The check digit of the product's number, if applicable.

Example: "7"
balanceobjectrequired

Details regarding the current and available balances for the account.

currentnumber or null(float)^\d{1,15}\.\d{2,4}$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.

Example: 5874.13
availablenumber or null(float)^\d{1,15}\.\d{2,4}$

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.

Example: 5621.12
blockednumber(float)^\d{1,15}\.\d{2,4}$

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.

Example: 60.32
automatically_investednumber(float)^\d{1,15}\.\d{2,4}$

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.

Example: 131.5
currencystring<= 3 characters^[A-Z]{3}$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.

Example: "BRL"
public_identification_namestring or nullrequired

The public name for the type of identification. For 🇧🇷 Brazilian savings and checking accounts, this field will be AGENCY/ACCOUNT.

Example: "AGENCY/ACCOUNT"
public_identification_valuestring or nullrequired

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"

Example: "0444/45722-0"
internal_identificationstring<= 100 characters^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$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.

Example: "92792126019929279212650822221989319252576"
credit_dataobject or nullrequired

Details regarding the credit cards associated with this account.

collected_atstring(date-time)required

The ISO-8601 timestamp when the data point was collected.

Example: "2022-02-09T08:45:50.406032Z"
credit_limitnumber or null(float)<= 20 characters^\d{1,15}\.\d{2,4}$required

The upper credit limit of the card.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: 192000.9
limitsArray of objects
cutting_datestring or null(date)<= 10 characters^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?...

The date when the credit card's bill is due.

Example: "2019-12-11"
minimum_paymentnumber or null(float)<= 20 characters^\d{1,15}\.\d{2,4}$

The minimum amount that the account owner needs to pay in the current credit period.

Example: 2400.3
networkstring

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.

Enum"VISA""MASTERCARD""AMERICAN_EXPRESS""DINERS_CLUB""HIPERCARD""BANDEIRA_PROPRIA""CHEQUE_ELETRONICO""ELO""OTHER"
Example: "MASTERCARD"
network_additional_infostring or null<= 100 characters[\w\W\s]*

Additional information about the credit card network.

Example: "It's an orange card."
cardsArray of objectsnon-empty

Details regarding the cards associated with the account.

next_payment_datestring or null

Note: This field is not applicable for OF Brazil and will return null.

Example: null
no_interest_paymentnumber or null(float)

Note: This field is not applicable for OF Brazil and will return null.

Example: null
interest_ratenumber or null(float)

Note: This field is not applicable for OF Brazil and will return null.

Example: null
monthly_paymentnumber or nullDeprecated

Note: This field is not applicable for OF Brazil and will return null.

Example: null
last_payment_datestring or nullDeprecated

Note: This field is not applicable for OF Brazil and will return null.

Example: null
loan_dataobject or nullrequired

The loan options associated with this account.

collected_atstring(date-time)required

The ISO-8601 timestamp when the data point was collected.

Example: "2022-02-09T08:45:50.406032Z"
loan_codestring[ 22 .. 67 ] characters^\d{22,67}$required

The country-specific standardized contract number.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "92792126019929279212650822221989319252576"
contract_amountnumber or null(float)^\d{1,15}\.\d{2,4}$required

The initial total loan amount when the contract was signed, calculated by the institution. This amount includes the principal + interest + taxes + fees.

Example: 202000
total_effective_costnumber or null(float)^\d{1,15}\.\d{2,4}$

The initial total effective cost of the loan.

Example: 209000
loan_typestringrequired

The type of the loan, according to the institution.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "HOME_EQUITY"
outstanding_balancenumber or null(float)[ 4 .. 20 ] characters^\d{1,15}\.\d{2,4}$required

The amount remaining to pay in total, including interest.

Example: 182000
interest_ratesArray of objectsrequired

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.

namestring or nullrequired

The name of the type of interest rate applied to the loan.

Note: For OFDA Brazil, we recommend you use the interest_date_data.tax_type parameter.

Example: "NOMINAL"
typestringrequired

The period that the interest is applied to the loan.

Non-nullable: A value must be returned by Brazil's open finance network.

Enum"MONTHLY""YEARLY"
Example: "MONTHLY"
valuenumber or null(float)required

The interest rate (in percent or currency value).

Note: For OFDA Brazil, we recommend you use the interest_date_data.pre_fixed_rate and interest_date_data.post_fixed_rateparameter.

Example: 7.85
interest_rate_dataobject or nullrequired

Detailed information regarding the interest rate.

tax_typestringrequired

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.

Enum"NOMINAL""EFFECTIVE"
Example: "NOMINAL"
rate_typestringrequired

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.

Enum"SIMPLE""COMPOUND"
Example: "SIMPLE"
typestring

The period that the interest is applied to the loan.

Non-nullable: A value must be returned by Brazil's open finance network.

Enum"MONTHLY""YEARLY"
Example: "MONTHLY"
calculation_basestring^[0-9]{2}\/[0-9]{3}$required

The base calculation for the interest rate.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "30/360"
reference_index_typestringrequired

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.

Enum"WITHOUT_INDEX_TYPE""PRE_FIXED""POST_FIXED""FLOATING""INDEXED_PRICE""RURAL_CREDIT""OTHER_INDEX"
Example: "FLOATING"
reference_index_subtypestring or nullrequired

The subtype of the reference index rate.

Example: "TR_TBF"
reference_index_infostring or null<= 140 characters^[\w\W\s]{0,140}$required

Additional information regarding the reference index rate.

Example: "Additional information"
pre_fixed_ratenumber(float)^[01]\.\d{6}$required

The pre-fixed percentage rate of the interest rate.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: 0.062
post_fixed_ratenumber(float)^[01]\.\d{6}$required

The post-fixed percentage rate of the interest rate.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: 0.062
additional_infostring or null<= 1200 characters[\w\W\s]*required

Additional information regarding the interest rate.

Example: "Additional information"
feesArray of objects or null or nullrequired

Breakdown of the fees applied to the loan.

typestring or nullrequired

Note: This field is not applicable for OF Brazil and will return null.

Enum"OPERATION_FEE""INSURANCE_FEE""OTHERS"null
Example: null
valuenumber or null(float)^\d{1,15}\.\d{2,4}$required

The total value of the fee. Same currency as the loan.

Example: 5.6
namestring<= 140 characters^[\w\W\s]{0,140}$required

The fee name.

Non-nullable: A value must be returned by Brazil's open finance network if the fees field is available.

Example: "Renovação de cadastro"
codestring<= 140 characters^[\w\W\s]{0,140}$required

The fee code.

Non-nullable: A value must be returned by Brazil's open finance network if the fees field is available.

Example: "CADASTRO"
fee_charge_typestringrequired

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.

Enum"SINGLE""PER_INSTALLMENT"
Example: "SINGLE"
fee_chargestringrequired

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.

Enum"MINIMUM""MAXIMUM""FIXED""PERCENTAGE"
Example: "FIXED"
ratenumber or null(float)^[01]\.\d{6}$required

The percentage rate of the fee. Required when fee_charge is set to PERCENTAGE.

Example: 0.062
contracted_chargesArray of objects or null or null
collateralsArray of objects or null or nullrequired

Details regarding any loan collaterals that the individual or business supplied.

typestringrequired

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.

Example: "OPERACOES_GARANTIDAS_PELO_GOVERNO"
subtypestringrequired

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.

Example: "CCR_CONVENIO_CREDITOS_RECIPROCOS"
currencystring<= 3 characters^[A-Z]{3}$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.

Example: "BRL"
amountnumber(float)^\d{1,15}\.\d{2,4}$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.

Example: 45391.89
balloon_paymentsArray of objects or null or nullrequired

Detailed information regarding any balloon payments for the loan, if applicable.

due_datestring or null(date)<= 10 characters^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?...required

The date that the balloon payment is to be paid, in YYYY-MM-DD format.

Example: "2021-09-06"
currencystring or null<= 3 characters^[A-Z]{3}$required

The three-letter currency code (ISO-4217).

Example: "BRL"
amountnumber or null(float)^\d{1,15}\.\d{2,4}$required

The total amount of the balloon payment.

Example: 45391.89
installments_contract_term_frequencystring or nullrequired

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
Enum"DAY""WEEK""MONTH""YEAR""NO_DEADLINE_REMAINING"null
Example: "MONTH"
installment_frequencystringrequired

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.

Enum"IRREGULAR""WEEKLY""FORTNIGHTLY""MONTHLY""BIMONTHLY""QUARTERLY""BIANNUALLY""ANNUALLY""OTHER"
Example: "MONTHLY"
installment_frequency_infostring or null<= 100 characters^[\w\W\s]{0,99}$$required

Additional information regarding the installment_frequency.

Example: "Both the term and requency are the same."
first_installment_due_datestring or null(date)<= 10 characters^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?...required

The date when the first installment of the loan is to be paid, in YYYY-MM-DD format.

Example: "2020-03-01"
number_of_installments_totalinteger or null(int32)<= 999999999required

The total number of installments required to pay the loan.

Example: 60
number_of_installments_outstandinginteger or null(int32)<= 999999999required

The number of installments left to pay.

Example: 48
number_of_installments_paidinteger or null(int32)<= 999999999required

The number of installments already paid.

Example: 32
number_of_installments_past_dueinteger or null(int32)<= 999required

The number of installments that are overdue.

Example: 2
disbursement_datesArray of strings or null or nullnon-emptyrequired

An array of dates when the loan was disbursed.

Example: ["2021-09-23"]
settlement_datestring or null<= 10 characters^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?...required

The date that the loan was settled, in YYYY-MM-DD format.

Example: "2021-09-23"
contract_start_datestring(date)<= 10 characters^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?...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.

Example: "2020-03-01"
contract_end_datestring or null(date)<= 10 characters^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?...required

The date when the loan is expected to be completed, in YYYY-MM-DD format.

Example: "2027-10-01"
contract_remaining_frequencystring or nullrequired

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
Enum"DAY""WEEK""MONTH""YEAR""NO_DEADLINE_REMAINING"null
Example: "MONTH"
contract_remaining_totalinteger or null(int32)<= 999999999required

The total number of installments remaining on the loan.

Example: 20
amortization_schedulestringrequired

The loan amortization schedule.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "SEM_SISTEMA_AMORTIZACAO"
amortization_schedule_infostring or null<= 200 characters[\w\W\s]*required

Additional information regarding the amortization_schedule.

Example: "No need for a schedule."
consignee_idstring or null<= 14 characters^\d{14}$required

The ID of the consignee of the loan.

Example: "60500998000135"
contract_numberstring or null[ 1 .. 100 ] characters^\d{1,100}$required

The contract number of the loan, as given by the institution.

Example: "1324926521496"
monthly_paymentnumber or null(float)required

Note: This field is not applicable for OF Brazil and will return null.

Example: null
principalnumber or null(float)required

Note: This field is not applicable for OF Brazil and will return null.

Example: null
payment_daystring or nullrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
outstanding_principalnumber or null(float)required

Note: This field is not applicable for OF Brazil and will return null.

Example: null
credit_limitnumber or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
last_period_balancenumber or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
interest_ratenumber or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
limit_daystring or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
cutting_daystring or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
cutting_datestring or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
last_payment_datestring or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
no_interest_paymentnumber or nullDeprecatedrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
funds_datastring or nullrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
collected_atstring(date-time)required

The ISO-8601 timestamp when the data point was collected.

Example: "2022-02-09T08:45:50.406032Z"
created_atstring(date-time)required

The ISO-8601 timestamp of when the data point was created in Belvo's database.

Example: "2022-02-09T08:45:50.406032Z"
value_datestring(date)^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?...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.

Example: "2019-10-23"
transacted_atstring(date-time)(^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0...

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.

Example: "2024-02-20T12:29:03.374Z"
accounting_datestring or nullrequired

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.

Example: "2019-10-23"
inferred_accounting_datestring(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.

Example: "2019-10-23"
amountnumber(float)^\d{1,15}\.\d{2,4}$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.

Example: 2145.45
local_currency_amountnumber or null(float)<= 20 characters^\d{1,15}\.\d{2,4}$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.

Example: 7623.64
balancenumber or null(float)required

Note: This field is not applicable for OF Brazil and will return null.

Example: null
currencystring or null<= 3 characters^[A-Z]{3}$required

The three-letter currency code (ISO-4217).

Example: "BRL"
descriptionstring or nullrequired

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.

Example: "SEVEN BUDDHAS RFC:XXXXXXXXXX"
observationsstring or nullrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
merchantobject or nullrequired

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 Transaction categorization product, turning raw data into actionable insights. To enable this product, just reach out to us, and we'll get right to it.

logostring or null

The URL to the merchant's logo.

Example: "https://logo.clearbit.com/asesor-contable.es"
websitestring or null

The URL to the merchant's website.

Example: "https://merchants-r-us.com"
merchant_namestring

The name of the merchant.

Example: "Merchants R Us Global"
categorystring or nullrequired

The name of the transaction category.

Get transaction categorization With Transaction categorization, we clean and categorize transactions for you, turning raw data into actionable insights. To enable this feature, just reach out 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.

Enum"Bills & Utilities""Credits & Loans""Deposits""Fees & Charges""Food & Groceries""Home & Life""Income & Payments""Insurance""Investments & Savings""Online Platforms & Leisure"
Example: "Income & Payments"
subcategorystring or nullrequired

The transaction subcategory.

Get transaction categorization For clients not using our Transaction categorization, we return null instead. To enable this feature, just reach out 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
Enum"Electricity & Energy""Rent""Telecommunications""Water""Auto""Credit Card""Instalment""Interest & Charges""Mortgage""Pay Advance"
Example: "Freelance"
referencestring or null<= 128 charactersrequired

Note: This field is not applicable for OF Brazil and will return null.

Example: null
typestring or nullrequired

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.
Enum"OUTFLOW""INFLOW"null
Example: "INFLOW"
statusstring or nullrequired

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)
Enum"PENDING""PROCESSED""UNCATEGORIZED"null
Example: "PROCESSED"
credit_card_dataobject or nullrequired

Additional data provided by the institution for credit card transactions.

collected_atstring(date-time)required

The ISO-8601 timestamp when the data point was collected.

Example: "2022-02-09T08:45:50.406032Z"
bill_namestring or nullrequired

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.

Example: "apr-2020"
bill_due_datestring or null(date)

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.

Example: "2023-06-17"
bill_internal_identificationstring or null[ 1 .. 100 ] characters^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$

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.

Example: "927921260199292792126508222219893192525A6"
bill_statusstring or nullrequired

Note: This field is not applicable for OFDA Brazil and will return null.

Example: null
previous_bill_totalstring or nullrequired

Note: This field is not applicable for OFDA Brazil and will return null.

Example: null
bill_amountnumber or null(float)^-?\d{1,15}\.\d{2,4}$required

The bill amount, as of collected_at. For more information, see credit_card_bill.

Example: 300
card_numberstring[ 1 .. 100 ] characters^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$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.

Example: "4453"
fee_typestring or nullrequired

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
Enum"ANNUAL_FEE""NATIONAL_WITHDRAWAL""INTERNATIONAL_WITHDRAWAL""EMERGENCY_CREDIT_EVALUATION_FEE""DUPLICATE_ISSUANCE_FEE""PAYMENT_FEE""SMS_FEE""OTHERS"null
Example: "NATIONAL_WITHDRAWAL"
fee_type_additional_infostring or null<= 140 characters^[\w\W\s]{0,140}$required

Additional information regarding the fee.

Example: "ATM withdrawal in Curitiba."
credits_typestring or nullrequired

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
Enum"REVOLVING_CREDIT""BILL_INSTALLMENT_PAYMENT""LOAN""OTHERS"null
Example: "BILL_INSTALLMENT_PAYMENT"
credits_type_additional_infostring or null<= 140 characters^[\w\W\s]{0,140}$required

Additional information regarding the credit type.

Example: "Some additional information."
installment_identifierstring<= 140 characters^[\w\W\s]{0,140}$required

An identifier for the installment, according to the institution.

Non-nullable: A value must be returned by Brazil's open finance network.

Example: "PARCELA_896"
number_of_installmentsinteger or null<= 999required

The total number of installments for the card transaction, if applicable.

Example: 4
credit_card_billobject or null

Information regarding the bill that this transaction appears on.

counterpartyobject or nullrequired

Information regarding the other party of this transaction, if available.

typestring or nullrequired

The transaction counterparty type. We return one of the following values:

  • INDIVIDUAL
  • COMPANY
  • null
Enum"INDIVIDUAL""COMPANY"null
Example: "INDIVIDUAL"
document_numberstring or null<= 11 characters^\d{11}$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.
Example: "73677831148"
clearing_codestring or null<= 3 characters^\d{3}$required

The banking clearing code.

Example: "001"
agencystring or null<= 4 characters^\d{1,4}$required

The branch code where the account was opened.

Example: "6272"
check_digitstring or null<= 2 characters[\w\W\s]*required

The check digit of the account number, if applicable.

Example: "7"
numberstring or null<= 20 characters^\d{8,20}$required

The account number of the product.

Example: "24550245"
loan_dataobject or nullrequired

Information regarding the loan transactional data, if applicable.

is_detachedbooleanrequired

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.

Example: true
installment_idstring or null[ 1 .. 100 ] characters^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$

The institution's unique ID for this payment installment.

Example: "WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH"
feesArray of objects or nullrequired

Details regarding the fees associated with this payment. Only applicable when is_detached = true.

namestring<= 140 characters^[\w\W\s]{0,140}$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.

Example: "Reavaliação periódica do bem"
codestring<= 140 characters^[\w\W\s]{0,140}$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.

Example: "aval_bem"
amountnumber or null(float)^-?\d{1,15}\.\d{2,4}$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.

Example: 8903.77
chargesArray of objects or null>= 0 itemsrequired

Details regarding the charges associated with this payment. Only applicable when is_detached = true.

typestring<= 140 characters^[\w\W\s]{0,140}$required

The type of charge.

Non-nullable: A value must be returned by Brazil's open finance network when the charges field is present

Example: "MULTA_ATRASO_PAGAMENTO"
infostring<= 140 characters^[\w\W\s]{0,140}$required

Additional information regarding the charge type.

Example: "Late payment charge."
amountnumber(float)^-?\d{1,15}\.\d{2,4}$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

Example: 8903.77
payment_typestring or nullrequired

The transaction payment type. We return one of the following values:

  • FULL
  • INSTALLMENT
  • null
Enum"FULL""INSTALLMENT"null
Example: "FULL"
operation_typestring<= 50 characters^[A-Za-z_]{0,50}$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.

Example: "TRANSFERENCIA_MESMA_INSTITUICAO"
operation_type_additional_infostring or null<= 140 characters^\S[\s\S]*$required

Additional information regarding the operation_type, if applicable.

Example: "Internal transfer."
mccinteger or null(int32)^[0-9]{4}$required

The four-digit (ISO-18245 compliant) Merchant Category Code (MCC) for the transaction. This field is only applicable for credit card transactions.

Example: 5137
]
Response
application/json
[ { "id": "0d3ffb69-f83b-456e-ad8e-208d0998d71d", "internal_identification": "TXpRMU9UQTROMWhZV2xSU1FUazJSMDl", "account": {}, "collected_at": "2022-02-09T08:45:50.406032Z", "created_at": "2022-02-09T08:45:50.406032Z", "value_date": "2019-10-23", "transacted_at": "2024-02-20T12:29:03.374Z", "accounting_date": "2019-10-23", "inferred_accounting_date": "2019-10-23", "amount": 2145.45, "local_currency_amount": 7623.64, "balance": null, "currency": "BRL", "description": "SEVEN BUDDHAS RFC:XXXXXXXXXX", "observations": null, "merchant": {}, "category": "Income & Payments", "subcategory": "Freelance", "reference": null, "type": "INFLOW", "status": "PROCESSED", "credit_card_data": {}, "counterparty": {}, "loan_data": {}, "payment_type": "FULL", "operation_type": "TRANSFERENCIA_MESMA_INSTITUICAO", "operation_type_additional_info": "Internal transfer.", "mcc": 5137 } ]

Bills

A bill refers to the credit card bill a user receives for given account.

Note: Only available for OFDA.

Operations

Investments Brazil

Operations

Investment Transactions Brazil

Operations

Employments Brazil

Our employments resource for Brazil lets you get a comprehensive view of your user's current employment history and salary information.

For each user, we return the:

  • work history (including occupations and employer data)
  • historical and current salary information (per employer)

At the moment, the employments resource is available for:

  • 🇧🇷 Brazil (INSS)
Operations

Employment Records Mexico

Our employment records resource for Mexico lets you get a comprehensive view of your user’s current social security contributions and employment history.

With Belvo's employment records resource for Mexico, you can access information about your user's current social security contributions and employment history. For the each user, we return the:

  • personal data
  • work history
  • historical and current daily base salary
  • and more!

At the moment, the employment records resource is available for:

  • 🇲🇽 Mexico (IMSS)
  • 🇲🇽 Mexico (ISSSTE)
Operations

Invoices

Operations

Tax compliance status

Operations

Tax returns

Operations

Tax retentions

Operations

Tax status

Operations

Financial Statements

Operations

Invoices Chile

Operations

Tax Status Chile

Operations

Debt Reports Chile

Operations

Incomes

Use the Incomes endpoint to gather insights on an account's income sources for the past 365 days. The endpoint is particularly useful when you want to verify a person's income.

📘 Info

The incomes resource is only available for Checking and Savings accounts associated with banking links.

Operations

Recurring Expenses

Belvo's Recurring Expenses API allows you to identify a user's regular payments for subscription services, such as Netflix or gym memberships, as well as utility payments, such as electricity or phone bills. We return information for up to 365 days.

📘 Info

The recurring expenses resource is only available for Checking, Savings and Credit Card accounts associated with banking links.

Operations

Risk Insights

Operations

Employment Metrics

Operations

Payment Institutions (Brazil)

A payment institution is an entity that Belvo can access information from. You can see a complete list of institutions available for payments by making a List request to this endpoint.

Operations

Customers (Brazil)

A customer is the payer that's going to push funds into your bank account. You need to create a customer in order to receive inflow payments to your organization's bank account.

Operations

Bank Accounts (Brazil)

To receive inflow payments to your organization's bank account, you must register the bank accounts (individual and business) using Belvo's Payments API.

  • Individual bank accounts must be created for each payer (your customer).
  • Business bank accounts need to be created for the beneficiary of the payment (your organization).
Operations

Payment Intents (Brazil)

A payment intent is a single point of access to create payments using any payment method offered by Belvo.

A payment intent captures all payment information (such as the amount to be charged, the description of the payment, the provider, and so on) and guides your customers through the payment flow.

Note: For institutions that require the username_type in the form_fields array, you must send through this value in your PATCH request.

Operations

Biometric Pix Widget Access Token (Brazil)

Use the Biometric Pix Widget Token requests to create a access token for Biometric Payments.

Operations

Payment Transactions (Brazil)

Each time you receive an inflow payment from your customer, a transaction is created in the Belvo database.

You can use the Payment Transactions resource in order to get useful information about a transaction as well as the specific charge associated with it.

Operations