Belvo API Docs

Open banking and financial data API

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

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

Get API Key

Server URLs

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

Endpoints

Clear filters

Schemas

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

Versions

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