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

Clear filters

Accounts 1 endpoints

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

Balances 1 endpoints

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

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 1 endpoints

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

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 1 endpoints

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

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 1 endpoints

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

Invoices 1 endpoints

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

Owners 1 endpoints

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

Recurringexpenses 1 endpoints

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

Riskinsights 1 endpoints

POST /api/risk-insights

Request the risk insights for a given link ID.

If you need to know the currency of the account, just do a GET Details to the accounts endpoint (using the ID you receive from the accounts response).

operationId: RiskInsights_getForLink

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/risk-insights

Taxcompliancestatus 1 endpoints

POST /api/tax-compliance-status

Retrieve the Tax compliance status information for a specific fiscal link.

operationId: TaxComplianceStatus_getFiscalLinkInfo

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 TaxComplianceStatusRequest
Property Type Required
link string required
save_data boolean optional
attach_pdf boolean optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

500

Unexpected Error

POST /api/tax-compliance-status

Taxdeclarations 1 endpoints

POST /api/tax-declarations

Retrieve tax declaration information for a specific fiscal link.

operationId: TaxDeclarations_getFiscalLink

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 TaxDeclarationsRequest
Property Type Required
link string required
year_to string required
save_data boolean optional
year_from string required
attach_pdf boolean optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

500

Unexpected Error

POST /api/tax-declarations

Taxretentions 1 endpoints

POST /api/tax-retentions

Retrieve tax retention information from a specific link. The maximum number of tax retentions that can be returned for a period is 500.

operationId: TaxRetentions_getLinkTaxRetentions

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

400

Bad request error

401

Unathorized

408

Request Timeout

500

Unexpected Error

POST /api/tax-retentions

Taxreturns 1 endpoints

POST /api/tax-returns

Retrieve tax return information for a specific fiscal link.

operationId: TaxReturns_getInformation

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 TaxReturnsGetInformationRequest

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

500

Unexpected Error

POST /api/tax-returns

Taxstatus 1 endpoints

POST /api/tax-status

Retrieve tax status information for a specific fiscal link.

operationId: TaxStatus_getLinkTaxStatus

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 TaxStatusRequest
Property Type Required
link string required
save_data boolean optional
attach_pdf boolean optional

Responses

200

Ok (when save_data=false)

201

Created (when save_data=true)

400

Bad request error

401

Unathorized

408

Request Timeout

500

Unexpected Error

POST /api/tax-status

Transactions 1 endpoints

POST /api/transactions

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

Info: When retrieving transactions, it is important to understand that the available transaction data ranges depend on each institution.

If you try to access older information than what we can access, we will return all the data we can read within that date range. For example, if you request transactions for the last year and we can only access the last six months, we will return the information corresponding to these six months of data.
operationId: Transactions_createLinkTransactions

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

202

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

400

Bad request error

401

Unathorized

408

Request Timeout

428

MFA Token Required

500

Unexpected Error

POST /api/transactions

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