Belvo Institutions API

Institutions Belvo can connect to.

Operations 2

GET /api/institutions/ List institutions #
GET /api/institutions/{id}/ Get an institution's details #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/belvo:belvo-institutions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

belvo-institutions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Belvo API Docs Institutions API
  version: 1.223.0
  description: '# Introduction


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


    ## Available Information and Payment Methods


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


    - Banking Information in Brazil

    - Employment Information in Brazil

    - Employment Information in Mexico

    - Fiscal Information in Mexico

    - Fiscal Information in Chile


    You can also use our API to make payments in:


    - Brazil

    - Mexico


    ## Data Dictionaries


    If you woud like the response documentation in Excel or CSV form, please download them from our public GitHub Reposiitory: Belvo Open Finance Data Dictionaries. Our EXCEL and CSV files are additionally localized into Spanish and Portuguese (Brazil). ## Environments


    We currently offer two environments: sandbox and production. ### Sandbox


    Available for:


    - 🟢 Aggregation and Enrichment

    - ⚪️ Payment Initiation


    Use our Sandbox environment to build your integration. We offer dummy data that mimics that of real-world use cases, which means you can test out all the endpoints, use the widget, and implement webhooks - just as you would with real-world data! All you need to get started with the Sandbox environment is to get your API keys. We really recommend that you start creating your integration in this environment. ### Production


    Available for:


    - 🟢 Aggregation and Enrichment

    - 🟢 Payment Initiation


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


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


    We use the following HTTP status code in the response depending on the

    success or failure:


    | Status Code | Description |

    |-----------|-------|

    | `200` | ✅ **Success** - The content is available in the response body. |

    | `201` | ✅ **Success** - The content was created successfully on Belvo. |

    | `204` | ✅ **Success** - No content to return. |

    | `400` | ❌ **Bad Request Error** - Request returned an error, detail in the content.|

    | `401` | ❌ **Unauthorized** - The Belvo credentials provided are not valid.|

    | `404` | ❌ **Not Found** - The resource you try to access cannot be found.|

    | `405` | ❌ **Method Not Allowed** - The HTTP method you are using is not accepted for this resource.|

    | `408` | ❌ **Request Timeout** - The request timed out and was terminated by the server.|

    | `428` | ❌ **MFA Token Required** - MFA token was required by the institution to connect. |

    | `500` | ❌ **Internal Server Error** - The detail of the error is available in the response body.|


    ## Error handling


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


    ```json

    [

    {

    "request_id": "a6e1c493d7a29d91aed4338e6fcf077d",

    "message": "This field is required.",

    "code": "required",

    "field": "link"

    }

    ]

    ```


    Typically, an error response will have the following parameters:


    - `request_id`: a unique ID for the request, you should share it with the Belvo support team for investigations. - `message`: human-readable description of the error. - `code`: a unique code for the error.'
  contact:
    name: Need help?
    url: https://developers.belvo.com
    email: support@belvo.com
  x-logo:
    url: https://files.readme.io/5111448-belvo-for-developers.svg
    altText: Belvo Logo
servers:
- url: https://sandbox.belvo.com
  description: Sandbox
security:
- basicAuth: []
tags:
- name: Institutions
  description: 'An **institution** is an entity that Belvo can access information from. It can be a:


    - bank institution, such as Nubank Brazil.

    - fiscal institution, such as the *Servicio de Administración Tributaria (SAT)* in Mexico.

    - employment institutions, such as *Instituto Mexicano del Seguro Social (IMSS)* in Mexico or *Instituto Nacional do Seguro Social (INSS)* in Brazil.'
paths:
  /api/institutions/:
    get:
      tags:
      - Institutions
      operationId: ListInstitutions
      summary: List institutions
      description: '## ▶️ Usage


        With the List Institutions method, you can:


        1. List all institutions Belvo has available.


        ## 📖 Pagination


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


        ## 🔦 Filtering Responses


        Please see the query list below for a list of fields that you can filter your responses by. For more information on how to use filters, see our Filtering responses article.'
      parameters:
      - $ref: '#/components/parameters/page_size'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/display_name'
      - $ref: '#/components/parameters/country_code'
      - $ref: '#/components/parameters/country_code__in'
      - $ref: '#/components/parameters/resources__allin'
      - $ref: '#/components/parameters/name'
      - $ref: '#/components/parameters/name__in'
      - $ref: '#/components/parameters/status_institutions'
      - $ref: '#/components/parameters/status__in_institutions'
      - $ref: '#/components/parameters/type_institutions'
      - $ref: '#/components/parameters/type__in_institutions'
      - $ref: '#/components/parameters/website'
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: object
                allOf:
                - $ref: '#/components/schemas/common_pagination_properties'
                - properties:
                    results:
                      type: array
                      description: Array of institution objects.
                      items:
                        $ref: '#/components/schemas/InstitutionPublicApi'
        '401':
          $ref: '#/components/responses/401_unauthorized_error'
        '403':
          $ref: '#/components/responses/403_access_denied_error'
        '404':
          $ref: '#/components/responses/404_not_found_error'
        '408':
          $ref: '#/components/responses/408_request_timeout_error'
        '500':
          $ref: '#/components/responses/500_unexpected_error'
  /api/institutions/{id}/:
    get:
      tags:
      - Institutions
      operationId: DetailInstitution
      summary: Get an institution's details
      description: Get the details of a specific institution.
      parameters:
      - name: id
        required: true
        in: path
        description: The `institution.id` you want to get detailed information about.
        schema:
          type: string
          pattern: '[0-9]+'
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstitutionPublicApi'
        '401':
          $ref: '#/components/responses/401_unauthorized_error'
        '403':
          $ref: '#/components/responses/403_access_denied_error'
        '404':
          $ref: '#/components/responses/404_not_found_error'
        '408':
          $ref: '#/components/responses/408_request_timeout_error'
        '500':
          $ref: '#/components/responses/500_unexpected_error'
components:
  parameters:
    resources__allin:
      name: resources__allin
      in: query
      description: Return institutions that support this combination resources.
      style: form
      explode: false
      schema:
        type: array
        minimum: 2
        items:
          type: string
          example: OWNERS
    country_code__in:
      name: country_code__in
      in: query
      description: Return institutions only for these two-letter country codes.
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          pattern: ^[A-Z]{2}$
          example: BR
    status__in_institutions:
      name: status__in
      in: query
      description: Return institutions with one of the given statuses. You can choose between `healthy` or `down`.
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          example: healthy
    page:
      name: page
      in: query
      description: A page number within the paginated result set.
      schema:
        type: integer
        format: int32
        minimum: 1
        example: 1
    country_code:
      name: country_code
      in: query
      description: Return institutions only for this two-letter country code.
      schema:
        type: string
        pattern: ^[A-Z]{2}$
        example: MX
    status_institutions:
      name: status
      in: query
      description: Return institutions with the given status. You can choose between `healthy` or `down`.
      schema:
        type: string
        example: healthy
    display_name:
      name: display_name
      in: query
      description: Return institutions that partially match this display name.
      schema:
        type: string
        maxLength: 30
        example: Erebor Bank
    name__in:
      name: name__in
      in: query
      description: Return institutions with one or more of these Belvo-designated names.
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          pattern: ^[a-z_]{1,40}$
          minLength: 1
          maxLength: 40
          example: planet_mx_retail
    type_institutions:
      name: type
      in: query
      description: Return institutions of this type. You can choose between `bank`, `fiscal`, or `employment`.
      schema:
        type: string
        enum:
        - bank
        - fiscal
        - employment
        example: fiscal
    name:
      name: name
      in: query
      description: Return an institution with this Belvo-designated name.
      schema:
        type: string
        pattern: ^[a-z_]{1,40}$
        minLength: 1
        maxLength: 40
        example: planet_mx_retail
    page_size:
      name: page_size
      in: query
      description: '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).

        '
      schema:
        type: integer
        format: int32
        default: 100
        minimum: 1
        maximum: 1000
        example: 100
    type__in_institutions:
      name: type__in
      in: query
      description: Return institutions of one of these types. You can choose between `bank`, `fiscal`, or `employment`.
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          enum:
          - bank
          - fiscal
          - employment
          example: fiscal
    website:
      name: website
      in: query
      description: Return institutions with this website URL.
      schema:
        type: string
        example: https://www.erebor.mx
  schemas:
    RequestTimeoutError:
      type: object
      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.

        '
      properties:
        code:
          type: string
          description: 'A unique error code (`request_timeout`) that allows you to classify and handle the error programmatically.



            ℹ️ Check our DevPortal for more information on how to handle <a href="https://developers.belvo.com/docs/belvo-api-errors#408-request_timeout" target="_blank">408 request_timeout errors</a>.

            '
          example: request_timeout
        message:
          type: string
          description: "A short description of the error. \n\n\nFor `request_timeout` errors, the description is:\n  \n  - `The request timed out, you can retry asking for less data by changing your query parameters`.\n"
          example: The request timed out, you can retry asking for less data by changing your query parameters
        request_id:
          $ref: '#/components/schemas/request_id'
    InstitutionsFormField:
      type: object
      properties:
        name:
          type: string
          description: The username, password, or username type field.
          example: username
        type:
          type: string
          description: The input type for the form field. For example, string.
          example: text
        label:
          type: string
          description: 'The label of the form field. For example:

            - Client number

            - Key Bancanet

            - Document

            '
          example: Client number
        validation:
          type: string
          description: The type of input validation used for the field.
          example: ^.{1,}$
        placeholder:
          type: string
          description: The placeholder text in the form field.
          example: ABC333333A33
        validation_message:
          type: string
          description: The message displayed when an invalid input is provided in the form field.
          example: Invalid client number
        values:
          type: array
          description: 'If the form field is for documents, the institution may require additional

            input regarding the document type.

            '
          items:
            $ref: '#/components/schemas/InstitutionsFormFieldValues'
    EnumInstitutionType:
      type: string
      enum:
      - bank
      - fiscal
      - employment
      description: "The type of institution. We return one of the following values:\n\n  - `bank`\n  - `fiscal`\n  - `employment`\n"
    request_id:
      type: string
      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 support team to accelerate investigations.

        '
      example: 9e7b283c6efa449c9c028a16b5c249fb
    InstitutionsFormFieldValues:
      type: object
      properties:
        code:
          type: string
          description: The code of the document.
          example: '001'
        label:
          type: string
          description: 'The label for the field. For example:

            - Cédula de Ciudadanía

            - Cédula de Extranjería

            - Pasaporte

            '
          example: Cédula de Ciudadanía
        validation:
          type: string
          description: The type of input validation used for the field.
          example: ^.{1,}$
        validation_message:
          type: string
          description: The message displayed when an invalid input is provided in the form field.
          example: Invalid document number
        placeholder:
          type: string
          description: The placeholder text in the form field.
          example: DEF4444908M22
    ConsentWithoutAccountsError:
      type: object
      title: Consent Without Accounts
      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.

        '
      properties:
        code:
          type: string
          description: 'A unique error code (`consent_without_accounts`) that allows you to classify and handle the error programmatically.



            ℹ️ 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>.

            '
          example: consent_without_accounts
        message:
          type: string
          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"
          example: 'The institution only supports the following resources: EMPLOYMENT_RECORDS, OWNERS'
        request_id:
          $ref: '#/components/schemas/request_id'
    EnumInstitutionStatus:
      type: string
      enum:
      - healthy
      - down
      description: 'Indicates whether Belvo''s integration with the institution is currently active (`healthy`) or undergoing maintenance (`down`).

        '
      example: healthy
    UnauthorizedError:
      type: object
      title: Unauthorized Error
      description: 'This error occurs when you try to make an API call using incorrect Belvo API credentials (either your secret key or secret password, or both, are incorrect).

        '
      properties:
        code:
          type: string
          description: 'A unique error code (`authentication_failed`) that allows you to classify and handle the error programmatically.



            ℹ️ Check our DevPortal for more information on how to handle <a href="https://developers.belvo.com/docs/belvo-api-errors#401-authentication_failed" target="_blank">401 authentication_failed errors</a>.

            '
          example: authentication_failed
        message:
          type: string
          description: "A short description of the error. \n\n\nFor `authentication_failed` errors, the description is:\n\n  - `Invalid Secret Keys`.\n"
          example: Invalid Secret Keys
        request_id:
          $ref: '#/components/schemas/request_id'
    InstitutionOpenBankingInformation:
      type:
      - object
      - 'null'
      title: Institution Open Banking Information
      description: Information about the institution on the Open Finance environment.
      properties:
        description:
          type:
          - string
          - 'null'
          description: A short description of the institution on the Open Finance environment. Extracted from Open Finance regulated institutions listing.
          example: A 1ss Bank é uma fintech fundada em janeiro de 2020, com a missão de ajudar empresas com grandes ecossistemas a se tornarem fintechs, integrando e automatizando seus processos financeiros através de APIs e plataforma white-label.
        participants:
          type:
          - array
          - 'null'
          description: List of brands' servers available from the institution in Open Finance. Extracted from Open Finance regulated institutions listing.
          items:
            type: string
          example:
          - 1ss Bank
        authorization_server_id:
          type:
          - string
          - 'null'
          format: uuid
          description: The authorization server ID (UUID) of the institution on the Open Finance Environment.
          example: aa18fcd3-2f0b-40b1-87db-8930b10b78b1
    EnumInstitutionIntegrationType:
      type: string
      enum:
      - credentials
      - openfinance
      description: 'The type of technology used to access the institution. We return one of the following values:


        - `credentials`: Uses Belvo''s scraping technology, combined with user credentials, to perform requests.

        - `openfinance`: Uses the bank''s open finance API to perform requests.

        '
      example: credentials
    AccessToResourceDenied:
      type: object
      title: Access to Belvo API denied
      description: 'This error occurs when you try to access Belvo''s resource without the correct permissions.

        '
      properties:
        code:
          type: string
          description: 'A unique error code (`access_to_resource_denied`) that allows you to classify and handle the error programmatically.



            ℹ️ 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>.

            '
          example: access_to_resource_denied
        message:
          type: string
          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"
          example: You don't have access to this resource.
        request_id:
          $ref: '#/components/schemas/request_id'
    UnexpectedError:
      type: object
      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.

        '
      properties:
        code:
          type: string
          description: 'A unique error code (`unexpected_error`) that allows you to classify and handle the error programmatically.



            ℹ️ Check our DevPortal for more information on how to handle <a href="https://developers.belvo.com/docs/belvo-api-errors#500-unexpected_error" target="_blank">500 unexpected_error errors</a>.

            '
          example: unexpected_error
        message:
          type: string
          description: "A short description of the error. \n\n\nFor `unexpected_error` errors, the description is:\n  \n  - `Belvo is unable to process the request due to an internal system issue or to an unsupported response from an institution`.\n"
          example: Belvo is unable to process the request due to an internal system issue or to an unsupported response from an institution
        request_id:
          $ref: '#/components/schemas/request_id'
    InstitutionPublicApi:
      type: object
      title: Institution Object
      description: Object detailing the aggregation institution.
      x-tags:
      - Institutions
      properties:
        id:
          type: integer
          format: int32
          description: The ID of the institution as designated by Belvo.
          example: 1003
        name:
          type: string
          example: erebor_mx_retail
          description: The name of the institution, as designated by Belvo.
        type:
          $ref: '#/components/schemas/EnumInstitutionType'
        website:
          type:
          - string
          - 'null'
          example: https://www.erebor.com/
          description: The URL of the institution's website.
        display_name:
          type: string
          example: Erebor Mexico
          description: The customer-facing name of the institution.
        country_codes:
          type: array
          description: "The country codes where the institution is available, for example:\n- \U0001F1E7\U0001F1F7 BR (Brazil)\n- \U0001F1E8\U0001F1F4 CO (Colombia)\n- \U0001F1F2\U0001F1FD MX (Mexico)  \n"
          items:
            type: string
            example: MX
        primary_color:
          type: string
          example: '#056dae'
          description: The primary color on the institution's website.
        logo:
          type:
          - string
          - 'null'
          example: https://belvo-api-media.s3.amazonaws.com/logos/erebor_logo.svg
          description: The URL of the institution's logo.
        icon_logo:
          type:
          - string
          - 'null'
          example: https://statics.belvo.io/widget/images/institutions/erebor.svg
          description: The URL of the institution's icon logo.
        text_logo:
          type:
          - string
          - 'null'
          example: https://statics.belvo.io/widget/images/institutions/erebor.svg
          description: The URL of the institution's text logo.
        code:
          type:
          - string
          - 'null'
          deprecated: true
          example: null
          description: This field is **deprecated** and will be removed in a future release. Please use the `id` field instead, which is the unique identifier for the institution.
        form_fields:
          type: array
          items:
            $ref: '#/components/schemas/InstitutionsFormField'
        features:
          type: array
          description: 'The features that the institution supports. If the institution has no special features, then Belvo returns an empty array.


            Here is a list of the available features:

            - `token_required` indicates that the institution may require a token during link creation or when making any other requests.

            '
          items:
            $ref: '#/components/schemas/InstitutionsFeature'
        resources:
          type: array
          description: "A list of Belvo resources that you can use with the institution. This list includes one or more of the following resources:\n\n  - `ACCOUNTS`\n  - `BALANCES`\n  - `BILLS`\n  - `EMPLOYMENTS`\n  - `EMPLOYMENT_RECORDS`\n  - `FINANCIAL_STATEMENTS`\n  - `INCOMES`\n  - `INVESTMENTS`\n  - `INVESTMENT_TRANSACTIONS`\n  - `INVOICES`\n  - `OWNERS`\n  - `RECURRING_EXPENSES`\n  - `RISK_INSIGHTS`\n  - `TRANSACTIONS`\n  - `TAX_COMPLIANCE_STATUS`\n  - `TAX_RETENTIONS`\n  - `TAX_RETURNS`\n  - `TAX_STATUS`\n"
          items:
            type: string
            description: A Belvo resource that the institution supports.
            example: ACCOUNTS
          example:
          - ACCOUNTS
          - BALANCES
          - INCOMES
          - OWNERS
          - RECURRING_EXPENSES
          - RISK_INSIGHTS
          - TRANSACTIONS
        integration_type:
          $ref: '#/components/schemas/EnumInstitutionIntegrationType'
        status:
          $ref: '#/components/schemas/EnumInstitutionStatus'
        openbanking_information:
          $ref: '#/components/schemas/InstitutionOpenBankingInformation'
    NotFoundError:
      type: object
      title: Not Found
      properties:
        code:
          type: string
          description: 'A unique error code (`not_found`) that allows you to classify and handle the error programmatically.

            '
          example: not_found
        message:
          type: string
          description: "A short description of the error.\n\n\nFor `not_found` errors, the description is:\n\n  - `Not found`\n"
          example: Not found
        request_id:
          $ref: '#/components/schemas/request_id'
    InstitutionsFeature:
      type: object
      properties:
        name:
          type: string
          description: The name of the feature.
          example: token_required
        description:
          type: string
          description: The description of the feature.
          example: The institution may require a token during link creation or login
    common_pagination_properties:
      type: object
      properties:
        count:
          type: integer
          format: int32
          description: The total number of results in your Belvo account.
          example: 130
        next:
          type:
          - string
          - 'null'
          format: uri
          description: 'The URL to next page of results. Each page consists of up to 100 items. If there are not enough results for an additional page, the value is `null`.


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

            '
          example: https://sandbox.belvo.com/api/{endpoint}/?link=1bd948f7-245d-4313-b604-34d1044cb908&page=2
        previous:
          type:
          - string
          - 'null'
          format: uri
          description: 'The URL to the previous page of results. If there is no previous page, the

            value is `null`.

            '
          example: null
  responses:
    408_request_timeout_error:
      description: Request Timeout
      content:
        application/json:
          schema:
            type: array
            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"
            items:
              $ref: '#/components/schemas/RequestTimeoutError'
    403_access_denied_error:
      description: Access to Belvo API denied
      content:
        application/json:
          schema:
            type: array
            description: 'This error occurs when you try to access Belvo''s resource without the correct permissions.

              '
            items:
              $ref: '#/components/schemas/AccessToResourceDenied'
    404_not_found_error:
      description: Not Found Error
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/NotFoundError'
    500_unexpected_error:
      description: Unexpected Error
      content:
        application/json:
          schema:
            type: array
            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"
            items:
              $ref: '#/components/schemas/UnexpectedError'
    401_unauthorized_error:
      description: Unauthorized
      content:
        application/json:
          schema:
            type: array
            items:
              anyOf:
              - $ref: '#/components/schemas/UnauthorizedError'
              - $ref: '#/components/schemas/ConsentWithoutAccountsError'
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: "Belvo employs **basic authentication** using your secret keys (You can find your API secret keys in your Belvo Dashboard, under the **Developers** section).\n\n\nTo authenticate, you need to use your API `secretId` as the `username` and your API `secretPassword` as the `password`. These credentials need to be **Base64 encoded** and included in the `Authorization` header of your HTTP requests. For example:\n\n\n```shell\ncurl -X GET https://sandbox.belvo.com/api/ \\\n  -H \"Authorization: Basic $(echo -n 'YOUR_SECRET_ID:YOUR_SECRET_PASSWORD' | base64)\"\n```\n\nReplace `YOUR_SECRET_ID` and `YOUR_SECRET_PASSWORD` with your actual credentials. **Never expose your credentials in client-side code or public repositories**."
x-tagGroups:
- name: Core Resources
  tags:
  - Institutions
  - Links
  - Widget Access Token
  - Consents
- name: Open Finance Data Aggregation (Brazil)
  tags:
  - Owners
  - Accounts
  - Balances
  - Exchanges
  - Transactions
  - Bills
  - Investments Brazil
  - Investment Transactions Brazil
- name: Employments Brazil
  tags:
  - Employments Brazil
- name: Employment Records Mexico
  tags:
  - Employment Records Mexico
  - Current Employments Mexico
- name: Fiscal Mexico
  tags:
  - Invoices
  - Tax compliance status
  - Tax returns
  - Tax retentions
  - Tax status
  - Financial Statements
- name: Fiscal Chile
  tags:
  - Invoices Chile
  - Tax Status Chile
  - Debt Reports Chile
- name: Enrichment API
  tags:
  - Incomes
  - Recurring Expenses
  - Risk Insights
  - Employment Metrics


# --- truncated at 32 KB (32 KB total) ---
# Full source: https://artifacts.apis.io/belvo/openapi/belvo-institutions-api-openapi.yml