Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://sandbox.belvo.com
https://development.belvo.com
/api/accounts
Get a paginated list of all existing accounts in your Belvo account. By default, we return up to 100 results per page.
ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| page | query | optional | integer | A page number within the paginated result set. |
| page_size | query | optional | integer | Indicates how many results to return per page. By default we return 100 results per page. ℹ️ The minimum number of results returned per page is 1 and the maximum is 1000. If you enter a value greater than 1000, our API will default to the maximum value (1000). |
| omit | query | optional | string | Omit certain fields from being returned in the response. For more information, see our Filtering responses DevPortal article. |
| fields | query | optional | string | Return only the specified fields in the response. For more information, see our Filtering responses DevPortal article. |
| link | query | optional | string | The ℹ️ We highly recommend adding the |
| link__in | query | optional | array | Return results only for these |
| balance__available | query | optional | number | Return accounts that have a |
| balance__available__lt | query | optional | number | Return accounts that have a |
| balance__available__lte | query | optional | number | Return accounts that have a |
| balance__available__gt | query | optional | number | Return accounts that have a |
| balance__available__gte | query | optional | number | Return accounts that have a |
| balance__available__range | query | optional | array | Return accounts that have a |
| balance__current | query | optional | number | Return accounts that have a |
| balance__current__lt | query | optional | number | Return accounts that have a |
| balance__current__lte | query | optional | number | Return accounts that have a |
| balance__current__gt | query | optional | number | Return accounts that have a |
| balance__current__gte | query | optional | number | Return accounts that have a |
| balance__current__range | query | optional | array | Return accounts that have a |
| category | query | optional | string | Return accounts only for the given category (for example, |
| category__in | query | optional | array | Return accounts only for the given categories (for example, |
| created_at | query | optional | string | Return items that were last updated in Belvo’s database on this date (in |
| created_at__gt | query | optional | string | Return items that were last updated in Belvo’s database after this date (in |
| created_at__gte | query | optional | string | Return items that were last updated in Belvo’s database after or on this date (in |
| created_at__lt | query | optional | string | Return items that were last updated in Belvo’s database before this date (in |
| created_at__lte | query | optional | string | Return items that were last updated in Belvo’s database before or on this date (in |
| created_at__range | query | optional | array | Return accounts that were last updated in Belvo’s database between two dates (in |
| currency | query | optional | string | Return results that hold finances or balances in only this three-letter currency code. |
| currency__in | query | optional | array | Return results that have funds or balances in one of these three-letter currency codes. |
| id | query | optional | string | Return information only for this resource |
| id__in | query | optional | array | Return information for these resource |
| institution | query | optional | string | Return results only for this institution (use the Belvo-designated name, such as |
| institution__in | query | optional | array | Return results only for these institutions (use the Belvo-designated names, such as |
| name | query | optional | string | Return accounts with exactly this internal (specified by the institution) name. |
| name__icontains | query | optional | string | Return accounts partially matching this internal (specified by the institution) name. |
| number | query | optional | string | Return information only for this account number (as specified by the institution). |
| number__in | query | optional | array | Return information for these account numbers (as specified by the institution). |
| public_identification_name | query | optional | string | Return information only for this type of account ID. For example, CLABE accounts. |
| public_identification_value | query | optional | string | Return information only for this account ID. For example, the account number for a CLABE account. |
| type | query | optional | string | Return information only for accounts matching this account type, as designated by the institution. |
Ok
Unathorized
GET /api/accounts
/api/accounts
Used to resume an Account retrieve session that was paused because an MFA
token was required by the institution.
ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.
| 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. |
application/json
PatchBody
| Property | Type | Required |
|---|---|---|
| link | string | required |
| token | string | optional |
| session | string | required |
| save_data | boolean | optional |
Ok (when save_data=false)
Created (when save_data=true)
Bad request error
Unathorized
Request Timeout
MFA Token Required
Unexpected Error
PATCH /api/accounts
/api/accounts
Retrieve accounts from an existing link.
ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.
| 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. |
application/json
StandardRequest
| Property | Type | Required |
|---|---|---|
| link | string | required |
| token | string | optional |
| save_data | boolean | optional |
Ok (when save_data=false)
Created (when save_data=true)
Bad request error
Unathorized
Request Timeout
MFA Token Required
Unexpected Error
POST /api/accounts
/api/accounts/{id}
Delete a specific account from your Belvo account.
ℹ️ Note: When you delete an account, all the associated transactions and owner information for that account are also removed.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
No content
Unathorized
Not Found
DELETE /api/accounts/{id}
/api/accounts/{id}
Get the details of a specific account.
ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
| 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. |
Ok
Unathorized
Not Found
GET /api/accounts/{id}
/api/balances
Get a paginated list of all existing balances in your Belvo account. By default, we return up to 100 results per page.
ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| page | query | optional | integer | A page number within the paginated result set. |
| page_size | query | optional | integer | Indicates how many results to return per page. By default we return 100 results per page. ℹ️ The minimum number of results returned per page is 1 and the maximum is 1000. If you enter a value greater than 1000, our API will default to the maximum value (1000). |
| omit | query | optional | string | Omit certain fields from being returned in the response. For more information, see our Filtering responses DevPortal article. |
| fields | query | optional | string | Return only the specified fields in the response. For more information, see our Filtering responses DevPortal article. |
| link | query | optional | string | The ℹ️ We highly recommend adding the |
| link__in | query | optional | array | Return results only for these |
| account | query | optional | string | The ℹ️ We highly recommend adding either the |
| account__in | query | optional | array | Return results only for these |
| account__type | query | optional | string | Return information only for accounts matching this account type, as designated by the institution. |
| account__type__in | query | optional | array | Return information only for accounts matching these account types, as designated by the institution. |
| balance | query | optional | number | Return balances matching exactly this value. |
| balance__lt | query | optional | number | Return balances less than this value. |
| balance__lte | query | optional | number | Return balances less than or equal to this value. |
| balance__gt | query | optional | number | Return balances greater than this value. |
| balance__gte | query | optional | number | Return balances greater than or equal to this value. |
| balance__range | query | optional | array | Return balances between these two values. |
| currency | query | optional | string | Return results that hold finances or balances in only this three-letter currency code. |
| currency__in | query | optional | array | Return results that have funds or balances in one of these three-letter currency codes. |
| id | query | optional | string | Return information only for this resource |
| id__in | query | optional | array | Return information for these resource |
| institution | query | optional | string | Return results only for this institution (use the Belvo-designated name, such as |
| institution__in | query | optional | array | Return results only for these institutions (use the Belvo-designated names, such as |
| value_date | query | optional | string | Return results for exactly this date ( |
| value_date__gt | query | optional | string | Return results that occurred after this date ( |
| value_date__gte | query | optional | string | Return results for this date ( |
| value_date__lt | query | optional | string | Return results for before this date ( |
| value_date__lte | query | optional | string | Return results for this date ( |
| value_date__range | query | optional | array | Return results for this date ( |
Ok
Unathorized
GET /api/balances
/api/balances
Used to resume a Balance retrieve session that was paused because an MFA
token was required by the institution.
ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.
| 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. |
application/json
PatchBody
| Property | Type | Required |
|---|---|---|
| link | string | required |
| token | string | optional |
| session | string | required |
| save_data | boolean | optional |
Ok (when save_data=false)
Created (when save_data=true)
Bad request error
Unathorized
Request Timeout
MFA Token Required
Unexpected Error
PATCH /api/balances
/api/balances
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.
| 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. |
application/json
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 |
Ok (when save_data=false)
Created (when save_data=true)
Bad request error
Unathorized
Request Timeout
MFA Token Required
Unexpected Error
POST /api/balances
/api/balances/{id}
Delete a specific balance from your Belvo account.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
No content
Unathorized
Not Found
DELETE /api/balances/{id}
/api/balances/{id}
Get the details of a specific balance.
ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
| 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. |
Ok
Unathorized
Not Found
GET /api/balances/{id}
/api/categorization
Send through your raw transaction data and receive enriched information for each of your transactions.
application/json
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 |
Ok
Bad request error
Unathorized
Access to Belvo API denied
Unexpected Error
POST /api/categorization
/api/credit-score
Get a paginated list of all credit scores in your Belvo account. By default, we return up to 100 results per page.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| page | query | optional | integer | A page number within the paginated result set. |
| page_size | query | optional | integer | Indicates how many results to return per page. By default we return 100 results per page. ℹ️ The minimum number of results returned per page is 1 and the maximum is 1000. If you enter a value greater than 1000, our API will default to the maximum value (1000). |
| omit | query | optional | string | Omit certain fields from being returned in the response. For more information, see our Filtering responses DevPortal article. |
| fields | query | optional | string | Return only the specified fields in the response. For more information, see our Filtering responses DevPortal article. |
| account | query | optional | string | The ℹ️ We highly recommend adding either the |
| account__in | query | optional | array | Return results only for these |
| link | query | optional | string | The ℹ️ We highly recommend adding the |
| link__in | query | optional | array | Return results only for these |
Ok
Unathorized
GET /api/credit-score
/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.
| 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. |
application/json
CreditScoreRequest
| Property | Type | Required |
|---|---|---|
| link | string | required |
| date_to | string | optional |
| save_data | boolean | optional |
Ok (when save_data=false)
Created (when save_data=true)
Bad request error
Unathorized
Request Timeout
MFA Token Required
Unexpected Error
POST /api/credit-score
/api/credit-score/{id}
Delete a specific credit score from your Belvo account.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | the |
No content
Unathorized
Not Found
DELETE /api/credit-score/{id}
/api/credit-score/{id}
Get the details of a specific credit score.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
| 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. |
Ok
Unathorized
Not Found
GET /api/credit-score/{id}
/api/enrich/credit-score
Send through your raw data and receive a credit score for a given user.
Request body for the EYOD credit score analysis.
application/json
CreditScoreEyodGetUserCreditScoreRequest
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 |
Ok
Bad request error
Unathorized
Access to Belvo API denied
Unexpected Error
POST /api/enrich/credit-score
/api/employment-records
Get a paginated list of all existing employment records in your Belvo account. By default, we return up to 100 results per page.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| page | query | optional | integer | A page number within the paginated result set. |
| page_size | query | optional | integer | Indicates how many results to return per page. By default we return 100 results per page. ℹ️ The minimum number of results returned per page is 1 and the maximum is 1000. If you enter a value greater than 1000, our API will default to the maximum value (1000). |
| omit | query | optional | string | Omit certain fields from being returned in the response. For more information, see our Filtering responses DevPortal article. |
| fields | query | optional | string | Return only the specified fields in the response. For more information, see our Filtering responses DevPortal article. |
| id | query | optional | string | Return information only for this resource |
| id__in | query | optional | array | Return information for these resource |
| link | query | optional | string | The ℹ️ We highly recommend adding the |
| link__in | query | optional | array | Return results only for these |
| internal_identification | query | optional | string | The |
| internal_identification__in | query | optional | array | One or more |
| collected_at | query | optional | string | Return items that were retrieved from the institution on this date ( |
| collected_at__gt | query | optional | string | Return items that were retrieved from the institution after this date ( |
| collected_at__gte | query | optional | string | Return items that were retrieved from the institution after or on this date ( |
| collected_at__lt | query | optional | string | Return items that were retrieved from the institution before this date ( |
| collected_at__lte | query | optional | string | Return items that were retrieved from the institution before or on this date ( |
| collected_at__range | query | optional | array | Return items that were retrieved from the institution between two dates ( |
| created_at | query | optional | string | Return items that were last updated in Belvo’s database on this date (in |
| created_at__gt | query | optional | string | Return items that were last updated in Belvo’s database after this date (in |
| created_at__gte | query | optional | string | Return items that were last updated in Belvo’s database after or on this date (in |
| created_at__lt | query | optional | string | Return items that were last updated in Belvo’s database before this date (in |
| created_at__lte | query | optional | string | Return items that were last updated in Belvo’s database before or on this date (in |
| created_at__range | query | optional | array | Return accounts that were last updated in Belvo’s database between two dates (in |
Ok
Unathorized
GET /api/employment-records
/api/employment-records
Retrieve employment record details for an individual.
| 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. |
application/json
EmploymentRecordRequest
| Property | Type | Required |
|---|---|---|
| link | string | required |
| save_data | boolean | optional |
| attach_pdf | boolean | optional |
Ok
Created (when save_data=true)
Bad request error
Unathorized
Request Timeout
MFA Token Required
Unexpected Error
POST /api/employment-records
/api/employment-records/{id}
Delete a specific employment record from your Belvo account.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
No content
Unathorized
Not Found
DELETE /api/employment-records/{id}
/api/employment-records/{id}
Get the details of a specific employment record.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
| 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. |
Ok
Unathorized
Not Found
GET /api/employment-records/{id}
/api/enrich/incomes
Send through your raw data and receive enriched information for each of your user’s income streams.
application/json
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 |
Ok
Bad request error
Unathorized
Access to Belvo API denied
Unexpected Error
POST /api/enrich/incomes
/api/incomes
Get a paginated list of all incomes in your Belvo account. By default, we return up to 100 results per page.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| page | query | optional | integer | A page number within the paginated result set. |
| page_size | query | optional | integer | Indicates how many results to return per page. By default we return 100 results per page. ℹ️ The minimum number of results returned per page is 1 and the maximum is 1000. If you enter a value greater than 1000, our API will default to the maximum value (1000). |
| omit | query | optional | string | Omit certain fields from being returned in the response. For more information, see our Filtering responses DevPortal article. |
| fields | query | optional | string | Return only the specified fields in the response. For more information, see our Filtering responses DevPortal article. |
| account | query | optional | string | The ℹ️ We highly recommend adding either the |
| account__in | query | optional | array | Return results only for these |
| link | query | optional | string | The ℹ️ We highly recommend adding the |
| link__in | query | optional | array | Return results only for these |
Ok
Unathorized
GET /api/incomes
/api/incomes
Used to resume an Income retrieve session that was paused because an MFA
token was required by the institution.
| 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. |
application/json
PatchBody
| Property | Type | Required |
|---|---|---|
| link | string | required |
| token | string | optional |
| session | string | required |
| save_data | boolean | optional |
Ok (when save_data=false)
Created (when save_data=true)
Bad request error
Unathorized
Request Timeout
MFA Token Required
Unexpected Error
PATCH /api/incomes
/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.
| 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. |
application/json
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 |
Ok (when save_data=false)
Created (when save_data=true)
Bad request error
Unathorized
Request Timeout
MFA Token Required
Unexpected Error
POST /api/incomes
/api/incomes/{id}
Delete a specific income from your Belvo account.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | the |
No content
Unathorized
Not Found
DELETE /api/incomes/{id}
/api/incomes/{id}
Get the details of a specific income.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
| 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. |
Ok
Unathorized
Not Found
GET /api/incomes/{id}
/api/institutions
Get a paginated list of all the institutions currently supported by Belvo. By default, we return up to 100 results per page.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| page | query | optional | integer | A page number within the paginated result set. |
| page_size | query | optional | integer | Indicates how many results to return per page. By default we return 100 results per page. ℹ️ The minimum number of results returned per page is 1 and the maximum is 1000. If you enter a value greater than 1000, our API will default to the maximum value (1000). |
| display_name | query | optional | string | Return institutions that partially match this display name. |
| country_code | query | optional | string | Return institutions only for this two-letter country code. |
| country_code__in | query | optional | array | Return institutions only for these two-letter country codes. |
| resources__allin | query | optional | array | Return institutions that support these resources. |
| name | query | optional | string | Return an institution with this Belvo-designated name. |
| name__in | query | optional | array | Return institutions with one or more of these Belvo-designated names. |
| status | query | optional | string | Return institutions with the given status. You can choose between |
| status__in | query | optional | array | Return institutions with one of the given statuses. You can choose between |
| type | query | optional | string | Return institutions of this type. You can choose between |
| type__in | query | optional | array | Return institutions of one of these types. You can choose between |
| website | query | optional | string | Return institutions with this website URL. |
Ok
Unathorized
GET /api/institutions
/api/institutions/{id}
Get the details of a specific institution.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
Ok
Unathorized
Not Found
GET /api/institutions/{id}
/api/invoices
Get a paginated list of all existing invoices in your Belvo account. By default, we
return 100 results per page.
ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| page | query | optional | integer | A page number within the paginated result set. |
| page_size | query | optional | integer | Indicates how many results to return per page. By default we return 100 results per page. ℹ️ The minimum number of results returned per page is 1 and the maximum is 1000. If you enter a value greater than 1000, our API will default to the maximum value (1000). |
| omit | query | optional | string | Omit certain fields from being returned in the response. For more information, see our Filtering responses DevPortal article. |
| fields | query | optional | string | Return only the specified fields in the response. For more information, see our Filtering responses DevPortal article. |
| link | query | optional | string | The ℹ️ We highly recommend adding the |
| link__in | query | optional | array | Return results only for these |
| id | query | optional | string | Return information only for this resource |
| id__in | query | optional | array | Return information for these resource |
| created_at | query | optional | string | Return items that were last updated in Belvo’s database on this date (in |
| created_at__gt | query | optional | string | Return items that were last updated in Belvo’s database after this date (in |
| created_at__gte | query | optional | string | Return items that were last updated in Belvo’s database after or on this date (in |
| created_at__lt | query | optional | string | Return items that were last updated in Belvo’s database before this date (in |
| created_at__lte | query | optional | string | Return items that were last updated in Belvo’s database before or on this date (in |
| created_at__range | query | optional | array | Return accounts that were last updated in Belvo’s database between two dates (in |
| invoice_date | query | optional | string | Return invoices issued exactly on this date ( |
| invoice_date__lt | query | optional | string | Return balances issued before this date ( |
| invoice_date__lte | query | optional | string | Return balances issued on this date or earlier ( |
| invoice_date__gt | query | optional | string | Return invoices issued after this date ( |
| invoice_date__gte | query | optional | string | Return invoices issued on this date or later ( |
| invoice_date__range | query | optional | array | Return invoices issued within this date range ( |
| invoice_identification | query | optional | string | Return an invoice with this ID (as provided by the insitution). |
| invoice_identification__in | query | optional | array | Return invoices with these IDs (as provided by the institution). |
| status | query | optional | string | Return invoices with this status. Can be either |
| status__in | query | optional | array | Return invoices with these statuses. Can be either |
| type | query | optional | string | Return invoices of this type. Can be either |
| type__in | query | optional | array | Return invoices of these types. Can be either |
| total_amount | query | optional | number | Return invoices matching exactly this value. |
| total_amount__lt | query | optional | number | Return invoices less than this value. |
| total_amount__lte | query | optional | number | Return invoices less than or equal to this value. |
| total_amount__gt | query | optional | number | Return invoices greater than this value. |
| total_amount__gte | query | optional | number | Return invoices greater than or equal to this value. |
| total_amount__range | query | optional | array | Return invoices between these two values. |
Ok
Unathorized
GET /api/invoices
/api/invoices
Used to resume an Invoice retrieve session that was paused because an MFA
token was required by the institution.
ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.
| 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. |
application/json
PatchBody
| Property | Type | Required |
|---|---|---|
| link | string | required |
| token | string | optional |
| session | string | required |
| save_data | boolean | optional |
Ok (when save_data=false)
Created (when save_data=true)
Bad request error
Unathorized
Request Timeout
MFA Token Required
Unexpected Error
PATCH /api/invoices
/api/invoices
Retrieve invoice information from a specific fiscal link.
ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.
| 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. |
application/json
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 |
Ok (when save_data=false)
Created (when save_data=true)
Accepted (when X-Belvo-Request-Mode is async)
Bad request error
Unathorized
Request Timeout
Unexpected Error
POST /api/invoices
/api/invoices/{id}
Delete a specific invoice from your Belvo account.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
No content
Unathorized
Not Found
DELETE /api/invoices/{id}
/api/invoices/{id}
Get the details of a specific invoice.
ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
| 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. |
Ok
Unathorized
Not Found
GET /api/invoices/{id}
/api/links
Get a paginated list of all the existing links in your Belvo account. By default, we return up to 100 results per page.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| page | query | optional | integer | A page number within the paginated result set. |
| page_size | query | optional | integer | Indicates how many results to return per page. By default we return 100 results per page. ℹ️ The minimum number of results returned per page is 1 and the maximum is 1000. If you enter a value greater than 1000, our API will default to the maximum value (1000). |
| omit | query | optional | string | Omit certain fields from being returned in the response. For more information, see our Filtering responses DevPortal article. |
| fields | query | optional | string | Return only the specified fields in the response. For more information, see our Filtering responses DevPortal article. |
| id | query | optional | string | Return information only for this resource |
| id__in | query | optional | array | Return information for these resource |
| institution | query | optional | string | Return results only for this institution (use the Belvo-designated name, such as |
| institution__in | query | optional | array | Return results only for these institutions (use the Belvo-designated names, such as |
| access_mode | query | optional | string | Return links only with this access mode. Can be either |
| created_at | query | optional | string | Return items that were last updated in Belvo’s database on this date (in |
| created_at__gt | query | optional | string | Return items that were last updated in Belvo’s database after this date (in |
| created_at__gte | query | optional | string | Return items that were last updated in Belvo’s database after or on this date (in |
| created_at__lt | query | optional | string | Return items that were last updated in Belvo’s database before this date (in |
| created_at__lte | query | optional | string | Return items that were last updated in Belvo’s database before or on this date (in |
| created_at__range | query | optional | array | Return accounts that were last updated in Belvo’s database between two dates (in |
| created_by__not_in | query | optional | array | Return links that were not created by these Belvo users. |
| external_id | query | optional | string | Return links with this external ID. |
| external_id__in | query | optional | array | Return links with these external IDs. |
| institution_user_id | query | optional | string | Return links with this specific institution user ID. |
| institution_user_id__in | query | optional | array | Return links with these institution user IDs. |
| refresh_rate | query | optional | string | Return links with this refresh rate. Choose between |
| status | query | optional | string | Return links with this status. Choose between |
| status__in | query | optional | array | Return links with these statuses. Choose between |
Ok
Unathorized
GET /api/links
/api/links
Used to resume a Link register session that was paused because an MFA token
was required by the institution.
application/json
PatchBodyWithoutSaveData
| Property | Type | Required |
|---|---|---|
| link | string | required |
| token | string | optional |
| session | string | required |
Ok
Bad request error
Unathorized
MFA Token Required
Unexpected Error
PATCH /api/links
/api/links
Register a new link with your Belvo account.
application/json
LinksRequest
| Property | Type | Required |
|---|---|---|
| token | string | optional |
| password | string | optional |
| stale_in | string | optional |
| username | string | required |
| password2 | string | optional |
| username2 | string | optional |
| username3 | string | optional |
| access_mode | string | optional |
| external_id | string | optional |
| institution | string | required |
| username_type | string | optional |
| fetch_resources | array | optional |
| credentials_storage | string | optional |
Created
Bad request error
Unathorized
MFA Token Required
Unexpected Error
POST /api/links
/api/links/{id}
Delete a specific link and all associated accounts, transactions, and owners
from your Belvo account.
To delete links in bulk, we recommend looping through the list of links you want to delete and making the delete request.
🚧 Rate limiting and IP blocking
An important technical note for performing operations in batches is to take into consideration our rate-limiting: up to 80 requests every 30 seconds. If you exceed this limit, you run the risk of Belvo blocking your IP from making further requests.
For more information, or if your IP address has been blocked, please contact our support team.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
No content
Unathorized
Not Found
DELETE /api/links/{id}
/api/links/{id}
Get the details of a specific link.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
Ok
Unathorized
Not Found
GET /api/links/{id}
/api/links/{id}
Change a link’s access mode from single to recurrent or from recurrent to single.
When you change a link from single to recurrent recurrent, the next day a historical update of the core resources for the link is triggered (resulting in you receiving historical_update webhooks for the link). You are billed for these historical updates.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
application/json
ChangeAccessMode
| Property | Type | Required |
|---|---|---|
| access_mode | string | required |
Ok
Bad request error
Unathorized
Not Found
MFA Token Required
Unexpected Error
PATCH /api/links/{id}
/api/links/{id}
Update the credentials of a specific link. If the successfully updated link is a recurrent one, we automatically trigger an update of the link. If we find fresh data, you’ll receive historical update webhooks.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
application/json
LinksPutRequest
| Property | Type | Required |
|---|---|---|
| token | string | optional |
| password | string | required |
| password2 | string | optional |
| certificate | string | optional |
| private_key | string | optional |
| username_type | string | optional |
Ok
Bad request error
Unathorized
Not Found
MFA Token Required
Unexpected Error
PUT /api/links/{id}
/api/owners
Get a paginated list of all existing owners in your Belvo account. We return
up to 100 results per page.
ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| page | query | optional | integer | A page number within the paginated result set. |
| page_size | query | optional | integer | Indicates how many results to return per page. By default we return 100 results per page. ℹ️ The minimum number of results returned per page is 1 and the maximum is 1000. If you enter a value greater than 1000, our API will default to the maximum value (1000). |
| omit | query | optional | string | Omit certain fields from being returned in the response. For more information, see our Filtering responses DevPortal article. |
| fields | query | optional | string | Return only the specified fields in the response. For more information, see our Filtering responses DevPortal article. |
| link | query | optional | string | The ℹ️ We highly recommend adding the |
| link__in | query | optional | array | Return results only for these |
| id | query | optional | string | Return information only for this resource |
| id__in | query | optional | array | Return information for these resource |
| created_at | query | optional | string | Return items that were last updated in Belvo’s database on this date (in |
| created_at__gt | query | optional | string | Return items that were last updated in Belvo’s database after this date (in |
| created_at__gte | query | optional | string | Return items that were last updated in Belvo’s database after or on this date (in |
| created_at__lt | query | optional | string | Return items that were last updated in Belvo’s database before this date (in |
| created_at__lte | query | optional | string | Return items that were last updated in Belvo’s database before or on this date (in |
| created_at__range | query | optional | array | Return accounts that were last updated in Belvo’s database between two dates (in |
| query | optional | string | Returns owners whose email address match your query. |
|
| display_name__icontains | query | optional | string | Return owners whose full display name partially matches your query. For example, |
Ok
Unathorized
GET /api/owners
/api/owners
Used to resume an Owner retrieve session that was paused because an MFA
token was required by the institution.
ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.
| 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. |
application/json
PatchBody
| Property | Type | Required |
|---|---|---|
| link | string | required |
| token | string | optional |
| session | string | required |
| save_data | boolean | optional |
Ok (when save_data=false)
Created (when save_data=true)
Bad request error
Unathorized
Request Timeout
MFA Token Required
Unexpected Error
PATCH /api/owners
/api/owners
Retrieve owner information from a specific link.
ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.
| 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. |
application/json
StandardRequest
| Property | Type | Required |
|---|---|---|
| link | string | required |
| token | string | optional |
| save_data | boolean | optional |
Ok (when save_data=false)
Created (when save_data=true)
Bad request error
Unathorized
Request Timeout
MFA Token Required
Unexpected Error
POST /api/owners
/api/owners/{id}
Delete a specific owner from your Belvo account.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
No content
Unathorized
Not Found
DELETE /api/owners/{id}
/api/owners/{id}
Get the details of a specific owner.
ℹ️ Note: This resource may return deprecated fields. Please check the response documentation for more information.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
| 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. |
Ok
Unathorized
Not Found
GET /api/owners/{id}
/api/recurring-expenses
Get a paginated list of all recurring expenses in your Belvo account. By default, we return up to 100 results per page.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| page | query | optional | integer | A page number within the paginated result set. |
| page_size | query | optional | integer | Indicates how many results to return per page. By default we return 100 results per page. ℹ️ The minimum number of results returned per page is 1 and the maximum is 1000. If you enter a value greater than 1000, our API will default to the maximum value (1000). |
| omit | query | optional | string | Omit certain fields from being returned in the response. For more information, see our Filtering responses DevPortal article. |
| fields | query | optional | string | Return only the specified fields in the response. For more information, see our Filtering responses DevPortal article. |
| link | query | optional | string | The ℹ️ We highly recommend adding the |
| link__in | query | optional | array | Return results only for these |
| account | query | optional | string | The ℹ️ We highly recommend adding either the |
| account__in | query | optional | array | Return results only for these |
| id | query | optional | string | Return information only for this resource |
| id__in | query | optional | array | Return information for these resource |
Ok
Unathorized
GET /api/recurring-expenses
/api/recurring-expenses
Used to resume an Recurring Expenses retrieve session that was paused because an MFA
token was required by the institution.
| 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. |
application/json
PatchBody
| Property | Type | Required |
|---|---|---|
| link | string | required |
| token | string | optional |
| session | string | required |
| save_data | boolean | optional |
Ok (when save_data=false)
Created (when save_data=true)
Bad request error
Unathorized
Request Timeout
MFA Token Required
Unexpected Error
PATCH /api/recurring-expenses
/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.
| 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. |
application/json
RecurringExpensesRequest
| Property | Type | Required |
|---|---|---|
| link | string | required |
| token | string | optional |
| date_to | string | optional |
| date_from | string | optional |
| save_data | boolean | optional |
Ok (when save_data=false)
Created (when save_data=true)
Bad request error
Unathorized
Request Timeout
MFA Token Required
Unexpected Error
POST /api/recurring-expenses
/api/recurring-expenses/{id}
Delete a specific recurring expense from your Belvo account.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
No content
Unathorized
Not Found
DELETE /api/recurring-expenses/{id}
/api/recurring-expenses/{id}
Get the details of a specific recurring expense.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The |
| 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. |
Ok
Unathorized
Not Found
GET /api/recurring-expenses/{id}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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."
}
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"
}
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."
}
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."
}
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."
}
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"
}
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."
}
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."
}
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"
}
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."
}
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"
}
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"
}
}
}
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"
}
AccountsCreateLinkAccounts201Response
{
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/Account"
},
{
"$ref": "#/components/schemas/AccountOpenFinanceBrazil"
}
]
}
}
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"
}
]
}
}
AccountsCreateLinkAccounts401Response
{
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/components/schemas/UnauthorizedError"
},
{
"$ref": "#/components/schemas/401_consent_without_accounts_error"
}
]
}
}
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"
}
AccountsCreateLinkAccounts428Response
{
"type": "array",
"items": {
"$ref": "#/components/schemas/TokenRequiredResponse"
}
}
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"
}
AccountsCreateLinkAccountsResponse
{
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/Account"
},
{
"$ref": "#/components/schemas/AccountOpenFinanceBrazil"
}
]
}
}
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."
}
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"
}
AccountsDeleteSpecificAccountResponse
{
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/components/schemas/UnauthorizedError"
},
{
"$ref": "#/components/schemas/401_consent_without_accounts_error"
}
]
}
}
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."
}
}
}
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."
}
}
}
AccountsGetDetails401Response
{
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/components/schemas/UnauthorizedError"
},
{
"$ref": "#/components/schemas/401_consent_without_accounts_error"
}
]
}
}
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"
}
AccountsGetDetailsResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/Account"
},
{
"$ref": "#/components/schemas/AccountOpenFinanceBrazil"
}
]
}
AccountsListAll401Response
{
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/components/schemas/UnauthorizedError"
},
{
"$ref": "#/components/schemas/401_consent_without_accounts_error"
}
]
}
}
AccountsListAllResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/AccountsPaginatedResponse"
},
{
"$ref": "#/components/schemas/AccountsPaginatedResponseOpenFinanceBrazil"
}
]
}
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."
}
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."
}
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."
}
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)"
}
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)"
}
AccountsResumeRetrieveSession201Response
{
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/Account"
},
{
"$ref": "#/components/schemas/AccountOpenFinanceBrazil"
}
]
}
}
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"
}
]
}
}
AccountsResumeRetrieveSession401Response
{
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/components/schemas/UnauthorizedError"
},
{
"$ref": "#/components/schemas/401_consent_without_accounts_error"
}
]
}
}
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"
}
AccountsResumeRetrieveSession428Response
{
"type": "array",
"items": {
"$ref": "#/components/schemas/TokenRequiredResponse"
}
}
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"
}
AccountsResumeRetrieveSessionResponse
{
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/Account"
},
{
"$ref": "#/components/schemas/AccountOpenFinanceBrazil"
}
]
}
}
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."
}
| Version | Endpoints | Schemas | Ingested | Status |
|---|---|---|---|---|
| 1.106.0 | 80 | 575 | 2026-05-11 | current |
| 1.106.0 | 80 | 575 | 2026-04-16 |