Belvo API Docs

Open banking and financial data API

developers.belvo.com ↗
Version
1.106.0
OpenAPI
3.0.2
Endpoints
80
Schemas
575
88
Quality
Updated
3 days ago
Fintech fintech banking open-banking
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://sandbox.belvo.com
https://development.belvo.com

Endpoints

Accounts 5 endpoints

GET /api/accounts

Get a paginated list of all existing accounts in your Belvo account. By default, we return up to 100 results per page.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Accounts_listAll

Parameters

Name In Required Type Description
page query optional integer

A page number within the paginated result set.

page_size query optional integer

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

omit query optional string

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

fields query optional string

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

link query optional string

The link.id you want to filter by.

ℹ️ We highly recommend adding the link.id filter in order to improve your performance.

link__in query optional array

Return results only for these link.ids.

balance__available query optional number

Return accounts that have a balance.available matching exactly this value.

balance__available__lt query optional number

Return accounts that have a balance.available less than this value.

balance__available__lte query optional number

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

balance__available__gt query optional number

Return accounts that have a balance.available greater than this value.

balance__available__gte query optional number

Return accounts that have a balance.available greater than or equal to this value.

balance__available__range query optional array

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

balance__current query optional number

Return accounts that have a balance.current matching exactly this value.

balance__current__lt query optional number

Return accounts that have a balance.current less than this value.

balance__current__lte query optional number

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

balance__current__gt query optional number

Return accounts that have a balance.current greater than this value.

balance__current__gte query optional number

Return accounts that have a balance.available greater than or equal to this value.

balance__current__range query optional array

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

category query optional string

Return accounts only for the given category (for example, CHECKING_ACCOUNT and SAVINGS_ACCOUNT).

category__in query optional array

Return accounts only for the given categories (for example, CHECKING_ACCOUNT and SAVINGS_ACCOUNT).

created_at query optional string

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

created_at__gt query optional string

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

created_at__gte query optional string

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

created_at__lt query optional string

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

created_at__lte query optional string

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

created_at__range query optional array

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

currency query optional string

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

currency__in query optional array

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

id query optional string

Return information only for this resource id.

id__in query optional array

Return information for these resource ids.

institution query optional string

Return results only for this institution (use the Belvo-designated name, such as erebor_mx_retail).

institution__in query optional array

Return results only for these institutions (use the Belvo-designated names, such as erebor_mx_retail and gringotts_mx_retail).

name query optional string

Return accounts with exactly this internal (specified by the institution) name.

name__icontains query optional string

Return accounts partially matching this internal (specified by the institution) name.

number query optional string

Return information only for this account number (as specified by the institution).

number__in query optional array

Return information for these account numbers (as specified by the institution).

public_identification_name query optional string

Return information only for this type of account ID. For example, CLABE accounts.

public_identification_value query optional string

Return information only for this account ID. For example, the account number for a CLABE account.

type query optional string

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

Responses

200

Ok

401

Unathorized

GET /api/accounts
PATCH /api/accounts

Used to resume an Account retrieve session that was paused because an MFA
token was required by the institution.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Accounts_resumeRetrieveSession

Parameters

Name In Required Type Description
omit query optional string

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

fields query optional string

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

Request Body

required
application/json
schema PatchBody
Property Type Required
link string required
token string optional
session string required
save_data boolean optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

428

MFA Token Required

500

Unexpected Error

PATCH /api/accounts
POST /api/accounts

Retrieve accounts from an existing link.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Accounts_createLinkAccounts

Parameters

Name In Required Type Description
omit query optional string

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

fields query optional string

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

Request Body

required
application/json
schema StandardRequest
Property Type Required
link string required
token string optional
save_data boolean optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

428

MFA Token Required

500

Unexpected Error

POST /api/accounts
DELETE /api/accounts/{id}

Delete a specific account from your Belvo account.

ℹ️ Note: When you delete an account, all the associated transactions and owner information for that account are also removed.

operationId: Accounts_deleteSpecificAccount

Parameters

Name In Required Type Description
id path required string

The account.id you want to delete.

Responses

204

No content

401

Unathorized

404

Not Found

DELETE /api/accounts/{id}
GET /api/accounts/{id}

Get the details of a specific account.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Accounts_getDetails

Parameters

Name In Required Type Description
id path required string

The account.id you want to get detailed information about.

omit query optional string

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

fields query optional string

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

Responses

200

Ok

401

Unathorized

404

Not Found

GET /api/accounts/{id}

Balances 5 endpoints

GET /api/balances
WARNING: The Balances resource will be deprecated in October 2023.

Get a paginated list of all existing balances in your Belvo account. By default, we return up to 100 results per page.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Balances_getAll

Parameters

Name In Required Type Description
page query optional integer

A page number within the paginated result set.

page_size query optional integer

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

omit query optional string

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

fields query optional string

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

link query optional string

The link.id you want to filter by.

ℹ️ We highly recommend adding the link.id filter in order to improve your performance.

link__in query optional array

Return results only for these link.ids.

account query optional string

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.

account__in query optional array

Return results only for these account.ids.

account__type query optional string

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

account__type__in query optional array

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

balance query optional number

Return balances matching exactly this value.

balance__lt query optional number

Return balances less than this value.

balance__lte query optional number

Return balances less than or equal to this value.

balance__gt query optional number

Return balances greater than this value.

balance__gte query optional number

Return balances greater than or equal to this value.

balance__range query optional array

Return balances between these two values.

currency query optional string

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

currency__in query optional array

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

id query optional string

Return information only for this resource id.

id__in query optional array

Return information for these resource ids.

institution query optional string

Return results only for this institution (use the Belvo-designated name, such as erebor_mx_retail).

institution__in query optional array

Return results only for these institutions (use the Belvo-designated names, such as erebor_mx_retail and gringotts_mx_retail).

value_date query optional string

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

value_date__gt query optional string

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

value_date__gte query optional string

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

value_date__lt query optional string

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

value_date__lte query optional string

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

value_date__range query optional array

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

Responses

200

Ok

401

Unathorized

GET /api/balances
PATCH /api/balances
WARNING: The Balances resource will be deprecated in October 2023.

Used to resume a Balance retrieve session that was paused because an MFA
token was required by the institution.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Balances_resumeSession

Parameters

Name In Required Type Description
omit query optional string

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

fields query optional string

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

Request Body

required
application/json
schema PatchBody
Property Type Required
link string required
token string optional
session string required
save_data boolean optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

428

MFA Token Required

500

Unexpected Error

PATCH /api/balances
POST /api/balances
WARNING: The Balances resource will be deprecated in October 2023.

Retrieve balances from one or more accounts for a specific link within a
specified date range.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Balances_getLinkBalances

Parameters

Name In Required Type Description
omit query optional string

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

fields query optional string

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

Request Body

required
application/json
schema BalancesRequest
Property Type Required
link string required
token string optional
account string optional
date_to string required
date_from string required
save_data boolean optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

428

MFA Token Required

500

Unexpected Error

POST /api/balances
DELETE /api/balances/{id}
WARNING: The Balances resource will be deprecated in October 2023.

Delete a specific balance from your Belvo account.

operationId: Balances_deleteBalance

Parameters

Name In Required Type Description
id path required string

The balance.id that you want to delete.

Responses

204

No content

401

Unathorized

404

Not Found

DELETE /api/balances/{id}
GET /api/balances/{id}
WARNING: The Balances resource will be deprecated in October 2023.

Get the details of a specific balance.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Balances_getDetails

Parameters

Name In Required Type Description
id path required string

The balance.id you want to get detailed information about.

omit query optional string

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

fields query optional string

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

Responses

200

Ok

401

Unathorized

404

Not Found

GET /api/balances/{id}

Categorization 1 endpoints

POST /api/categorization

Send through your raw transaction data and receive enriched information for each of your transactions.

Note: Belvo can process up to 10,000 unique transactions per request.
operationId: Categorization_categorizeTransactions

Request Body

required
application/json
schema CategorizationRequest
Property Type Required
language string required
transactions array required
mcc integer optional
type string required
amount number required
currency string required
account_id string required
value_date string required
description string required
institution string required
transaction_id string required
account_category string required
account_holder_id string required
account_holder_type string required

Responses

200

Ok

400

Bad request error

401

Unathorized

403

Access to Belvo API denied

500

Unexpected Error

POST /api/categorization

Creditscore 4 endpoints

GET /api/credit-score

Get a paginated list of all credit scores in your Belvo account. By default, we return up to 100 results per page.

operationId: CreditScore_listAll

Parameters

Name In Required Type Description
page query optional integer

A page number within the paginated result set.

page_size query optional integer

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

omit query optional string

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

fields query optional string

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

account query optional string

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.

account__in query optional array

Return results only for these account.ids.

link query optional string

The link.id you want to filter by.

ℹ️ We highly recommend adding the link.id filter in order to improve your performance.

link__in query optional array

Return results only for these link.ids.

Responses

200

Ok

401

Unathorized

GET /api/credit-score
POST /api/credit-score

Retrieve a credit score for a specific link.

Before requesting a credit score for a link, you must also make the following requests in order for the score to be accurately calculated.

This is because the credit score is calculated based on the transactional data retrieved from the link.

We use up to 12 months of transactional data.

The minimum is 30 days of checking account transactional data.

The date_to parameter is optional and can be used to specify the date until which you want to retrieve the credit score. If not provided, the most recent credit score will be retrieved.

operationId: CreditScore_getByLink

Parameters

Name In Required Type Description
omit query optional string

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

fields query optional string

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

Request Body

required
application/json
schema CreditScoreRequest
Property Type Required
link string required
date_to string optional
save_data boolean optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

428

MFA Token Required

500

Unexpected Error

POST /api/credit-score
DELETE /api/credit-score/{id}

Delete a specific credit score from your Belvo account.

operationId: CreditScore_deleteSpecificScore

Parameters

Name In Required Type Description
id path required string

the credit-score.id that you want to delete

Responses

204

No content

401

Unathorized

404

Not Found

DELETE /api/credit-score/{id}
GET /api/credit-score/{id}

Get the details of a specific credit score.

operationId: CreditScore_getDetailsById

Parameters

Name In Required Type Description
id path required string

The credit-score.id you want to get detailed information about.

omit query optional string

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

fields query optional string

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

Responses

200

Ok

401

Unathorized

404

Not Found

GET /api/credit-score/{id}

Creditscore(eyod) 1 endpoints

POST /api/enrich/credit-score

Send through your raw data and receive a credit score for a given user.

Note: Belvo can process up to 10,000 unique transactions per request.
operationId: CreditScoreEyod_getUserCreditScore

Request Body

required

Request body for the EYOD credit score analysis.

application/json
schema CreditScoreEyodGetUserCreditScoreRequest
array of object
Property Type Required
date_to string required
user_id string required
accounts array required
id string required
balance number required
category string required
currency string required
balance_date string required
language string required
transactions array required
type string required
amount number required
currency string required
account_id string required
value_date string required
description string required
transaction_id string required

Responses

200

Ok

400

Bad request error

401

Unathorized

403

Access to Belvo API denied

500

Unexpected Error

POST /api/enrich/credit-score

Employmentrecordsmexico 4 endpoints

GET /api/employment-records

Get a paginated list of all existing employment records in your Belvo account. By default, we return up to 100 results per page.

operationId: EmploymentRecordsMexico_listAll

Parameters

Name In Required Type Description
page query optional integer

A page number within the paginated result set.

page_size query optional integer

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

omit query optional string

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

fields query optional string

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

id query optional string

Return information only for this resource id.

id__in query optional array

Return information for these resource ids.

link query optional string

The link.id you want to filter by.

ℹ️ We highly recommend adding the link.id filter in order to improve your performance.

link__in query optional array

Return results only for these link.ids.

internal_identification query optional string

The internal_identification you want to filter by.

internal_identification__in query optional array

One or more internal_identifications you want to filter by.

collected_at query optional string

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

collected_at__gt query optional string

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

collected_at__gte query optional string

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

collected_at__lt query optional string

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

collected_at__lte query optional string

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

collected_at__range query optional array

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

created_at query optional string

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

created_at__gt query optional string

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

created_at__gte query optional string

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

created_at__lt query optional string

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

created_at__lte query optional string

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

created_at__range query optional array

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

Responses

200

Ok

401

Unathorized

GET /api/employment-records
POST /api/employment-records

Retrieve employment record details for an individual.

operationId: EmploymentRecordsMexico_getDetails

Parameters

Name In Required Type Description
omit query optional string

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

fields query optional string

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

Request Body

required
application/json
schema EmploymentRecordRequest
Property Type Required
link string required
save_data boolean optional
attach_pdf boolean optional

Responses

200

Ok

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

428

MFA Token Required

500

Unexpected Error

POST /api/employment-records
DELETE /api/employment-records/{id}

Delete a specific employment record from your Belvo account.

operationId: EmploymentRecordsMexico_deleteRecord

Parameters

Name In Required Type Description
id path required string

The employment-record.id that you want to delete.

Responses

204

No content

401

Unathorized

404

Not Found

DELETE /api/employment-records/{id}
GET /api/employment-records/{id}

Get the details of a specific employment record.

operationId: EmploymentRecordsMexico_getDetails

Parameters

Name In Required Type Description
id path required string

The employment-record.id you want to get detailed information about.

omit query optional string

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

fields query optional string

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

Responses

200

Ok

401

Unathorized

404

Not Found

GET /api/employment-records/{id}

Incomeverification 1 endpoints

POST /api/enrich/incomes

Send through your raw data and receive enriched information for each of your user’s income streams.

Note: Belvo can process up to 10,000 unique transactions per request.
operationId: IncomeVerification_enrichUserIncomes

Request Body

required
application/json
schema EyodIncomeVerificationRequest
Property Type Required
date_to string optional
language string required
date_from string optional
transactions array required
type string required
amount number required
currency string required
account_id string required
value_date string required
description string required
institution string required
transaction_id string required
account_category string required
account_holder_id string required
account_holder_type string required
allowed_income_types array optional
minimum_confidence_level string optional

Responses

200

Ok

400

Bad request error

401

Unathorized

403

Access to Belvo API denied

500

Unexpected Error

POST /api/enrich/incomes

Incomes 5 endpoints

GET /api/incomes

Get a paginated list of all incomes in your Belvo account. By default, we return up to 100 results per page.

operationId: Incomes_listAll

Parameters

Name In Required Type Description
page query optional integer

A page number within the paginated result set.

page_size query optional integer

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

omit query optional string

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

fields query optional string

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

account query optional string

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.

account__in query optional array

Return results only for these account.ids.

link query optional string

The link.id you want to filter by.

ℹ️ We highly recommend adding the link.id filter in order to improve your performance.

link__in query optional array

Return results only for these link.ids.

Responses

200

Ok

401

Unathorized

GET /api/incomes
PATCH /api/incomes

Used to resume an Income retrieve session that was paused because an MFA
token was required by the institution.

operationId: Incomes_resumeSession

Parameters

Name In Required Type Description
omit query optional string

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

fields query optional string

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

Request Body

required
application/json
schema PatchBody
Property Type Required
link string required
token string optional
session string required
save_data boolean optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

428

MFA Token Required

500

Unexpected Error

PATCH /api/incomes
POST /api/incomes

Retrieve income insights for checking and savings accounts from a
specific link. You can receive insights for a period of up to 365 days,
depending on the transaction history available for each
bank.

operationId: Incomes_getInsights

Parameters

Name In Required Type Description
omit query optional string

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

fields query optional string

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

Request Body

required
application/json
schema IncomesRequest
Property Type Required
link string required
token string optional
date_to string optional
date_from string optional
save_data boolean optional
allowed_income_types array optional
minimum_confidence_level string optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

428

MFA Token Required

500

Unexpected Error

POST /api/incomes
DELETE /api/incomes/{id}

Delete a specific income from your Belvo account.

operationId: Incomes_deleteIncome

Parameters

Name In Required Type Description
id path required string

the income.id that you want to delete

Responses

204

No content

401

Unathorized

404

Not Found

DELETE /api/incomes/{id}
GET /api/incomes/{id}

Get the details of a specific income.

operationId: Incomes_getDetails

Parameters

Name In Required Type Description
id path required string

The income.id you want to get detailed information about.

omit query optional string

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

fields query optional string

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

Responses

200

Ok

401

Unathorized

404

Not Found

GET /api/incomes/{id}

Institutions 2 endpoints

GET /api/institutions

Get a paginated list of all the institutions currently supported by Belvo. By default, we return up to 100 results per page.

operationId: Institutions_getAll

Parameters

Name In Required Type Description
page query optional integer

A page number within the paginated result set.

page_size query optional integer

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

display_name query optional string

Return institutions that partially match this display name.

country_code query optional string

Return institutions only for this two-letter country code.

country_code__in query optional array

Return institutions only for these two-letter country codes.

resources__allin query optional array

Return institutions that support these resources.

name query optional string

Return an institution with this Belvo-designated name.

name__in query optional array

Return institutions with one or more of these Belvo-designated names.

status query optional string

Return institutions with the given status. You can choose between healthy or down.

status__in query optional array

Return institutions with one of the given statuses. You can choose between healthy or down.

type query optional string

Return institutions of this type. You can choose between bank, fiscal, or employment.

type__in query optional array

Return institutions of one of these types. You can choose between bank, fiscal, or employment.

website query optional string

Return institutions with this website URL.

Responses

200

Ok

401

Unathorized

GET /api/institutions
GET /api/institutions/{id}

Get the details of a specific institution.

operationId: Institutions_getDetails

Parameters

Name In Required Type Description
id path required string

The institution.id you want to get detailed information about.

Responses

200

Ok

401

Unathorized

404

Not Found

GET /api/institutions/{id}

Invoices 5 endpoints

GET /api/invoices

Get a paginated list of all existing invoices in your Belvo account. By default, we
return 100 results per page.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Invoices_listAll

Parameters

Name In Required Type Description
page query optional integer

A page number within the paginated result set.

page_size query optional integer

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

omit query optional string

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

fields query optional string

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

link query optional string

The link.id you want to filter by.

ℹ️ We highly recommend adding the link.id filter in order to improve your performance.

link__in query optional array

Return results only for these link.ids.

id query optional string

Return information only for this resource id.

id__in query optional array

Return information for these resource ids.

created_at query optional string

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

created_at__gt query optional string

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

created_at__gte query optional string

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

created_at__lt query optional string

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

created_at__lte query optional string

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

created_at__range query optional array

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

invoice_date query optional string

Return invoices issued exactly on this date (YYYY-MM-DD).

invoice_date__lt query optional string

Return balances issued before this date (YYYY-MM-DD).

invoice_date__lte query optional string

Return balances issued on this date or earlier (YYYY-MM-DD).

invoice_date__gt query optional string

Return invoices issued after this date (YYYY-MM-DD).

invoice_date__gte query optional string

Return invoices issued on this date or later (YYYY-MM-DD)

invoice_date__range query optional array

Return invoices issued within this date range (YYYY-MM-DD).

invoice_identification query optional string

Return an invoice with this ID (as provided by the insitution).

invoice_identification__in query optional array

Return invoices with these IDs (as provided by the institution).

status query optional string

Return invoices with this status. Can be either Vigente (valid) or Cancelado (cancelled).

status__in query optional array

Return invoices with these statuses. Can be either Vigente (valid) or Cancelado (cancelled).

type query optional string

Return invoices of this type. Can be either OUTFLOW or INFLOW.

type__in query optional array

Return invoices of these types. Can be either OUTFLOW or INFLOW.

total_amount query optional number

Return invoices matching exactly this value.

total_amount__lt query optional number

Return invoices less than this value.

total_amount__lte query optional number

Return invoices less than or equal to this value.

total_amount__gt query optional number

Return invoices greater than this value.

total_amount__gte query optional number

Return invoices greater than or equal to this value.

total_amount__range query optional array

Return invoices between these two values.

Responses

200

Ok

401

Unathorized

GET /api/invoices
PATCH /api/invoices

Used to resume an Invoice retrieve session that was paused because an MFA
token was required by the institution.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Invoices_completeRequest

Parameters

Name In Required Type Description
omit query optional string

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

fields query optional string

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

Request Body

required
application/json
schema PatchBody
Property Type Required
link string required
token string optional
session string required
save_data boolean optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

428

MFA Token Required

500

Unexpected Error

PATCH /api/invoices
POST /api/invoices

Retrieve invoice information from a specific fiscal link.

Info: You can ask for up to one year (365 days) of invoices per request. If you need invoices for more than one year, just make another request.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Invoices_getLinkInvoices

Parameters

Name In Required Type Description
X-Belvo-Request-Mode header optional string
omit query optional string

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

fields query optional string

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

Request Body

required
application/json
schema InvoicesRequest
Property Type Required
link string required
type string required
date_to string required
date_from string required
save_data boolean optional
attach_xml boolean optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

202

Accepted (when X-Belvo-Request-Mode is async)

400

Bad request error

401

Unathorized

408

Request Timeout

500

Unexpected Error

POST /api/invoices
DELETE /api/invoices/{id}

Delete a specific invoice from your Belvo account.

operationId: Invoices_deleteInvoice

Parameters

Name In Required Type Description
id path required string

The invoice.id that you want to delete.

Responses

204

No content

401

Unathorized

404

Not Found

DELETE /api/invoices/{id}
GET /api/invoices/{id}

Get the details of a specific invoice.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Invoices_getDetails

Parameters

Name In Required Type Description
id path required string

The invoice.id you want to get detailed information about.

omit query optional string

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

fields query optional string

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

Responses

200

Ok

401

Unathorized

404

Not Found

GET /api/invoices/{id}

Owners 5 endpoints

GET /api/owners

Get a paginated list of all existing owners in your Belvo account. We return
up to 100 results per page.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Owners_listAll

Parameters

Name In Required Type Description
page query optional integer

A page number within the paginated result set.

page_size query optional integer

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

omit query optional string

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

fields query optional string

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

link query optional string

The link.id you want to filter by.

ℹ️ We highly recommend adding the link.id filter in order to improve your performance.

link__in query optional array

Return results only for these link.ids.

id query optional string

Return information only for this resource id.

id__in query optional array

Return information for these resource ids.

created_at query optional string

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

created_at__gt query optional string

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

created_at__gte query optional string

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

created_at__lt query optional string

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

created_at__lte query optional string

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

created_at__range query optional array

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

email query optional string

Returns owners whose email address match your query.

display_name__icontains query optional string

Return owners whose full display name partially matches your query. For example, mar will return results for Mark, Maria, Neymar, Remarque, and so on.

Responses

200

Ok

401

Unathorized

GET /api/owners
PATCH /api/owners

Used to resume an Owner retrieve session that was paused because an MFA
token was required by the institution.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Owners_resumeRetrieveSession

Parameters

Name In Required Type Description
omit query optional string

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

fields query optional string

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

Request Body

required
application/json
schema PatchBody
Property Type Required
link string required
token string optional
session string required
save_data boolean optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

428

MFA Token Required

500

Unexpected Error

PATCH /api/owners
POST /api/owners

Retrieve owner information from a specific link.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Owners_getLinkOwner

Parameters

Name In Required Type Description
omit query optional string

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

fields query optional string

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

Request Body

required
application/json
schema StandardRequest
Property Type Required
link string required
token string optional
save_data boolean optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

428

MFA Token Required

500

Unexpected Error

POST /api/owners
DELETE /api/owners/{id}

Delete a specific owner from your Belvo account.

operationId: Owners_deleteOwner

Parameters

Name In Required Type Description
id path required string

The owner.id that you want to delete.

Responses

204

No content

401

Unathorized

404

Not Found

DELETE /api/owners/{id}
GET /api/owners/{id}

Get the details of a specific owner.

ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.

operationId: Owners_getDetails

Parameters

Name In Required Type Description
id path required string

The owner.id you want to get detailed information about.

omit query optional string

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

fields query optional string

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

Responses

200

Ok

401

Unathorized

404

Not Found

GET /api/owners/{id}

Recurringexpenses 5 endpoints

GET /api/recurring-expenses

Get a paginated list of all recurring expenses in your Belvo account. By default, we return up to 100 results per page.

operationId: RecurringExpenses_listAll

Parameters

Name In Required Type Description
page query optional integer

A page number within the paginated result set.

page_size query optional integer

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

omit query optional string

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

fields query optional string

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

link query optional string

The link.id you want to filter by.

ℹ️ We highly recommend adding the link.id filter in order to improve your performance.

link__in query optional array

Return results only for these link.ids.

account query optional string

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.

account__in query optional array

Return results only for these account.ids.

id query optional string

Return information only for this resource id.

id__in query optional array

Return information for these resource ids.

Responses

200

Ok

401

Unathorized

GET /api/recurring-expenses
PATCH /api/recurring-expenses

Used to resume an Recurring Expenses retrieve session that was paused because an MFA
token was required by the institution.

operationId: RecurringExpenses_resumeRequest

Parameters

Name In Required Type Description
omit query optional string

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

fields query optional string

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

Request Body

required
application/json
schema PatchBody
Property Type Required
link string required
token string optional
session string required
save_data boolean optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

428

MFA Token Required

500

Unexpected Error

PATCH /api/recurring-expenses
POST /api/recurring-expenses

Retrieve recurring expense insights for checking and savings accounts from a
specific link. You can receive insights for a period of up to 365 days,
depending on the transaction history available for each
bank.

operationId: RecurringExpenses_getInsights

Parameters

Name In Required Type Description
omit query optional string

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

fields query optional string

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

Request Body

required
application/json
schema RecurringExpensesRequest
Property Type Required
link string required
token string optional
date_to string optional
date_from string optional
save_data boolean optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

428

MFA Token Required

500

Unexpected Error

POST /api/recurring-expenses
DELETE /api/recurring-expenses/{id}

Delete a specific recurring expense from your Belvo account.

operationId: RecurringExpenses_deleteExpense

Parameters

Name In Required Type Description
id path required string

The recurring-expenses.id that you want to delete

Responses

204

No content

401

Unathorized

404

Not Found

DELETE /api/recurring-expenses/{id}
GET /api/recurring-expenses/{id}

Get the details of a specific recurring expense.

operationId: RecurringExpenses_getDetails

Parameters

Name In Required Type Description
id path required string

The recurring-expenses.id you want to get detailed information about.

omit query optional string

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

fields query optional string

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

Responses

200

Ok

401

Unathorized

404

Not Found

GET /api/recurring-expenses/{id}

Schemas

object 400InvalidCredentialsStorageError
{
  "type": "object",
  "title": "Invalid Credentials Storage",
  "properties": {
    "code": {
      "type": "string",
      "example": "login_error",
      "description": "A unique error code (`invalid_credentials_storage`) that allows you to classify and handle the error programmatically.\n\n\nℹ️ Check our DevPortal for more information on how to handle <a href=\"https://developers.belvo.com/docs/belvo-api-errors#400-invalid_credentials_storage\" target=\"_blank\">400 invalid_credentials_storage errors</a>.\n"
    },
    "message": {
      "type": "string",
      "example": "Recurrent links must store the credentials",
      "description": "A short description of the error. \n\n\nFor `invalid_credentials_storage` errors, the description can be one of the following:\n\n  - `Recurrent links must store the credentials`\n  \n"
    },
    "request_id": {
      "type": "string",
      "example": "9e7b283c6efa449c9c028a16b5c249fb",
      "pattern": "[a-f0-9]{32}",
      "description": "A 32-character unique ID of the request (matching a regex pattern of: `[a-f0-9]{32}`). Provide this ID when contacting the Belvo\nsupport team to accelerate investigations.\n"
    }
  },
  "description": "This error occurs when you attempted to create a **recurrent** link where you set `credentials_storage` to either `nostore` or to a date range between `1d` to `365d`.\n"
}
object 400InvalidFetchHistorical
{
  "type": "object",
  "title": "Invalid Fetch Resources",
  "properties": {
    "code": {
      "type": "string",
      "example": "invalid_fetch_resources",
      "description": "A unique error code (`invalid_fetch_resources`) that allows you to classify and handle the error programmatically.\n\n\nℹ️ Check our DevPortal for more information on how to handle <a href=\"https://developers.belvo.com/docs/belvo-api-errors#400-invalid_fetch_resources\" target=\"_blank\">400 invalid_fetch_resources errors</a>.\n"
    },
    "message": {
      "type": "string",
      "example": "Single links without stored credentials must fetch resources",
      "description": "A short description of the error. \n\n\nFor `invalid_fetch_resources` errors, the description can be one of the following:\n\n  - `Single links without stored credentials must fetch resources`\n  \n"
    },
    "request_id": {
      "type": "string",
      "example": "9e7b283c6efa449c9c028a16b5c249fb",
      "pattern": "[a-f0-9]{32}",
      "description": "A 32-character unique ID of the request (matching a regex pattern of: `[a-f0-9]{32}`). Provide this ID when contacting the Belvo\nsupport team to accelerate investigations.\n"
    }
  },
  "description": "This error occurs when you attempted to create a link where you set `credentials_storage` to `nostore` and did not send any resources in the `fetch_resources`. For links where we don't store credentials, you must send through an array of resources in `fetch_resources`.\n"
}
object 400InvalidResourcesError
{
  "type": "object",
  "title": "Invalid Resources",
  "properties": {
    "code": {
      "type": "string",
      "example": "invalid",
      "description": "A unique error code (`invalid`) that allows you to classify and handle the error programmatically.\n\n\nℹ️ Check our DevPortal for more information on how to handle <a href=\"https://developers.belvo.com/docs/belvo-api-errors#400-invalid\" target=\"_blank\">400 invalid_period errors</a>.\n"
    },
    "field": {
      "type": "string",
      "example": "resources",
      "description": "The request parameter that is causing the error. For invalid resources, this will be set to `resources`.\n"
    },
    "message": {
      "type": "string",
      "example": "The institution only supports the following resources: EMPLOYMENT_RECORDS, OWNERS",
      "description": "A short description of the error. \n\n\nFor `invalid` errors relating to `fetch_resources`, the description is:\n  \n  - `The institution only supports the following resources: (comma-separated list of supported resources)`.\n"
    },
    "request_id": {
      "type": "string",
      "example": "9e7b283c6efa449c9c028a16b5c249fb",
      "pattern": "[a-f0-9]{32}",
      "description": "A 32-character unique ID of the request (matching a regex pattern of: `[a-f0-9]{32}`). Provide this ID when contacting the Belvo\nsupport team to accelerate investigations.\n"
    }
  },
  "description": "This error occurs when you attempted to create a link where you added resources in `fetch_resources` that are unsupported by the institution.\n"
}
object 401_consent_without_accounts_error
{
  "type": "object",
  "title": "Consent Without Accounts",
  "properties": {
    "code": {
      "type": "string",
      "example": "consent_without_accounts",
      "description": "A unique error code (`consent_without_accounts`) that allows you to classify and handle the error programmatically.\n\n\nℹ️ Check our DevPortal for more information on how to handle <a href=\"https://developers.belvo.com/docs/belvo-api-errors#401-consent_without_accounts\" target=\"_blank\">401 consent_without_accounts errors</a>.\n"
    },
    "message": {
      "type": "string",
      "example": "The institution only supports the following resources: EMPLOYMENT_RECORDS, OWNERS",
      "description": "A short description of the error. \n\n\nFor `invalid` errors relating to `fetch_resources`, the description is:\n  \n  - `The institution only supports the following resources: (comma-separated list of supported resources)`.\n"
    },
    "request_id": {
      "type": "string",
      "example": "9e7b283c6efa449c9c028a16b5c249fb",
      "pattern": "[a-f0-9]{32}",
      "description": "A 32-character unique ID of the request (matching a regex pattern of: `[a-f0-9]{32}`). Provide this ID when contacting the Belvo\nsupport team to accelerate investigations.\n"
    }
  },
  "description": "This error occurs when your user has removed accounts associated with the consent they provided. For example, when your user first generated their consent, they had a checking and a loan account at the institution but has closed those accounts since then.\n"
}
object AccessToResourceDenied
{
  "type": "object",
  "title": "Access to Belvo API denied",
  "properties": {
    "code": {
      "type": "string",
      "example": "access_to_resource_denied",
      "description": "A unique error code (`access_to_resource_denied`) that allows you to classify and handle the error programmatically.\n\n\nℹ️ Check our DevPortal for more information on how to handle <a href=\"https://developers.belvo.com/docs/belvo-api-errors#403-access_to_resource_denied\" target=\"_blank\">403 access_to_resource_denied</a>.\n"
    },
    "message": {
      "type": "string",
      "example": "You don't have access to this resource.",
      "description": "A short description of the error. \n\n\nFor `access_to_resource_denied` errors, the description is:\n  \n  - `You don't have access to this resource.`.\n"
    },
    "request_id": {
      "type": "string",
      "example": "9e7b283c6efa449c9c028a16b5c249fb",
      "pattern": "[a-f0-9]{32}",
      "description": "A 32-character unique ID of the request (matching a regex pattern of: `[a-f0-9]{32}`). Provide this ID when contacting the Belvo\nsupport team to accelerate investigations.\n"
    }
  },
  "description": "This error occurs when you try to access Belvo's resource without the correct permissions.\n"
}
object Account
{
  "type": "object",
  "title": "Accounts Standard (Multi-Region)",
  "nullable": true,
  "required": [
    "name",
    "number",
    "type",
    "category",
    "public_identification_name",
    "public_identification_value",
    "currency",
    "balance",
    "balance_type",
    "credit_data",
    "loan_data",
    "collected_at",
    "last_accessed_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "example": "0d3ffb69-f83b-456e-ad8e-208d0998d71d",
      "description": "The unique identifier created by Belvo used to reference the current\naccount.\n"
    },
    "link": {
      "type": "string",
      "example": "30cb4806-6e00-48a4-91c9-ca55968576c8",
      "nullable": true,
      "description": "The `link.id` the account belongs to."
    },
    "name": {
      "type": "string",
      "example": "Cuenta Perfiles- M.N. - MXN-666",
      "nullable": true,
      "description": "The account name, as given by the institution."
    },
    "type": {
      "type": "string",
      "example": "Cuentas de efectivo",
      "nullable": true,
      "description": "The account type, as designated by the institution."
    },
    "number": {
      "type": "string",
      "example": "4057068115181",
      "nullable": true,
      "description": "The account number, as designated by the institution."
    },
    "balance": {
      "$ref": "#/components/schemas/AccountsBalance"
    },
    "category": {
      "$ref": "#/components/schemas/EnumAccountCategory"
    },
    "currency": {
      "type": "string",
      "example": "MXN",
      "nullable": true,
      "description": "The currency of the account. For example:\n- 🇧🇷 BRL (Brazilian Real)\n- 🇨🇴 COP (Colombian Peso)\n- 🇲🇽 MXN (Mexican Peso)\n\n Please note that other currencies other than in the list above may be returned."
    },
    "loan_data": {
      "$ref": "#/components/schemas/AccountsLoanData"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "example": "2022-02-09T08:45:50.406032Z",
      "description": "The ISO-8601 timestamp of when the data point was last updated in Belvo's database.\n"
    },
    "funds_data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AccountsFundsData"
      },
      "nullable": true,
      "description": "One or more funds that contribute to the the pension account."
    },
    "credit_data": {
      "$ref": "#/components/schemas/AccountsCreditData"
    },
    "institution": {
      "$ref": "#/components/schemas/InstitutionAccount"
    },
    "balance_type": {
      "type": "string",
      "example": "ASSET",
      "nullable": true,
      "description": "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.\n"
    },
    "collected_at": {
      "type": "string",
      "format": "date-time",
      "example": "2019-09-27T13:01:41.941Z",
      "description": "The ISO-8601 timestamp when the data point was collected.\n"
    },
    "bank_product_id": {
      "type": "string",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "*This field has been deprecated. For more information regarding Belvo and deprecation, see our [Deprecated fields](https://developers.belvo.com/reference/using-the-api-reference#%EF%B8%8F-deprecated-fields) explanation.*\n\n*The institution's product ID for the account type.*\n"
    },
    "last_accessed_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-03-09T10:28:40.000Z",
      "nullable": true,
      "description": "The ISO-8601 timestamp of Belvo's most recent successful access to the institution for the given link.\n"
    },
    "internal_identification": {
      "type": "string",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "*This field has been deprecated. For more information regarding Belvo and deprecation, see our [Deprecated fields](https://developers.belvo.com/reference/using-the-api-reference#%EF%B8%8F-deprecated-fields) explanation.*\n\n*The institution's internal identification for the account.*\n"
    },
    "public_identification_name": {
      "type": "string",
      "example": "CLABE",
      "nullable": true,
      "description": "The public name for the type of identification. For example: `\"CLABE\"`.\n\nℹ️ For 🇧🇷 Brazilian savings and checking accounts, this field will be `AGENCY/ACCOUNT`.\n"
    },
    "public_identification_value": {
      "type": "string",
      "example": "150194683119900273",
      "nullable": true,
      "description": "The value for the `public_identification_name`.\n\nℹ️ For 🇧🇷 Brazilian savings and checking accounts, this field will be the agency and bank account number, separated by a slash.\nFor example: `0444/45722-0`.\n"
    }
  },
  "description": "Details regarding the account.\n\n**Note**: For our recurring expenses resource, this account relates to the account that was analyzed to generate the recurring expenses report.\n"
}
object AccountBalanceOpenFinanceBrazil
{
  "type": "object",
  "required": [
    "current"
  ],
  "properties": {
    "blocked": {
      "type": "number",
      "format": "float",
      "example": 60.32,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "description": "The amount that is currently blocked due to pending transactions.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network if the `balances` field is available.\n"
    },
    "current": {
      "type": "number",
      "format": "float",
      "example": 5874.13,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "nullable": true,
      "description": "The current balance is calculated differently according to the type of account.\n\n\n- **💰 Checking and saving accounts**:\n\n\nThe user's account balance at the `collected_at` timestamp.\n\n- **💳 Credit cards**:\n\n\nThe 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).\n\n- **🏡 Loan accounts**:\n\n\nThe amount remaining to pay on the users's loan.\n"
    },
    "available": {
      "type": "number",
      "format": "float",
      "example": 5621.12,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "nullable": true,
      "description": "The balance that the account owner can use.\n\n- **💰 Checking and saving accounts**:\n\n\nThe available balance may be different to the `current` balance due to pending transactions.\n\n- **💳 Credit cards**:\n\n\nThe credit amount the user still has available for the current period. The amount is calculated as `credit_data.credit_limit` minus `balance.current`.\n\n- **🏡 Loan accounts**:\n\n\nThe present value required to pay off the loan, as provided by the institution.\n\n\n**Note:** If the institution does not provide this value, we return `null`.\n"
    },
    "automatically_invested": {
      "type": "number",
      "format": "float",
      "example": 131.5,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "description": "The amount that is automatically invested (as agreed upon with the institution).\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network if the `balances` field is available.\n"
    }
  },
  "description": "Details regarding the current and available balances for the account.\n"
}
object AccountCreditDataCardsOpenFinanceBrazil
{
  "type": "object",
  "required": [
    "is_multiple",
    "identification_number"
  ],
  "properties": {
    "is_multiple": {
      "type": "boolean",
      "example": false,
      "description": "Boolean to indicate if this account has multiple credit cards.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "identification_number": {
      "type": "string",
      "example": "4453",
      "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$",
      "maxLength": 100,
      "minLength": 1,
      "description": "The credit card number.\n\n**Note:** Often, this is just the last four digit of the credit card.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    }
  },
  "description": "Details regarding all the cards associated with the account."
}
object AccountCreditDataLimitsOpenFinanceBrazil
{
  "type": "object",
  "required": [
    "identification_number",
    "credit_limit",
    "used_amount",
    "available_amount",
    "is_limit_flexible",
    "type",
    "consolidation_type",
    "line_name",
    "line_name_additional_info"
  ],
  "properties": {
    "type": {
      "$ref": "#/components/schemas/EnumCreditCardLimitType"
    },
    "line_name": {
      "type": "string",
      "example": "CREDITO_A_VISTA",
      "nullable": true,
      "description": "The credit limit line name.\n"
    },
    "used_amount": {
      "type": "number",
      "format": "float",
      "example": 400.04,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "nullable": true,
      "description": "The amount used.\n"
    },
    "credit_limit": {
      "type": "number",
      "format": "float",
      "example": 1000.04,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "nullable": true,
      "description": "The limit of the credit card.\n"
    },
    "available_amount": {
      "type": "number",
      "format": "float",
      "example": 600,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "description": "The amount still available.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "is_limit_flexible": {
      "type": "boolean",
      "example": false,
      "description": "Boolean to indicate if the `credit_limit` is flexible.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "consolidation_type": {
      "type": "string",
      "example": "INDIVIDUAL",
      "description": "Indicates whether or not the credit limit is consolidated or individual.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "identification_number": {
      "type": "string",
      "example": "4453",
      "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$",
      "nullable": true,
      "maxLength": 100,
      "minLength": 1,
      "description": "The credit card number.\n\n**Note:** Often, this is just the last four digit of the credit card.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "line_name_additional_info": {
      "type": "string",
      "example": "Informações adicionais e complementares",
      "pattern": "[\\w\\W\\s]*",
      "nullable": true,
      "maxLength": 100,
      "description": "Additional information about the line name.\n"
    }
  },
  "description": "Detailed information regarding the credit limits for the credit cards.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
}
object AccountCreditDataOpenFinanceBrazil
{
  "type": "object",
  "nullable": true,
  "required": [
    "collected_at",
    "credit_limit"
  ],
  "properties": {
    "cards": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AccountCreditDataCardsOpenFinanceBrazil"
      },
      "minItems": 1,
      "description": "Details regarding the cards associated with the account."
    },
    "limits": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AccountCreditDataLimitsOpenFinanceBrazil"
      }
    },
    "network": {
      "$ref": "#/components/schemas/EnumAccountCreditCardNetwork"
    },
    "collected_at": {
      "type": "string",
      "format": "date-time",
      "example": "2019-09-27T13:01:41.941Z",
      "nullable": true,
      "description": "The ISO-8601 timestamp when the data point was collected.\n"
    },
    "credit_limit": {
      "type": "number",
      "format": "float",
      "example": 192000.9,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "nullable": true,
      "maxLength": 20,
      "description": "The upper credit limit of the card.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "cutting_date": {
      "type": "string",
      "format": "date",
      "example": "2019-12-11",
      "pattern": "^(\\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$",
      "nullable": true,
      "maxLength": 10,
      "description": "The date when the credit card's bill is due."
    },
    "interest_rate": {
      "type": "number",
      "format": "float",
      "example": null,
      "nullable": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "minimum_payment": {
      "type": "number",
      "format": "float",
      "example": 2400.3,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "nullable": true,
      "maxLength": 20,
      "description": "The minimum amount that the account owner needs to pay in the current credit period.\n"
    },
    "monthly_payment": {
      "type": "number",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "last_payment_date": {
      "type": "string",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "next_payment_date": {
      "type": "string",
      "example": null,
      "nullable": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "no_interest_payment": {
      "type": "number",
      "format": "float",
      "example": null,
      "nullable": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "network_additional_info": {
      "type": "string",
      "example": "It's an orange card.",
      "pattern": "[\\w\\W\\s]*",
      "nullable": true,
      "maxLength": 100,
      "description": "Additional information about the credit card network.\n"
    }
  },
  "description": "Details regarding the credit cards associated with this account."
}
object AccountLoanDataBalloonPaymentsOpenFinanceBrazil
{
  "type": "object",
  "nullable": true,
  "required": [
    "due_date",
    "currency",
    "amount"
  ],
  "properties": {
    "amount": {
      "type": "number",
      "format": "float",
      "example": 45391.89,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "nullable": true,
      "description": "The total amount of the balloon payment.\n"
    },
    "currency": {
      "type": "string",
      "example": "BRL",
      "pattern": "^[A-Z]{3}$",
      "nullable": true,
      "maxLength": 3,
      "description": "The three-letter currency code (ISO-4217).\n"
    },
    "due_date": {
      "type": "string",
      "format": "date",
      "example": "2021-09-06",
      "pattern": "^(\\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$",
      "nullable": true,
      "maxLength": 10,
      "description": "The date that the balloon payment is to be paid, in `YYYY-MM-DD` format.\n"
    }
  },
  "description": "Detailed information regarding any balloon payments for the loan, if applicable."
}
object AccountLoanDataCollateralsOpenFinanceBrazil
{
  "type": "object",
  "nullable": true,
  "required": [
    "type",
    "subtype",
    "currency",
    "amount"
  ],
  "properties": {
    "type": {
      "type": "string",
      "example": "OPERACOES_GARANTIDAS_PELO_GOVERNO",
      "description": "The type of collateral, as defined by the institution.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network if the `collaterals` field is available.\n"
    },
    "amount": {
      "type": "number",
      "format": "float",
      "example": 45391.89,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "description": "The total amount of the bill.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network if the `collaterals` field is available.\n"
    },
    "subtype": {
      "type": "string",
      "example": "CCR_CONVENIO_CREDITOS_RECIPROCOS",
      "description": "The subtype of the collateral, as defined by the institution.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network if the `collaterals` field is available.\n"
    },
    "currency": {
      "type": "string",
      "example": "BRL",
      "pattern": "^[A-Z]{3}$",
      "maxLength": 3,
      "description": "The three-letter currency code (ISO-4217).\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network if the `collaterals` field is available.\n"
    }
  },
  "description": "Details regarding any loan collaterals that the individual or business supplied."
}
object AccountLoanDataContractedChargesOpenFinanceBrazil
{
  "type": "object",
  "nullable": true,
  "properties": {
    "info": {
      "type": "string",
      "example": "Late fee",
      "pattern": "^[\\w\\W\\s]{0,140}$",
      "nullable": true,
      "maxLength": 140,
      "description": "Additional information regarding the contracted charge.\n"
    },
    "rate": {
      "type": "number",
      "format": "float",
      "example": 0.062,
      "pattern": "^[01]\\.\\d{6}$",
      "nullable": true,
      "description": "The percentage rate of the charge, calculated based on the amount of the loan.\n"
    },
    "type": {
      "$ref": "#/components/schemas/EnumAccountLoanDataContractedChargeType"
    }
  },
  "description": "Details regarding any contracted charges.\n"
}
object AccountLoanDataFeesOpenFinanceBrazil
{
  "type": "object",
  "nullable": true,
  "required": [
    "type",
    "value",
    "name",
    "code",
    "fee_charge_type",
    "fee_charge",
    "rate"
  ],
  "properties": {
    "code": {
      "type": "string",
      "example": "CADASTRO",
      "pattern": "^[\\w\\W\\s]{0,140}$",
      "maxLength": 140,
      "description": "The fee code.\n\n > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available.\n"
    },
    "name": {
      "type": "string",
      "example": "Renovação de cadastro",
      "pattern": "^[\\w\\W\\s]{0,140}$",
      "maxLength": 140,
      "description": "The fee name.\n\n > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available.\n"
    },
    "rate": {
      "type": "number",
      "format": "float",
      "example": 0.062,
      "pattern": "^[01]\\.\\d{6}$",
      "nullable": true,
      "description": "The percentage rate of the fee. Required when `fee_charge` is set to `PERCENTAGE`.\n"
    },
    "type": {
      "$ref": "#/components/schemas/EnumAccountLoanDataFeeType"
    },
    "value": {
      "type": "number",
      "format": "float",
      "example": 5.6,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "nullable": true,
      "description": "The total value of the fee. Same currency as the loan.\n"
    },
    "fee_charge": {
      "$ref": "#/components/schemas/EnumAccountLoanDataFeeCharge"
    },
    "fee_charge_type": {
      "$ref": "#/components/schemas/EnumAccountLoanDataFeeChargeType"
    }
  },
  "description": "Breakdown of the fees applied to the loan."
}
object AccountLoanDataInterestRateDataOpenFinanceBrazil
{
  "type": "object",
  "nullable": true,
  "required": [
    "tax_type",
    "rate_type",
    "calculation_base",
    "reference_index_type",
    "reference_index_subtype",
    "reference_index_info",
    "pre_fixed_rate",
    "post_fixed_rate",
    "additional_info"
  ],
  "properties": {
    "type": {
      "$ref": "#/components/schemas/EnumAccountLoanDataInterestRateType"
    },
    "tax_type": {
      "$ref": "#/components/schemas/EnumAccountLoanDataInterestRateDataTaxType"
    },
    "rate_type": {
      "$ref": "#/components/schemas/EnumAccountLoanDataInterestRateDataRateType"
    },
    "pre_fixed_rate": {
      "type": "number",
      "format": "float",
      "example": 0.062,
      "pattern": "^[01]\\.\\d{6}$",
      "description": "The pre-fixed percentage rate of the interest rate.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "additional_info": {
      "type": "string",
      "example": "Additional information",
      "pattern": "[\\w\\W\\s]*",
      "nullable": true,
      "maxLength": 1200,
      "description": "Additional information regarding the interest rate.\n"
    },
    "post_fixed_rate": {
      "type": "number",
      "format": "float",
      "example": 0.062,
      "pattern": "^[01]\\.\\d{6}$",
      "description": "The post-fixed percentage rate of the interest rate.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "calculation_base": {
      "type": "string",
      "example": "30/360",
      "pattern": "^[0-9]{2}\\/[0-9]{3}$",
      "description": "The base calculation for the interest rate.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "reference_index_info": {
      "type": "string",
      "example": "Additional information",
      "pattern": "^[\\w\\W\\s]{0,140}$",
      "nullable": true,
      "maxLength": 140,
      "description": "Additional information regarding the reference index rate.\n"
    },
    "reference_index_type": {
      "$ref": "#/components/schemas/EnumAccountLoanDataInterestRateDataReferenceIndexType"
    },
    "reference_index_subtype": {
      "type": "string",
      "example": "TR_TBF",
      "nullable": true,
      "description": "The subtype of the reference index rate.\n"
    }
  },
  "description": "Detailed information regarding the interest rate."
}
object AccountLoanDataInterestRateOpenFinanceBrazil
{
  "type": "object",
  "required": [
    "name",
    "type",
    "value",
    "interest_rate_data"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "NOMINAL",
      "nullable": true,
      "description": "The name of the type of interest rate applied to the loan.\n\n**Note:** For OFDA Brazil, we recommend you use the `interest_date_data.tax_type` parameter.\n"
    },
    "type": {
      "$ref": "#/components/schemas/EnumAccountLoanDataInterestRateType"
    },
    "value": {
      "type": "number",
      "format": "float",
      "example": 7.85,
      "nullable": true,
      "description": "The interest rate (in percent or currency value).\n\n**Note:** For OFDA Brazil, we recommend you use the `interest_date_data.pre_fixed_rate` and `interest_date_data.post_fixed_rate`parameter.\n"
    },
    "interest_rate_data": {
      "$ref": "#/components/schemas/AccountLoanDataInterestRateDataOpenFinanceBrazil"
    }
  },
  "description": "Breakdown of the interest applied to the loan. With OF Brazil, we highly recommend using the `interest_rate_data` object for in-depth information.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
}
object AccountLoanDataOpenFinanceBrazil
{
  "type": "object",
  "nullable": true,
  "required": [
    "collected_at",
    "loan_code",
    "contract_amount",
    "total_effectove_cost",
    "loan_type",
    "outstanding_balance",
    "interest_rates",
    "fees",
    "collaterals",
    "balloon_payments",
    "installments_contract_term_frequency",
    "installment_frequency",
    "installment_frequency_info",
    "first_installment_due_date",
    "number_of_installments_total",
    "number_of_installments_outstanding",
    "number_of_installments_paid",
    "number_of_installments_past_due",
    "disbursement_dates",
    "settlement_date",
    "contract_start_date",
    "contract_end_date",
    "contract_remaining_frequency",
    "contract_remaining_total",
    "amortization_schedule",
    "amortization_schedule_info",
    "consignee_id",
    "contract_number",
    "monthly_payment",
    "principal",
    "payment_day",
    "outstanding_principal",
    "credit_limit",
    "last_period_balance",
    "interest_rate",
    "limit_day",
    "cutting_day",
    "cutting_date",
    "last_payment_date",
    "no_interest_payment"
  ],
  "properties": {
    "fees": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AccountLoanDataFeesOpenFinanceBrazil"
      },
      "nullable": true,
      "description": "Breakdown of the fees applied to the loan.\n"
    },
    "limit_day": {
      "type": "string",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "loan_code": {
      "type": "string",
      "example": "92792126019929279212650822221989319252576",
      "pattern": "^\\d{22,67}$",
      "maxLength": 67,
      "minLength": 22,
      "description": "The country-specific standardized contract number.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "loan_type": {
      "type": "string",
      "example": "HOME_EQUITY",
      "description": "The type of the loan, according to the institution.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "principal": {
      "type": "number",
      "format": "float",
      "example": null,
      "nullable": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "collaterals": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AccountLoanDataCollateralsOpenFinanceBrazil"
      },
      "nullable": true,
      "description": "Details regarding any loan collaterals that the individual or business supplied.\n"
    },
    "cutting_day": {
      "type": "string",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "payment_day": {
      "type": "string",
      "example": null,
      "nullable": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "collected_at": {
      "type": "string",
      "format": "date-time",
      "example": "2022-02-09T08:45:50.406032Z",
      "description": "The ISO-8601 timestamp when the data point was collected.\n"
    },
    "consignee_id": {
      "type": "string",
      "example": "60500998000135",
      "pattern": "^\\d{14}$",
      "nullable": true,
      "maxLength": 14,
      "description": "The ID of the consignee of the loan.\n"
    },
    "credit_limit": {
      "type": "number",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "cutting_date": {
      "type": "string",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "interest_rate": {
      "type": "number",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "interest_rates": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AccountLoanDataInterestRateOpenFinanceBrazil"
      },
      "description": "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.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "contract_amount": {
      "type": "number",
      "format": "float",
      "example": 202000,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "nullable": true,
      "description": "The initial total loan amount when the contract was signed, calculated by the institution. This amount includes the principal + interest + taxes + fees.\n"
    },
    "contract_number": {
      "type": "string",
      "example": "1324926521496",
      "pattern": "^\\d{1,100}$",
      "nullable": true,
      "maxLength": 100,
      "minLength": 1,
      "description": "The contract number of the loan, as given by the institution.\n"
    },
    "monthly_payment": {
      "type": "number",
      "format": "float",
      "example": null,
      "nullable": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "settlement_date": {
      "type": "string",
      "example": "2021-09-23",
      "pattern": "^(\\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$",
      "nullable": true,
      "maxLength": 10,
      "description": "The date that the loan was settled, in `YYYY-MM-DD` format.\n"
    },
    "balloon_payments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AccountLoanDataBalloonPaymentsOpenFinanceBrazil"
      },
      "nullable": true,
      "description": "Detailed information regarding any balloon payments for the loan, if applicable.\n"
    },
    "contract_end_date": {
      "type": "string",
      "format": "date",
      "example": "2027-10-01",
      "pattern": "^(\\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$",
      "nullable": true,
      "maxLength": 10,
      "description": "The date when the loan is expected to be completed, in `YYYY-MM-DD` format.\n"
    },
    "last_payment_date": {
      "type": "string",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "contracted_charges": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AccountLoanDataContractedChargesOpenFinanceBrazil"
      },
      "nullable": true,
      "description": ""
    },
    "disbursement_dates": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "2021-09-23",
        "pattern": "^(\\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$",
        "nullable": true,
        "maxLength": 10,
        "description": "The date that the loan was disbursed, in `YYYY-MM-DD` format.\n"
      },
      "minItems": 1,
      "nullable": true,
      "description": "An array of dates when the loan was disbursed.\n"
    },
    "contract_start_date": {
      "type": "string",
      "format": "date",
      "example": "2020-03-01",
      "pattern": "^(\\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$",
      "maxLength": 10,
      "description": "The date when the loan contract was signed, in `YYYY-MM-DD` format.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "last_period_balance": {
      "type": "number",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "no_interest_payment": {
      "type": "number",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "outstanding_balance": {
      "type": "number",
      "format": "float",
      "example": 182000,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "nullable": true,
      "maxLength": 20,
      "minLength": 4,
      "description": "The amount remaining to pay in total, including interest.\n"
    },
    "total_effective_cost": {
      "type": "number",
      "format": "float",
      "example": 209000,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "nullable": true,
      "description": "The initial total effective cost of the loan.\n"
    },
    "amortization_schedule": {
      "type": "string",
      "example": "SEM_SISTEMA_AMORTIZACAO",
      "description": "The loan amortization schedule.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "installment_frequency": {
      "$ref": "#/components/schemas/EnumAccountLoanDataInstallmentFrequency"
    },
    "outstanding_principal": {
      "type": "number",
      "format": "float",
      "example": null,
      "nullable": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "contract_remaining_total": {
      "type": "integer",
      "format": "int32",
      "example": 20,
      "maximum": 999999999,
      "nullable": true,
      "description": "The total number of installments remaining on the loan.\n"
    },
    "amortization_schedule_info": {
      "type": "string",
      "example": "No need for a schedule.",
      "pattern": "[\\w\\W\\s]*",
      "nullable": true,
      "maxLength": 200,
      "description": "Additional information regarding the `amortization_schedule`.\n"
    },
    "first_installment_due_date": {
      "type": "string",
      "format": "date",
      "example": "2020-03-01",
      "pattern": "^(\\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$",
      "nullable": true,
      "maxLength": 10,
      "description": "The date when the first installment of the loan is to be paid, in `YYYY-MM-DD` format.\n"
    },
    "installment_frequency_info": {
      "type": "string",
      "example": "Both the term and requency are the same.",
      "pattern": "^[\\w\\W\\s]{0,99}$$",
      "nullable": true,
      "maxLength": 100,
      "description": "Additional information regarding the `installment_frequency`.\n"
    },
    "number_of_installments_paid": {
      "type": "integer",
      "format": "int32",
      "example": 32,
      "maximum": 999999999,
      "nullable": true,
      "description": "The number of installments already paid.\n"
    },
    "contract_remaining_frequency": {
      "$ref": "#/components/schemas/EnumAccountLoanDataContractRemainingFrequency"
    },
    "number_of_installments_total": {
      "type": "integer",
      "format": "int32",
      "example": 60,
      "maximum": 999999999,
      "nullable": true,
      "description": "The total number of installments required to pay the loan.\n"
    },
    "number_of_installments_past_due": {
      "type": "integer",
      "format": "int32",
      "example": 2,
      "maximum": 999,
      "nullable": true,
      "description": "The number of installments that are overdue.\n"
    },
    "number_of_installments_outstanding": {
      "type": "integer",
      "format": "int32",
      "example": 48,
      "maximum": 999999999,
      "nullable": true,
      "description": "The number of installments left to pay.\n"
    },
    "installments_contract_term_frequency": {
      "$ref": "#/components/schemas/EnumAccountsLoanDataContractInstallmentFrequency"
    }
  },
  "description": "The loan options associated with this account."
}
object AccountOpenFinanceBrazil
{
  "type": "object",
  "title": "Accounts (OFDA Brazil)",
  "nullable": true,
  "required": [
    "id",
    "link",
    "institution",
    "collected_at",
    "created_at",
    "last_accessed_at",
    "category",
    "balance_type",
    "type",
    "subtype",
    "name",
    "number",
    "agency",
    "check_digit",
    "balance",
    "currency",
    "public_identification_name",
    "public_identification_value",
    "internal_identification",
    "credit_data",
    "loan_data",
    "funds_data"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "example": "0d3ffb69-f83b-456e-ad8e-208d0998d71d",
      "description": "The unique identifier created by Belvo for the current\naccount.\n"
    },
    "link": {
      "type": "string",
      "example": "30cb4806-6e00-48a4-91c9-ca55968576c8",
      "nullable": true,
      "description": "The `link.id` the account belongs to."
    },
    "name": {
      "type": "string",
      "example": "Cuenta Perfiles- M.N. - MXN-666",
      "nullable": true,
      "description": "The account name, as given by the institution."
    },
    "type": {
      "type": "string",
      "example": "STANDARD_NACIONAL",
      "description": "The account type, as designated by the institution.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "agency": {
      "type": "string",
      "example": "6272",
      "pattern": "^\\d{1,4}$",
      "nullable": true,
      "maxLength": 4,
      "description": "The branch code where the product was opened.\n"
    },
    "number": {
      "type": "string",
      "example": "4057068115181",
      "nullable": true,
      "description": "The account number, as designated by the institution.\n"
    },
    "balance": {
      "$ref": "#/components/schemas/AccountBalanceOpenFinanceBrazil"
    },
    "subtype": {
      "type": "string",
      "example": "FINANCIAMENTO_HABITACIONAL_SFH",
      "description": "The account subtype, as designated by the institution.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network.\n"
    },
    "category": {
      "$ref": "#/components/schemas/EnumAccountCategoryOpenFinance"
    },
    "currency": {
      "type": "string",
      "example": "BRL",
      "pattern": "^[A-Z]{3}$",
      "maxLength": 3,
      "description": "The three-letter currency code (ISO-4217).\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network if the `balances` field is available.\n"
    },
    "loan_data": {
      "$ref": "#/components/schemas/AccountLoanDataOpenFinanceBrazil"
    },
    "overdraft": {
      "$ref": "#/components/schemas/AccountOverdraftOpenFinanceBrazil"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "example": "2022-02-09T08:45:50.406032Z",
      "description": "The ISO-8601 timestamp of when the data point was created in Belvo's database.\n"
    },
    "funds_data": {
      "type": "string",
      "example": null,
      "nullable": true,
      "description": "**Note:** This field is not applicable for OF Brazil and will return null.\n"
    },
    "check_digit": {
      "type": "string",
      "example": "7",
      "pattern": "[\\w\\W\\s]*",
      "nullable": true,
      "maxLength": 2,
      "description": "The check digit of the product's number, if applicable.\n"
    },
    "credit_data": {
      "$ref": "#/components/schemas/AccountCreditDataOpenFinanceBrazil"
    },
    "institution": {
      "$ref": "#/components/schemas/InstitutionAccount"
    },
    "balance_type": {
      "type": "string",
      "example": "ASSET",
      "nullable": true,
      "description": "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.\n"
    },
    "collected_at": {
      "type": "string",
      "format": "date-time",
      "example": "2019-09-27T13:01:41.941Z",
      "description": "The ISO-8601 timestamp when the data point was collected.\n"
    },
    "last_accessed_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-03-09T10:28:40.000Z",
      "nullable": true,
      "description": "The ISO-8601 timestamp of Belvo's most recent successful access to the institution for the given link.\n"
    },
    "internal_identification": {
      "type": "string",
      "example": "92792126019929279212650822221989319252576",
      "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$",
      "maxLength": 100,
      "description": "The institution's internal identification for the account.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network if the `balances` field is available.\n"
    },
    "public_identification_name": {
      "type": "string",
      "example": "AGENCY/ACCOUNT",
      "nullable": true,
      "description": "The public name for the type of identification. For 🇧🇷 Brazilian savings and checking accounts, this field will be `AGENCY/ACCOUNT`.\n"
    },
    "public_identification_value": {
      "type": "string",
      "example": "0444/45722-0",
      "nullable": true,
      "description": "The value for the `public_identification_name`.\n\nFor 🇧🇷 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`.\n\nFor 🇧🇷 OFDA Brazilian credit card accounts, we will return a string of concatenated credit card numbers associated with the account. For example: \"8763,9076,5522\"\n"
    }
  },
  "description": "Details regarding the account.\n"
}
object AccountOverdraftOpenFinanceBrazil
{
  "type": "object",
  "nullable": true,
  "required": [
    "arranged",
    "used",
    "unarranged"
  ],
  "properties": {
    "used": {
      "type": "number",
      "format": "float",
      "example": 1000.5,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "description": "The overdraft value used.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network if the `overdraft` field is available.\n"
    },
    "arranged": {
      "type": "number",
      "format": "float",
      "example": 5000.5,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "description": "The agreed upon overdraft limit between the account holder and the institution.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network if the `overdraft` field is available.\n"
    },
    "unarranged": {
      "type": "number",
      "format": "float",
      "example": 300.1,
      "pattern": "^\\d{1,15}\\.\\d{2,4}$",
      "description": "The overdraft used that was not arranged between the account holder and the institution.\n\n> **Non-nullable:** A value must be returned by Brazil's open finance network if the `overdraft` field is available.\n"
    }
  }
}
object AccountsBalance
{
  "type": "object",
  "required": [
    "current"
  ],
  "properties": {
    "current": {
      "type": "number",
      "format": "float",
      "example": 5874.13,
      "nullable": true,
      "description": "The current balance is calculated differently according to the type of account.\n\n\n- **💰 Checking and saving accounts**:\n\n\nThe user's account balance at the `collected_at` timestamp.\n\n- **💳 Credit cards**:\n\n\nThe 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).\n\n- **🏡 Loan accounts**:\n\n\nThe amount remaining to pay on the users's loan.\n"
    },
    "available": {
      "type": "number",
      "format": "float",
      "example": 5621.12,
      "nullable": true,
      "description": "The balance that the account owner can use.\n\n- **💰 Checking and saving accounts**:\n\n\nThe available balance may be different to the `current` balance due to pending transactions.\n\n- **💳 Credit cards**:\n\n\nThe credit amount the user still has available for the current period. The `available` balance may be different to the `current` balance due to pending transactions or future instalments.\n\n- **🏡 Loan accounts**:\n\n\nThe present value required to pay off the loan, as provided by the institution.\n\n\n**Note:** If the institution does not provide this value, we return `null`.\n"
    }
  },
  "description": "Details regarding the current and available balances for the account.\n"
}
array AccountsCreateLinkAccounts201Response
{
  "type": "array",
  "items": {
    "oneOf": [
      {
        "$ref": "#/components/schemas/Account"
      },
      {
        "$ref": "#/components/schemas/AccountOpenFinanceBrazil"
      }
    ]
  }
}
array AccountsCreateLinkAccounts400Response
{
  "type": "array",
  "items": {
    "anyOf": [
      {
        "$ref": "#/components/schemas/TooManySessionsError"
      },
      {
        "$ref": "#/components/schemas/LoginError"
      },
      {
        "$ref": "#/components/schemas/SessionExpiredError"
      },
      {
        "$ref": "#/components/schemas/ValidationError"
      },
      {
        "$ref": "#/components/schemas/InstitutionDownError"
      },
      {
        "$ref": "#/components/schemas/InstitutionUnavailableError"
      },
      {
        "$ref": "#/components/schemas/InstitutionInactiveError"
      },
      {
        "$ref": "#/components/schemas/UnsupportedOperationError"
      },
      {
        "$ref": "#/components/schemas/InvalidLinkError"
      },
      {
        "$ref": "#/components/schemas/UnconfirmedLinkError"
      }
    ]
  }
}
array AccountsCreateLinkAccounts401Response
{
  "type": "array",
  "items": {
    "anyOf": [
      {
        "$ref": "#/components/schemas/UnauthorizedError"
      },
      {
        "$ref": "#/components/schemas/401_consent_without_accounts_error"
      }
    ]
  }
}
array AccountsCreateLinkAccounts408Response
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/RequestTimeoutError"
  },
  "title": "Request Timeout",
  "description": "Belvo has a limit regarding the time it takes to log in, retrieve account data, and log out. A timeout occurs when there is a very high amount of data and everything could not be obtained within the allotted time.\n  \n"
}
array AccountsCreateLinkAccounts428Response
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/TokenRequiredResponse"
  }
}
array AccountsCreateLinkAccounts500Response
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/UnexpectedError"
  },
  "title": "Unexpected Error",
  "description": "This error occurs when we (Belvo) have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n  \n"
}
array AccountsCreateLinkAccountsResponse
{
  "type": "array",
  "items": {
    "oneOf": [
      {
        "$ref": "#/components/schemas/Account"
      },
      {
        "$ref": "#/components/schemas/AccountOpenFinanceBrazil"
      }
    ]
  }
}
object AccountsCreditData
{
  "type": "object",
  "nullable": true,
  "required": [
    "credit_limit",
    "cutting_date",
    "next_payment_date",
    "minimum_payment",
    "no_interest_payment",
    "interest_rate",
    "collected_at"
  ],
  "properties": {
    "collected_at": {
      "type": "string",
      "format": "date-time",
      "example": "2019-09-27T13:01:41.941Z",
      "nullable": true,
      "description": "The ISO-8601 timestamp when the data point was collected.\n"
    },
    "credit_limit": {
      "type": "number",
      "format": "float",
      "example": 192000,
      "nullable": true,
      "description": "The maximum amount of credit the owner can receive."
    },
    "cutting_date": {
      "type": "string",
      "example": "2019-12-11",
      "nullable": true,
      "description": "The closing date of the credit period, in `YYYY-MM-DD` format."
    },
    "interest_rate": {
      "type": "number",
      "format": "float",
      "example": 4,
      "nullable": true,
      "description": "The annualized interest rate of the credit."
    },
    "minimum_payment": {
      "type": "number",
      "format": "float",
      "example": 2400.3,
      "nullable": true,
      "description": "The minimum amount to be paid on the `next_payment_date`."
    },
    "monthly_payment": {
      "type": "number",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "*This field has been deprecated. For more information regarding Belvo and deprecation, see our [Deprecated fields](https://developers.belvo.com/reference/using-the-api-reference#%EF%B8%8F-deprecated-fields) explanation.*\n\n*The recurrent monthly payment, if applicable.*\n"
    },
    "last_payment_date": {
      "type": "string",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "*This field has been deprecated. For more information regarding Belvo and deprecation, see our [Deprecated fields](https://developers.belvo.com/reference/using-the-api-reference#%EF%B8%8F-deprecated-fields) explanation.*\n\n\n*The date when the last credit payment was made, in `YYYY-MM-DD` format.*\n"
    },
    "next_payment_date": {
      "type": "string",
      "example": "2019-12-13",
      "description": "The due date for the next payment , in `YYYY-MM-DD` format."
    },
    "last_period_balance": {
      "type": "string",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "*This field has been deprecated. For more information regarding Belvo and deprecation, see our [Deprecated fields](https://developers.belvo.com/reference/using-the-api-reference#%EF%B8%8F-deprecated-fields) explanation.*\n\n\n*The balance remaining after the `last_payment_date`.*\n"
    },
    "no_interest_payment": {
      "type": "number",
      "format": "float",
      "example": 2690.83,
      "nullable": true,
      "description": "The minimum amount required to pay to avoid generating interest."
    }
  },
  "description": "The credit options associated with this account."
}
array AccountsDeleteSpecificAccount404Response
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/NotFoundError"
  },
  "description": "You made a request where you:\n\n  - provided the wrong URL.\n  - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account.\n  \n"
}
array AccountsDeleteSpecificAccountResponse
{
  "type": "array",
  "items": {
    "anyOf": [
      {
        "$ref": "#/components/schemas/UnauthorizedError"
      },
      {
        "$ref": "#/components/schemas/401_consent_without_accounts_error"
      }
    ]
  }
}
object AccountsFundsData
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "example": "FIX X",
      "nullable": true,
      "description": "The pension fund name."
    },
    "type": {
      "type": "string",
      "example": "CNPJ",
      "nullable": true,
      "description": "Type of pension fund."
    },
    "balance": {
      "type": "number",
      "format": "float",
      "example": 88427.94,
      "nullable": true,
      "description": "The amount in the fund."
    },
    "percentage": {
      "type": "number",
      "format": "float",
      "example": 100,
      "nullable": true,
      "description": "How much this fund, as a percentage, contributes to the pension\naccount's total.\n"
    },
    "collected_at": {
      "type": "string",
      "format": "date-time",
      "example": "2020-04-23T21:32:55.336854+00:00",
      "description": "The ISO-8601 timestamp when the data point was collected."
    },
    "public_identifications": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AccountsFundsDataPublicIdentifications"
      },
      "nullable": true,
      "description": "The fund's public IDs."
    }
  }
}
object AccountsFundsDataPublicIdentifications
{
  "type": "object",
  "required": [
    "name",
    "value"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "CNPJ",
      "description": "The type of identification number for the fund."
    },
    "value": {
      "type": "string",
      "example": "05.954.445/0221-68",
      "nullable": true,
      "description": "The fund's identification number."
    }
  }
}
array AccountsGetDetails401Response
{
  "type": "array",
  "items": {
    "anyOf": [
      {
        "$ref": "#/components/schemas/UnauthorizedError"
      },
      {
        "$ref": "#/components/schemas/401_consent_without_accounts_error"
      }
    ]
  }
}
array AccountsGetDetails404Response
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/NotFoundError"
  },
  "description": "You made a request where you:\n\n  - provided the wrong URL.\n  - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account.\n  \n"
}
object AccountsGetDetailsResponse
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/Account"
    },
    {
      "$ref": "#/components/schemas/AccountOpenFinanceBrazil"
    }
  ]
}
array AccountsListAll401Response
{
  "type": "array",
  "items": {
    "anyOf": [
      {
        "$ref": "#/components/schemas/UnauthorizedError"
      },
      {
        "$ref": "#/components/schemas/401_consent_without_accounts_error"
      }
    ]
  }
}
object AccountsListAllResponse
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/AccountsPaginatedResponse"
    },
    {
      "$ref": "#/components/schemas/AccountsPaginatedResponseOpenFinanceBrazil"
    }
  ]
}
object AccountsLoanData
{
  "type": "object",
  "nullable": true,
  "required": [
    "principal",
    "monthly_payment",
    "outstanding_balance",
    "interest_rates",
    "collected_at"
  ],
  "properties": {
    "fees": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AccountsLoanDataFees"
      },
      "nullable": true,
      "description": "Breakdown of the fees applied to the loan."
    },
    "limit_day": {
      "type": "string",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "*This field has been deprecated. For more information regarding Belvo and deprecation, see our [Deprecated fields](https://developers.belvo.com/reference/using-the-api-reference#%EF%B8%8F-deprecated-fields) explanation.*\n\nPlease see `payment_day` instead.\n"
    },
    "loan_type": {
      "type": "string",
      "example": "Consignado",
      "nullable": true,
      "description": "The type of the loan, according to the institution."
    },
    "principal": {
      "type": "number",
      "format": "float",
      "example": 192000,
      "nullable": true,
      "description": "Total amount of the loan (the amount the user receives)."
    },
    "cutting_day": {
      "type": "string",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "*This field has been deprecated. For more information regarding Belvo and deprecation, see our [Deprecated fields](https://developers.belvo.com/reference/using-the-api-reference#%EF%B8%8F-deprecated-fields) explanation.*\n\nThe closing day of the month for the loan.\n"
    },
    "payment_day": {
      "type": "string",
      "example": "27",
      "nullable": true,
      "description": "The day of the month by which the owner needs to pay the loan (`DD`)."
    },
    "collected_at": {
      "type": "string",
      "format": "date-time",
      "example": "2022-02-09T08:45:50.406032Z",
      "description": "The ISO-8601 timestamp when the data point was collected.\n"
    },
    "credit_limit": {
      "type": "number",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "*This field has been deprecated. For more information regarding Belvo and deprecation, see our [Deprecated fields](https://developers.belvo.com/reference/using-the-api-reference#%EF%B8%8F-deprecated-fields) explanation.*\n\nPlease see `principal` instead.\n"
    },
    "cutting_date": {
      "type": "string",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "*This field has been deprecated. For more information regarding Belvo and deprecation, see our [Deprecated fields](https://developers.belvo.com/reference/using-the-api-reference#%EF%B8%8F-deprecated-fields) explanation.*\n\nThe closing date of the loan period, in `YYYY-MM-DD` format.\n"
    },
    "interest_rate": {
      "type": "number",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "*This field has been deprecated. For more information regarding Belvo and deprecation, see our [Deprecated fields](https://developers.belvo.com/reference/using-the-api-reference#%EF%B8%8F-deprecated-fields) explanation.*\n\nPlease see the `interest_rates` object instead.\n"
    },
    "interest_rates": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AccountsLoanDataInterestRate"
      },
      "nullable": true,
      "description": "Breakdown of the interest applied to the loan."
    },
    "contract_amount": {
      "type": "number",
      "format": "float",
      "example": 202000,
      "nullable": true,
      "description": "The initial total loan amount, calculated by the institution, when the contract was signed. This amount includes the principal + interest + taxes + fees."
    },
    "contract_number": {
      "type": "string",
      "example": "890ASLDJF87SD00",
      "nullable": true,
      "description": "The contract number of the loan, as given by the institution."
    },
    "monthly_payment": {
      "type": "number",
      "format": "float",
      "example": 1000,
      "nullable": true,
      "description": "The recurrent monthly payment, if applicable."
    },
    "contract_end_date": {
      "type": "string",
      "format": "date",
      "example": "2027-10-01",
      "description": "The date when the loan is expected to be completed, in `YYYY-MM-DD` format."
    },
    "last_payment_date": {
      "type": "string",
      "nullable": true,
      "deprecated": true,
      "description": "*This field has been deprecated. For more information regarding Belvo and deprecation, see our [Deprecated fields](https://developers.belvo.com/reference/using-the-api-reference#%EF%B8%8F-deprecated-fields) explanation.*\n\nThe date when the last loan payment was made, in `YYYY-MM-DD` format.\n"
    },
    "next_payment_date": {
      "type": "string",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "*This field has been deprecated. For more information regarding Belvo and deprecation, see our [Deprecated fields](https://developers.belvo.com/reference/using-the-api-reference#%EF%B8%8F-deprecated-fields) explanation.*\n\nPlease use `payment_day` instead, in `YYYY-MM-DD` format.\n"
    },
    "contract_start_date": {
      "type": "string",
      "example": "2020-03-01",
      "nullable": true,
      "description": "The date when the loan contract was signed , in `YYYY-MM-DD` format."
    },
    "last_period_balance": {
      "type": "number",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "*This field has been deprecated. For more information regarding Belvo and deprecation, see our [Deprecated fields](https://developers.belvo.com/reference/using-the-api-reference#%EF%B8%8F-deprecated-fields) explanation.*\n\nPlease see `outstanding_balance` instead.\n"
    },
    "no_interest_payment": {
      "type": "number",
      "example": null,
      "nullable": true,
      "deprecated": true,
      "description": "*This field has been deprecated. For more information regarding Belvo and deprecation, see our [Deprecated fields](https://developers.belvo.com/reference/using-the-api-reference#%EF%B8%8F-deprecated-fields) explanation.*\n\nThe minimum amount required to pay to avoid generating interest.\n"
    },
    "outstanding_balance": {
      "type": "number",
      "format": "float",
      "example": 182000,
      "nullable": true,
      "description": "The amount remaining to pay in total, including interest."
    },
    "outstanding_principal": {
      "type": "number",
      "format": "float",
      "example": 142023,
      "nullable": true,
      "description": "Outstanding loan amount, that is, how much remains to pay on the principal (not including interest).\n"
    },
    "number_of_installments_total": {
      "type": "integer",
      "format": "int32",
      "example": 60,
      "nullable": true,
      "description": "The total number of installments required to pay the loan."
    },
    "number_of_installments_outstanding": {
      "type": "integer",
      "format": "int32",
      "example": 48,
      "nullable": true,
      "description": "The number of installments left to pay."
    }
  },
  "description": "The loan options associated with this account."
}
object AccountsLoanDataFees
{
  "type": "object",
  "nullable": true,
  "required": [
    "type",
    "value"
  ],
  "properties": {
    "type": {
      "$ref": "#/components/schemas/EnumLoanDataFeeType"
    },
    "value": {
      "type": "number",
      "format": "float",
      "example": 5.6,
      "description": "The total value of the fee. Same currency of the Loan.\n"
    }
  },
  "description": "Breakdown of the fees applied to the loan."
}
object AccountsLoanDataInterestRate
{
  "type": "object",
  "required": [
    "name",
    "type",
    "value"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "jurosEfetivo",
      "nullable": true,
      "description": "The name of the type of interest rate applied to the loan."
    },
    "type": {
      "$ref": "#/components/schemas/EnumLoanDataInterestRateType"
    },
    "value": {
      "type": "number",
      "format": "float",
      "example": 7.85,
      "nullable": true,
      "description": "The interest rate (in percent or currency value)."
    }
  },
  "description": "Breakdown of the interest applied to the loan."
}
object AccountsPaginatedResponse
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/common_pagination_properties"
    },
    {
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Account"
          },
          "description": "An array of Account objects."
        }
      }
    }
  ],
  "title": "Accounts Standard (Multi-Region)"
}
object AccountsPaginatedResponseOpenFinanceBrazil
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/common_pagination_properties"
    },
    {
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/AccountOpenFinanceBrazil"
          },
          "description": "An array of account objects."
        }
      }
    }
  ],
  "title": "Accounts (OFDA Brazil)"
}
array AccountsResumeRetrieveSession201Response
{
  "type": "array",
  "items": {
    "oneOf": [
      {
        "$ref": "#/components/schemas/Account"
      },
      {
        "$ref": "#/components/schemas/AccountOpenFinanceBrazil"
      }
    ]
  }
}
array AccountsResumeRetrieveSession400Response
{
  "type": "array",
  "items": {
    "anyOf": [
      {
        "$ref": "#/components/schemas/TooManySessionsError"
      },
      {
        "$ref": "#/components/schemas/LoginError"
      },
      {
        "$ref": "#/components/schemas/SessionExpiredError"
      },
      {
        "$ref": "#/components/schemas/ValidationError"
      },
      {
        "$ref": "#/components/schemas/InstitutionDownError"
      },
      {
        "$ref": "#/components/schemas/InstitutionUnavailableError"
      },
      {
        "$ref": "#/components/schemas/InstitutionInactiveError"
      },
      {
        "$ref": "#/components/schemas/UnsupportedOperationError"
      },
      {
        "$ref": "#/components/schemas/InvalidLinkError"
      },
      {
        "$ref": "#/components/schemas/UnconfirmedLinkError"
      }
    ]
  }
}
array AccountsResumeRetrieveSession401Response
{
  "type": "array",
  "items": {
    "anyOf": [
      {
        "$ref": "#/components/schemas/UnauthorizedError"
      },
      {
        "$ref": "#/components/schemas/401_consent_without_accounts_error"
      }
    ]
  }
}
array AccountsResumeRetrieveSession408Response
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/RequestTimeoutError"
  },
  "title": "Request Timeout",
  "description": "Belvo has a limit regarding the time it takes to log in, retrieve account data, and log out. A timeout occurs when there is a very high amount of data and everything could not be obtained within the allotted time.\n  \n"
}
array AccountsResumeRetrieveSession428Response
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/TokenRequiredResponse"
  }
}
array AccountsResumeRetrieveSession500Response
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/UnexpectedError"
  },
  "title": "Unexpected Error",
  "description": "This error occurs when we (Belvo) have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n  \n"
}
array AccountsResumeRetrieveSessionResponse
{
  "type": "array",
  "items": {
    "oneOf": [
      {
        "$ref": "#/components/schemas/Account"
      },
      {
        "$ref": "#/components/schemas/AccountOpenFinanceBrazil"
      }
    ]
  }
}
object AnnualCostsAndDeductionsStatementBusiness
{
  "type": "object",
  "required": [
    "costs",
    "administration_expenses",
    "distribution_and_sales_expenses",
    "financial_expenses",
    "total_costs_and_deductible_expenses"
  ],
  "properties": {
    "costs": {
      "type": "number",
      "format": "float",
      "example": 1881843000,
      "description": "Total costs for the company to operate."
    },
    "financial_expenses": {
      "type": "number",
      "format": "float",
      "example": 0,
      "description": "Total value of any fees incurred by the company to operate (such as bank fees)."
    },
    "administration_expenses": {
      "type": "number",
      "format": "float",
      "example": 3266000,
      "description": "Total costs of the company related to training, company offsites, or similar."
    },
    "distribution_and_sales_expenses": {
      "type": "number",
      "format": "float",
      "example": 0,
      "description": "Total costs the company incurred in order to distribute or sell their product."
    },
    "total_costs_and_deductible_expenses": {
      "type": "number",
      "format": "float",
      "example": 191449000,
      "description": "Total value of all costs and dedictible expenses."
    }
  },
  "description": "Object containing the reported annual costs and applicable deductions."
}

Versions

Version Endpoints Schemas Ingested Status
1.106.0 80 575 2026-05-11 current
1.106.0 80 575 2026-04-16