diff --git a/sdks/db/cached-method-objects/from-custom-request_belvo.com.yaml b/sdks/db/cached-method-objects/from-custom-request_belvo.com.yaml new file mode 100644 index 0000000000..55c9dad6be --- /dev/null +++ b/sdks/db/cached-method-objects/from-custom-request_belvo.com.yaml @@ -0,0 +1,5500 @@ +hash: d3be26660021f0e610d9afc45de20b83e9f32827cd980ade4d54ee7782d4a493 +methodObjects: + - url: /api/links + method: listAll + httpMethod: get + tag: Links + typeScriptTag: links + description: List all links + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: id + schema: string + description: Return information only for this resource `id`. + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + - name: idIn + schema: array + description: Return information for these resource `id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: institution + schema: string + description: >- + Return results only for this institution (use the Belvo-designated + name, such as `erebor_mx_retail`). + example: erebor_mx_retail + - name: institutionIn + schema: array + description: >- + Return results only for these institutions (use the Belvo-designated + names, such as `erebor_mx_retail` and `gringotts_mx_retail`). + example: erebor_mx_retail,gringotts_mx_retail + - name: accessMode + schema: string + description: >- + Return links only with this access mode. Can be either `single` or + `recurrent`. + example: single + - name: createdAt + schema: string + description: >- + Return items that were last updated in Belvo's database on this date + (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGt + schema: string + description: >- + Return items that were last updated in Belvo's database after this + date (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGte + schema: string + description: >- + Return items that were last updated in Belvo's database after or on + this date (in `YYYY-MM-DD` format). + example: '2022-05-04' + - name: createdAtLt + schema: string + description: >- + Return items that were last updated in Belvo's database before this + date (in `YYYY-MM-DD` format). + example: '2022-04-01' + - name: createdAtLte + schema: string + description: >- + Return items that were last updated in Belvo's database before or on + this date (in `YYYY-MM-DD` format). + example: '2022-03-30' + - name: createdAtRange + schema: array + description: >- + Return accounts that were last updated in Belvo's database between two + dates (in `YYYY-MM-DD` format). + example: 2022-03-03,2022-05-04 + - name: createdByNotIn + schema: array + description: Return links that were not created by these Belvo users. + example: >- + 578947e2-3c9a-4401-bbad-59b2f2d2b91b,d3d941ab-4ca5-43c1-8b23-db329ee4cb7e + - name: externalId + schema: string + description: Return links with this external ID. + example: InternalUser4000 + - name: externalIdIn + schema: array + description: Return links with these external IDs. + example: InternalUser4000,InternalUser4001 + - name: institutionUserId + schema: string + description: Return links with this specific institution user ID. + example: ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0= + - name: institutionUserIdIn + schema: array + description: Return links with these institution user IDs. + example: >- + ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0=,YwuTM0uEEh1BbVgDZBcNpa_-Tm3l2q8ZkZNrlhp-pNA= + - name: refreshRate + schema: string + description: >- + Return links with this refresh rate. Choose between `6h`, `12h`, + `24h`, `7d`, or `30d`. + example: 24h + - name: status + schema: string + description: >- + Return links with this status. Choose between `valid`, `invalid`, + `unconfirmed`, or `token_required`. + example: invalid + - name: statusIn + schema: array + description: >- + Return links with these statuses. Choose between `valid`, `invalid`, + `unconfirmed`, or `token_required`. + example: invalid,unconfirmed + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/links + method: resumeSession + httpMethod: patch + tag: Links + typeScriptTag: links + description: Complete a links request + parameters: + - name: session + schema: string + required: true + description: '' + example: 6e7b283c6efa449c9c028a16b5c249fa + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: link + schema: string + required: true + description: '' + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/links + method: registerNewLink + httpMethod: post + tag: Links + typeScriptTag: links + description: Register a new link + parameters: + - name: institution + schema: string + required: true + description: '' + example: erebor_mx_retail + - name: username + schema: string + required: true + description: '' + example: username + - name: password + schema: string + required: false + description: '' + example: password + - name: external_id + schema: string + required: false + description: '' + example: 56ab5706-6e00-48a4-91c9-ca55968678d9 + - name: username2 + schema: string + required: false + description: '' + example: secondusername + - name: username3 + schema: string + required: false + description: '' + example: thirdusername + - name: password2 + schema: string + required: false + description: '' + example: pin + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: access_mode + schema: string + required: false + description: '' + default: recurrent + - name: fetch_resources + schema: array + required: false + description: '' + example: + - ACCOUNTS + - TRANSACTIONS + - name: credentials_storage + schema: string + required: false + description: '' + example: 27d + - name: stale_in + schema: string + required: false + description: '' + example: 42d + - name: username_type + schema: string + required: false + description: '' + example: '001' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/links/{id} + method: deleteLinkAccounts + httpMethod: delete + tag: Links + typeScriptTag: links + description: Delete a link + parameters: + - name: id + schema: string + required: true + description: The `link.id` that you want to delete. + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/links/{id} + method: getDetails + httpMethod: get + tag: Links + typeScriptTag: links + description: Get a link's details + parameters: + - name: id + schema: string + required: true + description: The `link.id` you want to get detailed information about. + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/links/{id} + method: changeAccessMode + httpMethod: patch + tag: Links + typeScriptTag: links + description: Change a link's access mode + parameters: + - name: id + schema: string + required: true + description: The `link.id` you want to change the `access_mode` for. + example: e4bb1afb-4a4f-4dd6-8be0-e615d233185b + - name: access_mode + schema: string + required: true + description: '' + example: ACCESS_MODE + default: recurrent + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/links/{id} + method: updateCredentials + httpMethod: put + tag: Links + typeScriptTag: links + description: Update a link's credentials + parameters: + - name: id + schema: string + required: true + description: The `link.id` you want to update. + example: ID + - name: password + schema: string + required: true + description: '' + example: password + - name: password2 + schema: string + required: false + description: '' + example: pin + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: username_type + schema: string + required: false + description: '' + example: '001' + - name: certificate + schema: string + required: false + description: '' + example: 1234567890abcd= + - name: private_key + schema: string + required: false + description: '' + example: 1234567890abcd= + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/accounts + method: listAll + httpMethod: get + tag: Accounts + typeScriptTag: accounts + description: List all accounts + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: linkIn + schema: array + description: Return results only for these `link.id`s. + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + - name: balanceAvailable + schema: number + description: >- + Return accounts that have a `balance.available` matching exactly this + value. + example: 4000 + - name: balanceAvailableLt + schema: number + description: Return accounts that have a `balance.available` less than this value. + example: 6000 + - name: balanceAvailableLte + schema: number + description: >- + Return accounts that have a `balance.available` less than or equal to + this value. + example: 5999 + - name: balanceAvailableGt + schema: number + description: >- + Return accounts that have a `balance.available` greater than this + value. + example: 2000 + - name: balanceAvailableGte + schema: number + description: >- + Return accounts that have a `balance.available` greater than or equal + to this value. + example: 1999 + - name: balanceAvailableRange + schema: array + description: >- + Return accounts that have a `balance.available` within a range of two + values. + example: 3000.00,4350.00 + - name: balanceCurrent + schema: number + description: >- + Return accounts that have a `balance.current` matching exactly this + value. + example: 4000 + - name: balanceCurrentLt + schema: number + description: Return accounts that have a `balance.current` less than this value. + example: 6000 + - name: balanceCurrentLte + schema: number + description: >- + Return accounts that have a `balance.available` less than or equal to + this value. + example: 5999 + - name: balanceCurrentGt + schema: number + description: Return accounts that have a `balance.current` greater than this value. + example: 2000 + - name: balanceCurrentGte + schema: number + description: >- + Return accounts that have a `balance.available` greater than or equal + to this value. + example: 1999 + - name: balanceCurrentRange + schema: array + description: >- + Return accounts that have a `balance.current` within a range of two + values. + example: 3000.00,4350.00 + - name: category + schema: string + description: >- + Return accounts only for the given category (for example, + `CHECKING_ACCOUNT` and `SAVINGS_ACCOUNT`). + example: CREDIT_ACCOUNT + - name: categoryIn + schema: array + description: >- + Return accounts only for the given categories (for example, + `CHECKING_ACCOUNT` and `SAVINGS_ACCOUNT`). + example: CHECKING_ACCOUNT,SAVINGS_ACCOUNT + - name: createdAt + schema: string + description: >- + Return items that were last updated in Belvo's database on this date + (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGt + schema: string + description: >- + Return items that were last updated in Belvo's database after this + date (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGte + schema: string + description: >- + Return items that were last updated in Belvo's database after or on + this date (in `YYYY-MM-DD` format). + example: '2022-05-04' + - name: createdAtLt + schema: string + description: >- + Return items that were last updated in Belvo's database before this + date (in `YYYY-MM-DD` format). + example: '2022-04-01' + - name: createdAtLte + schema: string + description: >- + Return items that were last updated in Belvo's database before or on + this date (in `YYYY-MM-DD` format). + example: '2022-03-30' + - name: createdAtRange + schema: array + description: >- + Return accounts that were last updated in Belvo's database between two + dates (in `YYYY-MM-DD` format). + example: 2022-03-03,2022-05-04 + - name: currency + schema: string + description: >- + Return results that hold finances or balances in only this + three-letter currency code. + example: COP + - name: currencyIn + schema: array + description: >- + Return results that have funds or balances in one of these + three-letter currency codes. + example: COP,MXN + - name: id + schema: string + description: Return information only for this resource `id`. + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + - name: idIn + schema: array + description: Return information for these resource `id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: institution + schema: string + description: >- + Return results only for this institution (use the Belvo-designated + name, such as `erebor_mx_retail`). + example: erebor_mx_retail + - name: institutionIn + schema: array + description: >- + Return results only for these institutions (use the Belvo-designated + names, such as `erebor_mx_retail` and `gringotts_mx_retail`). + example: erebor_mx_retail,gringotts_mx_retail + - name: name + schema: string + description: >- + Return accounts with exactly this internal (specified by the + institution) name. + example: Cuenta Perfiles- M.N. - MXN-666 + - name: nameIcontains + schema: string + description: >- + Return accounts partially matching this internal (specified by the + institution) name. + example: Perfiles + - name: number + schema: string + description: >- + Return information only for this account number (as specified by the + institution). + example: '4057068115181' + - name: numberIn + schema: array + description: >- + Return information for these account numbers (as specified by the + institution). + example: 4057068115181,7809346821648 + - name: publicIdentificationName + schema: string + description: >- + Return information only for this type of account ID. For example, + CLABE accounts. + example: CLABE + - name: publicIdentificationValue + schema: string + description: >- + Return information only for this account ID. For example, the account + number for a CLABE account. + example: '150194683119900273' + - name: type + schema: string + description: >- + Return information only for accounts matching this account type, as + designated by the institution. + example: Cuentas de efectivo + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/accounts + method: resumeRetrieveSession + httpMethod: patch + tag: Accounts + typeScriptTag: accounts + description: Complete an accounts request + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: session + schema: string + required: true + description: '' + example: 6e7b283c6efa449c9c028a16b5c249fa + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: link + schema: string + required: true + description: '' + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + - name: save_data + schema: boolean + required: false + description: '' + example: true + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/accounts + method: createLinkAccounts + httpMethod: post + tag: Accounts + typeScriptTag: accounts + description: Retrieve accounts for a link + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + required: true + description: '' + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: save_data + schema: boolean + required: false + description: '' + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/accounts/{id} + method: deleteSpecificAccount + httpMethod: delete + tag: Accounts + typeScriptTag: accounts + description: Delete an account + parameters: + - name: id + schema: string + required: true + description: The `account.id` you want to delete. + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/accounts/{id} + method: getDetails + httpMethod: get + tag: Accounts + typeScriptTag: accounts + description: Get an account's details + parameters: + - name: id + schema: string + required: true + description: The `account.id` you want to get detailed information about. + example: ID + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/transactions + method: listAllTransactions + httpMethod: get + tag: Transactions + typeScriptTag: transactions + description: List all transactions + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + required: true + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: linkIn + schema: array + description: Return results only for these `link.id`s. + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + - name: account + schema: string + description: > + The `account.id` you want to filter by. + + + ℹ️ We highly recommend adding either the `link.id` or the `account.id` + filters in order to improve your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: accountIn + schema: array + description: Return results only for these `account.id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: accountBalanceAvailable + schema: number + description: >- + Return transactions that have a `account.balance.available` matching + exactly this value. + example: 4000 + - name: accountBalanceAvailableLt + schema: number + description: >- + Return transactions that have a `account.balance.available` less than + this value. + example: 6000 + - name: accountBalanceAvailableLte + schema: number + description: >- + Return transactions that have a `account.balance.available` less than + or equal to this value. + example: 5999 + - name: accountBalanceAvailableGt + schema: number + description: >- + Return transactions that have a `account.balance.available` more than + this value. + example: 6000 + - name: accountBalanceAvailableGte + schema: number + description: >- + Return transactions that have a `account.balance.available` more than + or equal to this value. + example: 5999 + - name: accountBalanceAvailableRange + schema: array + description: >- + Return transactions that have a `account.balance.available` within a + range of two values. + example: 3000.00,4350.00 + - name: accountBalanceCurrent + schema: number + description: >- + Return transactions that have a `account.balance.current` matching + exactly this value. + example: 4000 + - name: accountBalanceCurrentGt + schema: number + description: >- + Return transactions that have a `account.balance.current` greater than + this value. + example: 4020 + - name: accountBalanceCurrentGte + schema: number + description: >- + Return transactions that have a `account.balance.current` greater than + or equal to this value. + example: 4019 + - name: accountBalanceCurrentLt + schema: number + description: >- + Return transactions that have a `account.balance.current` less than + this value. + example: 3000 + - name: accountBalanceCurrentLte + schema: number + description: >- + Return transactions that have a `account.balance.current` less than or + equal to this value. + example: 2999 + - name: accountBalanceCurrentRange + schema: array + description: >- + Return transactions that have a `account.balance.current` within a + range of two values. + example: 3000.00,4350.00 + - name: accountType + schema: string + description: >- + Return information only for transactions matching this account type, + as designated by the institution. + example: Cuentas de efectivo + - name: accountTypeIn + schema: array + description: >- + Return information only for transactions matching these account types, + as designated by the institution. + example: Cuentas de efectivo,Depositos Ahorro + - name: accountingDate + schema: string + description: >- + Return transactions that were processed by the institution on exactly + this date (`YYYY-MM-DD`). + example: '2022-05-05' + - name: accountingDateGt + schema: string + description: >- + Return transactions that were processed by the institution after this + date (`YYYY-MM-DD`). + example: '2022-05-06' + - name: accountingDateGte + schema: string + description: >- + Return transactions that were processed by the institution on this + date (`YYYY-MM-DD`) or later. + example: '2022-05-04' + - name: accountingDateLt + schema: string + description: >- + Return transactions that were processed by the institution before this + date (`YYYY-MM-DD`). + example: '2022-03-02' + - name: accountingDateLte + schema: string + description: >- + Return transactions that were processed by the institution on this + date (`YYYY-MM-DD`) or earlier. + example: '2022-03-01' + - name: accountingDateRange + schema: array + description: >- + Return transactions that were processed by the institution in this + date range (`YYYY-MM-DD`). + example: 2022-03-01,2022-05-06 + - name: amount + schema: number + description: Return results only for this value. + example: 1000 + - name: amountGt + schema: number + description: Return results only for more than this amount. + example: 1000 + - name: amountGte + schema: number + description: Return results only for and more than this amount. + example: 1000 + - name: amountLt + schema: number + description: Return results only for less than this amount. + example: 1000 + - name: amountLte + schema: number + description: Return results only for this amount or less. + example: 1000 + - name: amountRange + schema: array + description: Return results between this amount range. + example: 1001.00,2000.00 + - name: collectedAt + schema: string + description: >- + Return items that were retrieved from the institution on this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + example: '2022-05-01' + - name: collectedAtGt + schema: string + description: >- + Return items that were retrieved from the institution after this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + example: '2022-05-05' + - name: collectedAtGte + schema: string + description: >- + Return items that were retrieved from the institution after or on this + date (`YYYY-MM-DD` or full `ISO-8601` timestamp). + example: '2022-05-04' + - name: collectedAtLt + schema: string + description: >- + Return items that were retrieved from the institution before this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + example: '2022-04-01' + - name: collectedAtLte + schema: string + description: >- + Return items that were retrieved from the institution before or on + this date (`YYYY-MM-DD` or full `ISO-8601` timestamp). + example: '2022-03-30' + - name: collectedAtRange + schema: array + description: >- + Return items that were retrieved from the institution between two + dates (`YYYY-MM-DD` or full `ISO-8601` timestamp). + example: 2022-03-03,2022-05-04 + - name: createdAt + schema: string + description: >- + Return items that were last updated in Belvo's database on this date + (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGt + schema: string + description: >- + Return items that were last updated in Belvo's database after this + date (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGte + schema: string + description: >- + Return items that were last updated in Belvo's database after or on + this date (in `YYYY-MM-DD` format). + example: '2022-05-04' + - name: createdAtLt + schema: string + description: >- + Return items that were last updated in Belvo's database before this + date (in `YYYY-MM-DD` format). + example: '2022-04-01' + - name: createdAtLte + schema: string + description: >- + Return items that were last updated in Belvo's database before or on + this date (in `YYYY-MM-DD` format). + example: '2022-03-30' + - name: createdAtRange + schema: array + description: >- + Return accounts that were last updated in Belvo's database between two + dates (in `YYYY-MM-DD` format). + example: 2022-03-03,2022-05-04 + - name: currency + schema: string + description: >- + Return results that hold finances or balances in only this + three-letter currency code. + example: COP + - name: currencyIn + schema: array + description: >- + Return results that have funds or balances in one of these + three-letter currency codes. + example: COP,MXN + - name: creditCardDataBillNameIn + schema: array + description: Return transactions for one of these bill names. + example: maio-2022,feb-2022 + - name: reference + schema: string + description: Returns transactions with this institution-assigned reference number. + example: '085904452810319225' + - name: referenceIn + schema: array + description: >- + Returns transactions with these institution-assigned reference + numbers. + example: 085904452810319225,8703 + - name: status + schema: string + description: >- + Return transactions with this status. Can be either `PENDING`, + `PROCESSED`, or `UNCATEGORIZED`. + example: PENDING + - name: statusIn + schema: array + description: >- + Return transactions with these statuses. Can be either `PENDING`, + `PROCESSED`, or `UNCATEGORIZED`. + example: PENDING,PROCESSED + - name: type + schema: string + description: >- + Return transactions with this type. Can be either `INFLOW` or + `OUTFLOW`. + example: OUTFLOW + - name: typeIn + schema: array + description: >- + Return transactions with this types. Can be either `INFLOW` or + `OUTFLOW`. + example: INFLOW,OUTFLOW + - name: valueDate + schema: string + description: Return results for exactly this date (`YYYY-MM-DD`). + example: '2022-05-05' + - name: valueDateGt + schema: string + description: Return results that occurred after this date (`YYYY-MM-DD`). + example: '2022-05-06' + - name: valueDateGte + schema: string + description: Return results for this date (`YYYY-MM-DD`) or later. + example: '2022-05-04' + - name: valueDateLt + schema: string + description: Return results for before this date (`YYYY-MM-DD`). + example: '2022-03-02' + - name: valueDateLte + schema: string + description: Return results for this date (`YYYY-MM-DD`) or earlier. + example: '2022-03-01' + - name: valueDateRange + schema: array + description: Return results for this date (`YYYY-MM-DD`) range. + example: 2022-03-01,2022-05-06 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/transactions + method: resumeRetrieveSession + httpMethod: patch + tag: Transactions + typeScriptTag: transactions + description: Complete a transactions request + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: session + schema: string + required: true + description: '' + example: 6e7b283c6efa449c9c028a16b5c249fa + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: link + schema: string + required: true + description: '' + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + - name: save_data + schema: boolean + required: false + description: '' + example: true + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/transactions + method: createLinkTransactions + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Retrieve transactions for a link + parameters: + - name: xBelvoRequestMode + schema: string + description: '' + example: async + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + required: true + description: '' + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + - name: account + schema: string + required: false + description: '' + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + - name: date_from + schema: string + required: true + description: '' + example: '2020-08-05' + - name: date_to + schema: string + required: true + description: '' + example: '2020-10-05' + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: save_data + schema: boolean + required: false + description: '' + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '202' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/transactions/{id} + method: removeById + httpMethod: delete + tag: Transactions + typeScriptTag: transactions + description: Delete a transaction + parameters: + - name: id + schema: string + required: true + description: The `transaction.id` that you want to delete. + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/transactions/{id} + method: getDetails + httpMethod: get + tag: Transactions + typeScriptTag: transactions + description: Get a transaction's details + parameters: + - name: id + schema: string + required: true + description: The `transaction.id` you want to get detailed information about. + example: ID + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/balances + method: getAll + httpMethod: get + tag: Balances + typeScriptTag: balances + description: List all balances + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: linkIn + schema: array + description: Return results only for these `link.id`s. + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + - name: account + schema: string + description: > + The `account.id` you want to filter by. + + + ℹ️ We highly recommend adding either the `link.id` or the `account.id` + filters in order to improve your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: accountIn + schema: array + description: Return results only for these `account.id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: accountType + schema: string + description: >- + Return information only for accounts matching this account type, as + designated by the institution. + example: Cuentas de efectivo + - name: accountTypeIn + schema: array + description: >- + Return information only for accounts matching these account types, as + designated by the institution. + example: Cuentas de efectivo,Credito + - name: balance + schema: number + description: Return balances matching exactly this value. + example: 530 + - name: balanceLt + schema: number + description: Return balances less than this value. + example: 540 + - name: balanceLte + schema: number + description: Return balances less than or equal to this value. + example: 541 + - name: balanceGt + schema: number + description: Return balances greater than this value. + example: 520 + - name: balanceGte + schema: number + description: Return balances greater than or equal to this value. + example: 519 + - name: balanceRange + schema: array + description: Return balances between these two values. + example: 519.00,541.00 + - name: currency + schema: string + description: >- + Return results that hold finances or balances in only this + three-letter currency code. + example: COP + - name: currencyIn + schema: array + description: >- + Return results that have funds or balances in one of these + three-letter currency codes. + example: COP,MXN + - name: id + schema: string + description: Return information only for this resource `id`. + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + - name: idIn + schema: array + description: Return information for these resource `id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: institution + schema: string + description: >- + Return results only for this institution (use the Belvo-designated + name, such as `erebor_mx_retail`). + example: erebor_mx_retail + - name: institutionIn + schema: array + description: >- + Return results only for these institutions (use the Belvo-designated + names, such as `erebor_mx_retail` and `gringotts_mx_retail`). + example: erebor_mx_retail,gringotts_mx_retail + - name: valueDate + schema: string + description: Return results for exactly this date (`YYYY-MM-DD`). + example: '2022-05-05' + - name: valueDateGt + schema: string + description: Return results that occurred after this date (`YYYY-MM-DD`). + example: '2022-05-06' + - name: valueDateGte + schema: string + description: Return results for this date (`YYYY-MM-DD`) or later. + example: '2022-05-04' + - name: valueDateLt + schema: string + description: Return results for before this date (`YYYY-MM-DD`). + example: '2022-03-02' + - name: valueDateLte + schema: string + description: Return results for this date (`YYYY-MM-DD`) or earlier. + example: '2022-03-01' + - name: valueDateRange + schema: array + description: Return results for this date (`YYYY-MM-DD`) range. + example: 2022-03-01,2022-05-06 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/balances + method: resumeSession + httpMethod: patch + tag: Balances + typeScriptTag: balances + description: Complete a balances request + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: session + schema: string + required: true + description: '' + example: 6e7b283c6efa449c9c028a16b5c249fa + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: link + schema: string + required: true + description: '' + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + - name: save_data + schema: boolean + required: false + description: '' + example: true + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/balances + method: getLinkBalances + httpMethod: post + tag: Balances + typeScriptTag: balances + description: Retrieve balances for a link + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + required: true + description: '' + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + - name: account + schema: string + required: false + description: '' + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + - name: date_from + schema: string + required: true + description: '' + example: '2021-01-18' + - name: date_to + schema: string + required: true + description: '' + example: '2021-02-15' + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: save_data + schema: boolean + required: false + description: '' + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/balances/{id} + method: deleteBalance + httpMethod: delete + tag: Balances + typeScriptTag: balances + description: Delete a balance + parameters: + - name: id + schema: string + required: true + description: The `balance.id` that you want to delete. + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/balances/{id} + method: getDetails + httpMethod: get + tag: Balances + typeScriptTag: balances + description: Get a balance's details + parameters: + - name: id + schema: string + required: true + description: The `balance.id` you want to get detailed information about. + example: ID + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/institutions + method: getAll + httpMethod: get + tag: Institutions + typeScriptTag: institutions + description: List all institutions + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: displayName + schema: string + description: Return institutions that partially match this display name. + example: Erebor Bank + - name: countryCode + schema: string + description: Return institutions only for this two-letter country code. + example: MX + - name: countryCodeIn + schema: array + description: Return institutions only for these two-letter country codes. + example: CO,BR + - name: resourcesAllin + schema: array + description: Return institutions that support these resources. + example: ACCOUNTS,OWNERS,TRANSACTIONS + - name: name + schema: string + description: Return an institution with this Belvo-designated name. + example: erebor_mx_retail + - name: nameIn + schema: array + description: Return institutions with one or more of these Belvo-designated names. + example: erebor_br_retail,gotham_co_business + - name: status + schema: string + description: >- + Return institutions with the given status. You can choose between + `healthy` or `down`. + example: healthy + - name: statusIn + schema: array + description: >- + Return institutions with one of the given statuses. You can choose + between `healthy` or `down`. + example: healthy,down + - name: type + schema: string + description: >- + Return institutions of this type. You can choose between `bank`, + `fiscal`, or `employment`. + example: fiscal + - name: typeIn + schema: array + description: >- + Return institutions of one of these types. You can choose between + `bank`, `fiscal`, or `employment`. + example: fiscal,bank + - name: website + schema: string + description: Return institutions with this website URL. + example: https://www.erebor.mx + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/institutions/{id} + method: getDetails + httpMethod: get + tag: Institutions + typeScriptTag: institutions + description: Get an institution's details + parameters: + - name: id + schema: string + required: true + description: The `institution.id` you want to get detailed information about. + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/owners + method: listAll + httpMethod: get + tag: Owners + typeScriptTag: owners + description: List all owners + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: linkIn + schema: array + description: Return results only for these `link.id`s. + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + - name: id + schema: string + description: Return information only for this resource `id`. + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + - name: idIn + schema: array + description: Return information for these resource `id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: createdAt + schema: string + description: >- + Return items that were last updated in Belvo's database on this date + (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGt + schema: string + description: >- + Return items that were last updated in Belvo's database after this + date (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGte + schema: string + description: >- + Return items that were last updated in Belvo's database after or on + this date (in `YYYY-MM-DD` format). + example: '2022-05-04' + - name: createdAtLt + schema: string + description: >- + Return items that were last updated in Belvo's database before this + date (in `YYYY-MM-DD` format). + example: '2022-04-01' + - name: createdAtLte + schema: string + description: >- + Return items that were last updated in Belvo's database before or on + this date (in `YYYY-MM-DD` format). + example: '2022-03-30' + - name: createdAtRange + schema: array + description: >- + Return accounts that were last updated in Belvo's database between two + dates (in `YYYY-MM-DD` format). + example: 2022-03-03,2022-05-04 + - name: email + schema: string + description: Returns owners whose email address match your query. + example: lopes.d@gmail.com + - name: displayNameIcontains + schema: string + description: >- + Return owners whose full display name partially matches your query. + For example, `mar` will return results for Mark, Maria, Neymar, + Remarque, and so on. + example: Daniela + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/owners + method: resumeRetrieveSession + httpMethod: patch + tag: Owners + typeScriptTag: owners + description: Complete an owners request + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: session + schema: string + required: true + description: '' + example: 6e7b283c6efa449c9c028a16b5c249fa + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: link + schema: string + required: true + description: '' + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + - name: save_data + schema: boolean + required: false + description: '' + example: true + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/owners + method: getLinkOwner + httpMethod: post + tag: Owners + typeScriptTag: owners + description: Retrieve owners for a link + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + required: true + description: '' + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: save_data + schema: boolean + required: false + description: '' + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/owners/{id} + method: deleteOwner + httpMethod: delete + tag: Owners + typeScriptTag: owners + description: Delete an owner + parameters: + - name: id + schema: string + required: true + description: The `owner.id` that you want to delete. + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/owners/{id} + method: getDetails + httpMethod: get + tag: Owners + typeScriptTag: owners + description: Get an owner's details + parameters: + - name: id + schema: string + required: true + description: The `owner.id` you want to get detailed information about. + example: ID + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/invoices + method: listAll + httpMethod: get + tag: Invoices + typeScriptTag: invoices + description: List all invoices + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: linkIn + schema: array + description: Return results only for these `link.id`s. + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + - name: id + schema: string + description: Return information only for this resource `id`. + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + - name: idIn + schema: array + description: Return information for these resource `id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: createdAt + schema: string + description: >- + Return items that were last updated in Belvo's database on this date + (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGt + schema: string + description: >- + Return items that were last updated in Belvo's database after this + date (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGte + schema: string + description: >- + Return items that were last updated in Belvo's database after or on + this date (in `YYYY-MM-DD` format). + example: '2022-05-04' + - name: createdAtLt + schema: string + description: >- + Return items that were last updated in Belvo's database before this + date (in `YYYY-MM-DD` format). + example: '2022-04-01' + - name: createdAtLte + schema: string + description: >- + Return items that were last updated in Belvo's database before or on + this date (in `YYYY-MM-DD` format). + example: '2022-03-30' + - name: createdAtRange + schema: array + description: >- + Return accounts that were last updated in Belvo's database between two + dates (in `YYYY-MM-DD` format). + example: 2022-03-03,2022-05-04 + - name: invoiceDate + schema: string + description: Return invoices issued exactly on this date (`YYYY-MM-DD`). + example: '2022-05-05' + - name: invoiceDateLt + schema: string + description: Return balances issued before this date (`YYYY-MM-DD`). + example: '2022-03-02' + - name: invoiceDateLte + schema: string + description: Return balances issued on this date or earlier (`YYYY-MM-DD`). + example: '2022-03-01' + - name: invoiceDateGt + schema: string + description: Return invoices issued after this date (`YYYY-MM-DD`). + example: '2022-05-06' + - name: invoiceDateGte + schema: string + description: Return invoices issued on this date or later (`YYYY-MM-DD`) + example: '2022-05-04' + - name: invoiceDateRange + schema: array + description: Return invoices issued within this date range (`YYYY-MM-DD`). + example: 2022-03-01,2022-05-06 + - name: invoiceIdentification + schema: string + description: Return an invoice with this ID (as provided by the insitution). + example: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + - name: invoiceIdentificationIn + schema: array + description: Return invoices with these IDs (as provided by the institution). + example: >- + 862B9918-3K6H-4E0B-NAI9-2BE2D833B840,992B9918-3G6H-4E0B-DAI9-2BE2D833B833 + - name: status + schema: string + description: >- + Return invoices with this status. Can be either `Vigente` + (https://developers.belvo.com or `Cancelado` + (https://developers.belvo.com. + example: Vigente + - name: statusIn + schema: array + description: >- + Return invoices with these statuses. Can be either `Vigente` + (https://developers.belvo.com or `Cancelado` + (https://developers.belvo.com. + example: Vigente,Cancelado + - name: type + schema: string + description: Return invoices of this type. Can be either `OUTFLOW` or `INFLOW`. + example: OUTFLOW + - name: typeIn + schema: array + description: Return invoices of these types. Can be either `OUTFLOW` or `INFLOW`. + example: OUTFLOW,INFLOW + - name: totalAmount + schema: number + description: Return invoices matching exactly this value. + example: 1000 + - name: totalAmountLt + schema: number + description: Return invoices less than this value. + example: 540 + - name: totalAmountLte + schema: number + description: Return invoices less than or equal to this value. + example: 541 + - name: totalAmountGt + schema: number + description: Return invoices greater than this value. + example: 520 + - name: totalAmountGte + schema: number + description: Return invoices greater than or equal to this value. + example: 519 + - name: totalAmountRange + schema: array + description: Return invoices between these two values. + example: 519.00,541.00 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/invoices + method: completeRequest + httpMethod: patch + tag: Invoices + typeScriptTag: invoices + description: Complete an invoices request + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: session + schema: string + required: true + description: '' + example: 6e7b283c6efa449c9c028a16b5c249fa + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: link + schema: string + required: true + description: '' + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + - name: save_data + schema: boolean + required: false + description: '' + example: true + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/invoices + method: getLinkInvoices + httpMethod: post + tag: Invoices + typeScriptTag: invoices + description: Retrieve invoices for a link + parameters: + - name: xBelvoRequestMode + schema: string + description: '' + example: async + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + required: true + description: '' + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + - name: date_from + schema: string + required: true + description: '' + example: '2020-01-01' + - name: date_to + schema: string + required: true + description: '' + example: '2020-02-01' + - name: type + schema: string + required: true + description: '' + example: INFLOW + - name: attach_xml + schema: boolean + required: false + description: '' + default: false + - name: save_data + schema: boolean + required: false + description: '' + example: true + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '202' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/invoices/{id} + method: deleteInvoice + httpMethod: delete + tag: Invoices + typeScriptTag: invoices + description: Delete an invoice + parameters: + - name: id + schema: string + required: true + description: The `invoice.id` that you want to delete. + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/invoices/{id} + method: getDetails + httpMethod: get + tag: Invoices + typeScriptTag: invoices + description: Get an invoice's details + parameters: + - name: id + schema: string + required: true + description: The `invoice.id` you want to get detailed information about. + example: ID + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/tax-returns + method: listAll + httpMethod: get + tag: Tax returns + typeScriptTag: taxReturns + description: List all tax returns + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: linkIn + schema: array + description: Return results only for these `link.id`s. + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + - name: id + schema: string + description: Return information only for this resource `id`. + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + - name: idIn + schema: array + description: Return information for these resource `id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: createdAt + schema: string + description: >- + Return items that were last updated in Belvo's database on this date + (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGt + schema: string + description: >- + Return items that were last updated in Belvo's database after this + date (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGte + schema: string + description: >- + Return items that were last updated in Belvo's database after or on + this date (in `YYYY-MM-DD` format). + example: '2022-05-04' + - name: createdAtLt + schema: string + description: >- + Return items that were last updated in Belvo's database before this + date (in `YYYY-MM-DD` format). + example: '2022-04-01' + - name: createdAtLte + schema: string + description: >- + Return items that were last updated in Belvo's database before or on + this date (in `YYYY-MM-DD` format). + example: '2022-03-30' + - name: createdAtRange + schema: array + description: >- + Return accounts that were last updated in Belvo's database between two + dates (in `YYYY-MM-DD` format). + example: 2022-03-03,2022-05-04 + - name: ejercicio + schema: string + description: Return tax returns for exactly this year (`YYYY`). + example: '2018' + - name: ejercicioLt + schema: string + description: Return tax returns for before this year (`YYYY`). + example: '2020' + - name: ejercicioLte + schema: string + description: Return tax returns for this year and earlier (`YYYY`). + example: '2021' + - name: ejercicioGt + schema: string + description: Return tax returns for after this year (`YYYY`). + example: '2019' + - name: ejercicioGte + schema: string + description: Return tax returns for this year or later (`YYYY`). + example: '2017' + - name: ejercicioRange + schema: array + description: Return tax returns for this range of years (`YYYY`). + example: 2015,2021 + - name: tipoDeclaracion + schema: string + description: Return tax returns with this declaration type. + example: Normal + - name: tipoDeclaracionIn + schema: array + description: Return tax returns with these declaration types. + example: Normal,Commercial + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/tax-returns + method: getInformation + httpMethod: post + tag: Tax returns + typeScriptTag: taxReturns + description: Retrieve tax returns for a link + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/tax-returns/{id} + method: deleteSpecificTaxReturn + httpMethod: delete + tag: Tax returns + typeScriptTag: taxReturns + description: Delete a tax return + parameters: + - name: id + schema: string + required: true + description: The ID of the tax return you want to delete. + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/tax-returns/{id} + method: getDetails + httpMethod: get + tag: Tax returns + typeScriptTag: taxReturns + description: Get a tax return's details + parameters: + - name: id + schema: string + required: true + description: The `tax-return.id` you want to get detailed information about. + example: ID + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/tax-status + method: listAll + httpMethod: get + tag: Tax status + typeScriptTag: taxStatus + description: List all tax statuses + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: linkIn + schema: array + description: Return results only for these `link.id`s. + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + - name: id + schema: string + description: Return information only for this resource `id`. + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + - name: idIn + schema: array + description: Return information for these resource `id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: createdAt + schema: string + description: >- + Return items that were last updated in Belvo's database on this date + (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGt + schema: string + description: >- + Return items that were last updated in Belvo's database after this + date (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGte + schema: string + description: >- + Return items that were last updated in Belvo's database after or on + this date (in `YYYY-MM-DD` format). + example: '2022-05-04' + - name: createdAtLt + schema: string + description: >- + Return items that were last updated in Belvo's database before this + date (in `YYYY-MM-DD` format). + example: '2022-04-01' + - name: createdAtLte + schema: string + description: >- + Return items that were last updated in Belvo's database before or on + this date (in `YYYY-MM-DD` format). + example: '2022-03-30' + - name: createdAtRange + schema: array + description: >- + Return accounts that were last updated in Belvo's database between two + dates (in `YYYY-MM-DD` format). + example: 2022-03-03,2022-05-04 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/tax-status + method: getLinkTaxStatus + httpMethod: post + tag: Tax status + typeScriptTag: taxStatus + description: Retrieve tax statuses for a link + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + required: true + description: '' + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + - name: attach_pdf + schema: boolean + required: false + description: '' + default: false + - name: save_data + schema: boolean + required: false + description: '' + example: true + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/tax-status/{id} + method: deleteSpecificTaxStatus + httpMethod: delete + tag: Tax status + typeScriptTag: taxStatus + description: Delete a tax status + parameters: + - name: id + schema: string + required: true + description: the `tax-status.id` that you want to delete + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/tax-status/{id} + method: getDetails + httpMethod: get + tag: Tax status + typeScriptTag: taxStatus + description: Get a tax status's details + parameters: + - name: id + schema: string + required: true + description: The `tax-status.id` you want to get detailed information about. + example: ID + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/tax-compliance-status + method: listAll + httpMethod: get + tag: Tax compliance status + typeScriptTag: taxComplianceStatus + description: List all tax compliance statuses + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: linkIn + schema: array + description: Return results only for these `link.id`s. + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + - name: id + schema: string + description: Return information only for this resource `id`. + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + - name: idIn + schema: array + description: Return information for these resource `id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: createdAt + schema: string + description: >- + Return items that were last updated in Belvo's database on this date + (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGt + schema: string + description: >- + Return items that were last updated in Belvo's database after this + date (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGte + schema: string + description: >- + Return items that were last updated in Belvo's database after or on + this date (in `YYYY-MM-DD` format). + example: '2022-05-04' + - name: createdAtLt + schema: string + description: >- + Return items that were last updated in Belvo's database before this + date (in `YYYY-MM-DD` format). + example: '2022-04-01' + - name: createdAtLte + schema: string + description: >- + Return items that were last updated in Belvo's database before or on + this date (in `YYYY-MM-DD` format). + example: '2022-03-30' + - name: createdAtRange + schema: array + description: >- + Return accounts that were last updated in Belvo's database between two + dates (in `YYYY-MM-DD` format). + example: 2022-03-03,2022-05-04 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/tax-compliance-status + method: getFiscalLinkInfo + httpMethod: post + tag: Tax compliance status + typeScriptTag: taxComplianceStatus + description: Retrieve tax compliance statuses for a link + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + required: true + description: '' + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + - name: attach_pdf + schema: boolean + required: false + description: '' + default: false + - name: save_data + schema: boolean + required: false + description: '' + example: true + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/tax-compliance-status/{id} + method: deleteSpecificTaxComplianceStatus + httpMethod: delete + tag: Tax compliance status + typeScriptTag: taxComplianceStatus + description: Delete a tax compliance status + parameters: + - name: id + schema: string + required: true + description: The `tax-compliance-status.id` that you want to delete. + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/tax-compliance-status/{id} + method: getDetails + httpMethod: get + tag: Tax compliance status + typeScriptTag: taxComplianceStatus + description: Get a tax compliance status's details + parameters: + - name: id + schema: string + required: true + description: | + The `tax-compliance-status.id` you want to get detailed information + about. + example: ID + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/incomes + method: listAll + httpMethod: get + tag: Incomes + typeScriptTag: incomes + description: List all incomes + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: account + schema: string + description: > + The `account.id` you want to filter by. + + + ℹ️ We highly recommend adding either the `link.id` or the `account.id` + filters in order to improve your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: accountIn + schema: array + description: Return results only for these `account.id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: link + schema: string + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: linkIn + schema: array + description: Return results only for these `link.id`s. + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/incomes + method: resumeSession + httpMethod: patch + tag: Incomes + typeScriptTag: incomes + description: Complete an incomes request + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: session + schema: string + required: true + description: '' + example: 6e7b283c6efa449c9c028a16b5c249fa + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: link + schema: string + required: true + description: '' + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + - name: save_data + schema: boolean + required: false + description: '' + example: true + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/incomes + method: getInsights + httpMethod: post + tag: Incomes + typeScriptTag: incomes + description: Retrieve incomes for a link + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + required: true + description: '' + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + - name: allowed_income_types + schema: array + required: false + description: '' + - name: minimum_confidence_level + schema: string + required: false + description: '' + example: HIGH + - name: date_from + schema: string + required: false + description: '' + example: '2020-08-01' + - name: date_to + schema: string + required: false + description: '' + example: '2020-12-30' + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: save_data + schema: boolean + required: false + description: '' + default: true + responses: + - statusCode: '200' + description: Income insights + - statusCode: '201' + description: Income insights + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/incomes/{id} + method: deleteIncome + httpMethod: delete + tag: Incomes + typeScriptTag: incomes + description: Delete an income + parameters: + - name: id + schema: string + required: true + description: the `income.id` that you want to delete + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/incomes/{id} + method: getDetails + httpMethod: get + tag: Incomes + typeScriptTag: incomes + description: Get an income's details + parameters: + - name: id + schema: string + required: true + description: The `income.id` you want to get detailed information about. + example: ID + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: Income insights + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/recurring-expenses + method: listAll + httpMethod: get + tag: Recurring Expenses + typeScriptTag: recurringExpenses + description: List all recurring expenses + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: linkIn + schema: array + description: Return results only for these `link.id`s. + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + - name: account + schema: string + description: > + The `account.id` you want to filter by. + + + ℹ️ We highly recommend adding either the `link.id` or the `account.id` + filters in order to improve your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: accountIn + schema: array + description: Return results only for these `account.id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: id + schema: string + description: Return information only for this resource `id`. + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + - name: idIn + schema: array + description: Return information for these resource `id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/recurring-expenses + method: resumeRequest + httpMethod: patch + tag: Recurring Expenses + typeScriptTag: recurringExpenses + description: Complete a recurring expenses request + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: session + schema: string + required: true + description: '' + example: 6e7b283c6efa449c9c028a16b5c249fa + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: link + schema: string + required: true + description: '' + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + - name: save_data + schema: boolean + required: false + description: '' + example: true + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/recurring-expenses + method: getInsights + httpMethod: post + tag: Recurring Expenses + typeScriptTag: recurringExpenses + description: Retrieve recurring expenses for a link + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + required: true + description: '' + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: save_data + schema: boolean + required: false + description: '' + default: true + - name: date_from + schema: string + required: false + description: '' + example: '2022-08-01' + - name: date_to + schema: string + required: false + description: '' + example: '2022-12-30' + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/recurring-expenses/{id} + method: deleteExpense + httpMethod: delete + tag: Recurring Expenses + typeScriptTag: recurringExpenses + description: Delete a recurring expense + parameters: + - name: id + schema: string + required: true + description: The `recurring-expenses.id` that you want to delete + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/recurring-expenses/{id} + method: getDetails + httpMethod: get + tag: Recurring Expenses + typeScriptTag: recurringExpenses + description: Get a recurring expense's details + parameters: + - name: id + schema: string + required: true + description: >- + The `recurring-expenses.id` you want to get detailed information + about. + example: ID + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/risk-insights + method: listAllRiskInsights + httpMethod: get + tag: Risk Insights + typeScriptTag: riskInsights + description: List all risk insights + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: linkIn + schema: array + description: Return results only for these `link.id`s. + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + - name: account + schema: string + description: > + The `account.id` you want to filter by. + + + ℹ️ We highly recommend adding either the `link.id` or the `account.id` + filters in order to improve your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: accountIn + schema: array + description: Return results only for these `account.id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: id + schema: string + description: Return information only for this resource `id`. + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + - name: idIn + schema: array + description: Return information for these resource `id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/risk-insights + method: resumeInsightsSession + httpMethod: patch + tag: Risk Insights + typeScriptTag: riskInsights + description: Complete a risk insights request + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: session + schema: string + required: true + description: '' + example: 6e7b283c6efa449c9c028a16b5c249fa + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: link + schema: string + required: true + description: '' + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + - name: save_data + schema: boolean + required: false + description: '' + example: true + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/risk-insights + method: getForLink + httpMethod: post + tag: Risk Insights + typeScriptTag: riskInsights + description: Retrieve risk insights for a link + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + required: true + description: '' + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + - name: token + schema: string + required: false + description: '' + example: 1234ab + - name: save_data + schema: boolean + required: false + description: '' + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/risk-insights/{id} + method: deleteSpecificInsight + httpMethod: delete + tag: Risk Insights + typeScriptTag: riskInsights + description: Delete a risk insight + parameters: + - name: id + schema: string + required: true + description: The `risk-insights.id` that you want to delete + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/risk-insights/{id} + method: getDetails + httpMethod: get + tag: Risk Insights + typeScriptTag: riskInsights + description: Get a risk insight's details + parameters: + - name: id + schema: string + required: true + description: The `risk-insights.id` you want to get detailed information about. + example: ID + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/tax-retentions + method: listAll + httpMethod: get + tag: Tax retentions + typeScriptTag: taxRetentions + description: List all tax retentions + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: linkIn + schema: array + description: Return results only for these `link.id`s. + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + - name: createdAt + schema: string + description: >- + Return items that were last updated in Belvo's database on this date + (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGt + schema: string + description: >- + Return items that were last updated in Belvo's database after this + date (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGte + schema: string + description: >- + Return items that were last updated in Belvo's database after or on + this date (in `YYYY-MM-DD` format). + example: '2022-05-04' + - name: createdAtLt + schema: string + description: >- + Return items that were last updated in Belvo's database before this + date (in `YYYY-MM-DD` format). + example: '2022-04-01' + - name: createdAtLte + schema: string + description: >- + Return items that were last updated in Belvo's database before or on + this date (in `YYYY-MM-DD` format). + example: '2022-03-30' + - name: createdAtRange + schema: array + description: >- + Return accounts that were last updated in Belvo's database between two + dates (in `YYYY-MM-DD` format). + example: 2022-03-03,2022-05-04 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/tax-retentions + method: getLinkTaxRetentions + httpMethod: post + tag: Tax retentions + typeScriptTag: taxRetentions + description: Retrieve tax retentions for a link + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + required: true + description: '' + example: 9e432f18-36ca-4bd6-a3f3-1971e58dc1e8 + - name: date_from + schema: string + required: true + description: '' + example: '2020-01-01' + - name: date_to + schema: string + required: true + description: '' + example: '2020-02-01' + - name: type + schema: string + required: true + description: '' + example: INFLOW + - name: attach_xml + schema: boolean + required: false + description: '' + default: true + - name: save_data + schema: boolean + required: false + description: '' + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/tax-retentions/{id} + method: deleteSpecificTaxRetention + httpMethod: delete + tag: Tax retentions + typeScriptTag: taxRetentions + description: Delete a tax retention + parameters: + - name: id + schema: string + required: true + description: The `tax-retention.id` that you want to delete. + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/tax-retentions/{id} + method: getDetails + httpMethod: get + tag: Tax retentions + typeScriptTag: taxRetentions + description: Get a tax retention's details + parameters: + - name: id + schema: string + required: true + description: | + The `tax-retention.id` you want to get detailed information + about. + example: ID + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/tax-declarations + method: listAll + httpMethod: get + tag: Tax declarations + typeScriptTag: taxDeclarations + description: List all tax declarations + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: linkIn + schema: array + description: Return results only for these `link.id`s. + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + - name: id + schema: string + description: Return information only for this resource `id`. + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + - name: idIn + schema: array + description: Return information for these resource `id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: createdAt + schema: string + description: >- + Return items that were last updated in Belvo's database on this date + (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGt + schema: string + description: >- + Return items that were last updated in Belvo's database after this + date (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGte + schema: string + description: >- + Return items that were last updated in Belvo's database after or on + this date (in `YYYY-MM-DD` format). + example: '2022-05-04' + - name: createdAtLt + schema: string + description: >- + Return items that were last updated in Belvo's database before this + date (in `YYYY-MM-DD` format). + example: '2022-04-01' + - name: createdAtLte + schema: string + description: >- + Return items that were last updated in Belvo's database before or on + this date (in `YYYY-MM-DD` format). + example: '2022-03-30' + - name: createdAtRange + schema: array + description: >- + Return accounts that were last updated in Belvo's database between two + dates (in `YYYY-MM-DD` format). + example: 2022-03-03,2022-05-04 + - name: year + schema: number + description: Return results for this year (`YYYY`). + example: 2020 + - name: yearGt + schema: number + description: Return results for after this year (`YYYY`). + example: 2020 + - name: yearGte + schema: number + description: Return results for this year or after (`YYYY`). + example: 2019 + - name: yearLt + schema: number + description: Return results for before this year (`YYYY`). + example: 2018 + - name: yearLte + schema: number + description: Return results for this year or earlier (`YYYY`). + example: 2017 + - name: yearRange + schema: array + description: Return results between these two years (`YYYY`). + example: 2017,2021 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/tax-declarations + method: getFiscalLink + httpMethod: post + tag: Tax declarations + typeScriptTag: taxDeclarations + description: Retrieve tax declarations for a link + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + required: true + description: '' + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + - name: year_from + schema: string + required: true + description: '' + example: '2018' + - name: year_to + schema: string + required: true + description: '' + example: '2019' + - name: attach_pdf + schema: boolean + required: false + description: '' + example: false + default: false + - name: save_data + schema: boolean + required: false + description: '' + example: true + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/tax-declarations/{id} + method: deleteSpecificDeclaration + httpMethod: delete + tag: Tax declarations + typeScriptTag: taxDeclarations + description: Delete a tax declration + parameters: + - name: id + schema: string + required: true + description: The `tax-declration.id` that you want to delete. + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/tax-declarations/{id} + method: getDetails + httpMethod: get + tag: Tax declarations + typeScriptTag: taxDeclarations + description: Get a tax declaration's details + parameters: + - name: id + schema: string + required: true + description: | + The `tax-declaration.id` you want to get detailed information + about. + example: ID + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/employment-records + method: listAll + httpMethod: get + tag: Employment Records Mexico + typeScriptTag: employmentRecordsMexico + description: List all employment records + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: id + schema: string + description: Return information only for this resource `id`. + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + - name: idIn + schema: array + description: Return information for these resource `id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: link + schema: string + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: linkIn + schema: array + description: Return results only for these `link.id`s. + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + - name: internalIdentification + schema: string + description: | + The `internal_identification` you want to filter by. + example: BLPM951331IONVGR54 + - name: internalIdentificationIn + schema: array + description: | + One or more `internal_identification`s you want to filter by. + example: BLPM951331IONVGR54,GNQM951221IOMCGR59 + - name: collectedAt + schema: string + description: >- + Return items that were retrieved from the institution on this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + example: '2022-05-01' + - name: collectedAtGt + schema: string + description: >- + Return items that were retrieved from the institution after this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + example: '2022-05-05' + - name: collectedAtGte + schema: string + description: >- + Return items that were retrieved from the institution after or on this + date (`YYYY-MM-DD` or full `ISO-8601` timestamp). + example: '2022-05-04' + - name: collectedAtLt + schema: string + description: >- + Return items that were retrieved from the institution before this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + example: '2022-04-01' + - name: collectedAtLte + schema: string + description: >- + Return items that were retrieved from the institution before or on + this date (`YYYY-MM-DD` or full `ISO-8601` timestamp). + example: '2022-03-30' + - name: collectedAtRange + schema: array + description: >- + Return items that were retrieved from the institution between two + dates (`YYYY-MM-DD` or full `ISO-8601` timestamp). + example: 2022-03-03,2022-05-04 + - name: createdAt + schema: string + description: >- + Return items that were last updated in Belvo's database on this date + (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGt + schema: string + description: >- + Return items that were last updated in Belvo's database after this + date (in `YYYY-MM-DD` format). + example: '2022-05-05' + - name: createdAtGte + schema: string + description: >- + Return items that were last updated in Belvo's database after or on + this date (in `YYYY-MM-DD` format). + example: '2022-05-04' + - name: createdAtLt + schema: string + description: >- + Return items that were last updated in Belvo's database before this + date (in `YYYY-MM-DD` format). + example: '2022-04-01' + - name: createdAtLte + schema: string + description: >- + Return items that were last updated in Belvo's database before or on + this date (in `YYYY-MM-DD` format). + example: '2022-03-30' + - name: createdAtRange + schema: array + description: >- + Return accounts that were last updated in Belvo's database between two + dates (in `YYYY-MM-DD` format). + example: 2022-03-03,2022-05-04 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/employment-records + method: getDetails + httpMethod: post + tag: Employment Records Mexico + typeScriptTag: employmentRecordsMexico + description: Retrieve employment record details + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + required: true + description: '' + example: d686c617-6d9e-4bc6-9801-5ac276ccb6a2 + - name: attach_pdf + schema: boolean + required: false + description: '' + default: false + - name: save_data + schema: boolean + required: false + description: '' + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/employment-records/{id} + method: deleteRecord + httpMethod: delete + tag: Employment Records Mexico + typeScriptTag: employmentRecordsMexico + description: Delete an employment record + parameters: + - name: id + schema: string + required: true + description: The `employment-record.id` that you want to delete. + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/employment-records/{id} + method: getDetails + httpMethod: get + tag: Employment Records Mexico + typeScriptTag: employmentRecordsMexico + description: Get an employment record's details + parameters: + - name: id + schema: string + required: true + description: The `employment-record.id` you want to get detailed information about. + example: ID + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: Employment record response payload + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/enrich/incomes + method: enrichUserIncomes + httpMethod: post + tag: Income Verification + typeScriptTag: incomeVerification + description: Verify incomes + parameters: + - name: language + schema: string + required: true + description: '' + example: pt + - name: transactions + schema: array + required: true + description: '' + - name: date_from + schema: string + required: false + description: '' + example: '2022-08-01' + - name: date_to + schema: string + required: false + description: '' + example: '2022-12-30' + - name: allowed_income_types + schema: array + required: false + description: '' + - name: minimum_confidence_level + schema: string + required: false + description: '' + example: HIGH + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: > + This error occurs when you try to access Belvo's resource without the + correct permissions. + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/categorization + method: categorizeTransactions + httpMethod: post + tag: Categorization + typeScriptTag: categorization + description: Categorize transactions + parameters: + - name: language + schema: string + required: true + description: '' + example: pt + - name: transactions + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: > + This error occurs when you try to access Belvo's resource without the + correct permissions. + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/credit-score + method: listAll + httpMethod: get + tag: Credit Score + typeScriptTag: creditScore + description: List all credit scores + parameters: + - name: page + schema: integer + description: A page number within the paginated result set. + example: 1 + - name: pageSize + schema: integer + 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 (https://developers.belvo.com. + example: 100 + default: 100 + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: account + schema: string + description: > + The `account.id` you want to filter by. + + + ℹ️ We highly recommend adding either the `link.id` or the `account.id` + filters in order to improve your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: accountIn + schema: array + description: Return results only for these `account.id`s. + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + - name: link + schema: string + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + - name: linkIn + schema: array + description: Return results only for these `link.id`s. + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - url: /api/credit-score + method: getByLink + httpMethod: post + tag: Credit Score + typeScriptTag: creditScore + description: Retrieve a credit score for a link + parameters: + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + - name: link + schema: string + required: true + description: '' + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + - name: date_to + schema: string + required: false + description: '' + example: '2023-02-28' + - name: save_data + schema: boolean + required: false + description: '' + default: true + responses: + - statusCode: '200' + description: Credit Score response + - statusCode: '201' + description: Credit Score response + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '408' + 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. + + - statusCode: '428' + description: '' + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + + - url: /api/credit-score/{id} + method: deleteSpecificScore + httpMethod: delete + tag: Credit Score + typeScriptTag: creditScore + description: Delete a credit score + parameters: + - name: id + schema: string + required: true + description: the `credit-score.id` that you want to delete + example: ID + responses: + - statusCode: '204' + description: No content + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/credit-score/{id} + method: getDetailsById + httpMethod: get + tag: Credit Score + typeScriptTag: creditScore + description: Get a credit score's details + parameters: + - name: id + schema: string + required: true + description: The `credit-score.id` you want to get detailed information about. + example: ID + - name: omit + schema: string + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2 + - name: fields + schema: string + description: >- + Return only the specified fields in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + example: field1,field2,field3 + responses: + - statusCode: '200' + description: Credit Score response + - statusCode: '401' + description: '' + - statusCode: '404' + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + - url: /api/enrich/credit-score + method: getUserCreditScore + httpMethod: post + tag: Credit Score (https://developers.belvo.com + typeScriptTag: creditScoreHttps:DevelopersBelvoCom + description: Retrieve Credit Score + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: > + This error occurs when you try to access Belvo's resource without the + correct permissions. + - statusCode: '500' + description: > + This error occurs when we (https://developers.belvo.com have + encountered an internal system error (sorry about that) or due to an + unsupported response from the institution. + +numberOfSchemas: 575 +apiDescription: > + # Introduction + + + 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: + + + + - **Bank information** such as account information, real-time + + balance, historical transactions, and account owner identification. + + + - **Fiscal information** such as received and sent invoices and tax returns. + + + + fiscal-endpoints + + + + In this API reference you'll find all the information you need about each + + + endpoint and resource. + + + +
+ + + Tip: Make sure that you also check out our Developer + + Portal for guides on how to get started, using our Sandbox environment, as well as how to integrate the widget or use our quickstart application. + + +
+ + + + ## Environment + + + We currently offer three environments: sandbox, development, and + + production. + + + + When using our SDKs, make sure to use the **Alias** (and not the Base URL). + + + + | Environment | Purpose | Access | + + |-----------|-------|-------| + + | **Sandbox** | The [Sandbox + environment](https://developers.belvo.com/docs/test-in-sandbox) is dedicated + for your testing and development phases. In this environment, you can create + links without real credentials and you can pull test data from all endpoints. + **⚠️The sandbox environment is refreshed frequently and your test data can be + updated or deleted.** | Base URL (cURL): https://sandbox.belvo.com/ +

Alias (SDKs): sandbox| + + |**Development**|The Development environment is dedicated for testing with + real credentials and institutions with real-world institutions. You can create + up to 25 links for free in this environment.| Base URL (cURL): + https://development.belvo.com/

Alias (SDKs): development | + + | **Production** | The Production environment is dedicated for live + applications with real connections to institutions. In this environment, you + + will need real credentials to create links and you will pull real data from + the institutions.| Base URL (cURL): https://api.belvo.com/

Alias + + (SDKs): production| + + + + For each environment, you'll need to [generate separate API + + keys](https://developers.belvo.com/docs/get-your-belvo-api-keys). + + + + ## 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 + 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 + + + + ### Error messages + + + + 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. Check the table below to see how to + + handle each error code. + + + - `field` *(optional)*: The specific field in the request body that has an + + issue. + + + + + ### Request identifier + + + When you need help with a specific error, add the request identifier + + (`request_id`) in your message to the Belvo support team. This will speed up + + investigations and get you back up and running in no time at all. + + + + ### Error codes and troubleshooting + + + + For a full list of errors and how to troubleshoot them, please see our + + dedicated [Error handling + + articles](https://developers.belvo.com/docs/integration-overview#error-handling) + + in our DevPortal. + + + + + ### Retry policy + + + + Please see our recommended [retry + + policies](https://developers.belvo.com/docs/integration-overview#error-retry-policy) + + in the DevPortal. diff --git a/sdks/db/category-cache.yaml b/sdks/db/category-cache.yaml index f5bb2e3c2d..9c5efb3386 100644 --- a/sdks/db/category-cache.yaml +++ b/sdks/db/category-cache.yaml @@ -263,3 +263,4 @@ apis: GetResponse-undefined: Email Podium-undefined: Reviews Brevo-undefined: CRM (Customer Relationship Management) + Belvo-undefined: Finance diff --git a/sdks/db/custom-request-last-fetched.yaml b/sdks/db/custom-request-last-fetched.yaml index f192748bf6..93cb31a33c 100644 --- a/sdks/db/custom-request-last-fetched.yaml +++ b/sdks/db/custom-request-last-fetched.yaml @@ -243,3 +243,4 @@ lastUpdated: getresponse.com: 2024-03-28T22:30:02.555Z podium.com: 2024-03-28T23:11:05.907Z brevo.com: 2024-03-28T23:17:22.210Z + belvo.com: 2024-03-28T23:22:05.031Z diff --git a/sdks/db/custom-request-specs/belvo.com.yaml b/sdks/db/custom-request-specs/belvo.com.yaml new file mode 100644 index 0000000000..1e0ead73d7 --- /dev/null +++ b/sdks/db/custom-request-specs/belvo.com.yaml @@ -0,0 +1,30552 @@ +openapi: 3.0.2 +info: + title: Belvo API Docs + version: 1.102.0 + description: > + # Introduction + + + 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: + + + + - **Bank information** such as account information, real-time + + balance, historical transactions, and account owner identification. + + + - **Fiscal information** such as received and sent invoices and tax returns. + + + + fiscal-endpoints + + + + In this API reference you'll find all the information you need about each + + + endpoint and resource. + + + +
+ + + Tip: Make sure that you also check out our Developer + + Portal for guides on how to get started, using our Sandbox environment, as well as how to integrate the widget or use our quickstart application. + + +
+ + + + ## Environment + + + We currently offer three environments: sandbox, development, and + + production. + + + + When using our SDKs, make sure to use the **Alias** (and not the Base URL). + + + + | Environment | Purpose | Access | + + |-----------|-------|-------| + + | **Sandbox** | The [Sandbox + environment](https://developers.belvo.com/docs/test-in-sandbox) is dedicated + for your testing and development phases. In this environment, you can create + links without real credentials and you can pull test data from all + endpoints. **⚠️The sandbox environment is refreshed frequently and your test + data can be updated or deleted.** | Base URL (cURL): + https://sandbox.belvo.com/

Alias (SDKs): sandbox| + + |**Development**|The Development environment is dedicated for testing with + real credentials and institutions with real-world institutions. You can + create up to 25 links for free in this environment.| Base URL (cURL): + https://development.belvo.com/

Alias (SDKs): development | + + | **Production** | The Production environment is dedicated for live + applications with real connections to institutions. In this environment, you + + will need real credentials to create links and you will pull real data from + the institutions.| Base URL (cURL): https://api.belvo.com/

Alias + + (SDKs): production| + + + + For each environment, you'll need to [generate separate API + + keys](https://developers.belvo.com/docs/get-your-belvo-api-keys). + + + + ## 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 + 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 + + + + ### Error messages + + + + 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. Check the table below to see how to + + handle each error code. + + + - `field` *(optional)*: The specific field in the request body that has an + + issue. + + + + + ### Request identifier + + + When you need help with a specific error, add the request identifier + + (`request_id`) in your message to the Belvo support team. This will speed up + + investigations and get you back up and running in no time at all. + + + + ### Error codes and troubleshooting + + + + For a full list of errors and how to troubleshoot them, please see our + + dedicated [Error handling + + articles](https://developers.belvo.com/docs/integration-overview#error-handling) + + in our DevPortal. + + + + + ### Retry policy + + + + Please see our recommended [retry + + policies](https://developers.belvo.com/docs/integration-overview#error-retry-policy) + + in the DevPortal. + 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 + - url: https://development.belvo.com + description: Development +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 Banamex retail banking or HSBC business + banking. + + - fiscal institution, such as the Servicio de Administración Tributaria + (SAT) in Mexico. + + + ![](https://files.readme.io/69a4676-Banking__Tax.png) + + + You can see a complete list of institutions by either consulting our + [Institutions article](https://developers.belvo.com/docs/institution) or + making a List request to this endpoint. + - name: Links + description: >- + A **Link** is a set of credentials associated to an end-user's access to + an **institution**. + + +
+ + Example: The username and password combination used to + log in to an online banking application would be a link. + +
+ + + You will need to register a **Link** before accessing information from + that specific end-user, such as account or transaction details. + + +
+ + Note: We recommend using our Connect Widget to handle link creation and link status + updates. + +
+ + + You have the possibility to register two types of links: + + + ### Recurrent links (default) + + + With recurrent links, Belvo automatically refreshes information weekly and + notifies you via [Webhooks](https://developers.belvo.com/docs/webhooks) so + you always have up-to-date data. Then, when you receive the webhook, you + can make GET requests to the List or Detail endpoints to instantly access + up-to-date information, without needing to connect to the institution. + + + fiscal-endpoints + + + You can also make POST calls directly to the institution, as with single + links, as soon as the link is created. However, we recommend you follow + the flow described above (waiting for the webhook event) for a more + optimal experience. + + + ### Single links + + + Single links are used to perform ad hoc data access to accounts, owners, + transactions, and so on. For example, you can use it when you want to do + an underwriting process to assess risk before lending money. + + + For single links, you have to perform POST calls to an institution **every + time** you want to access fresh data. + + + fiscal-endpoints + - name: Banking API introduction + description: > + Use our Banking API product to access account, balance, owner, bank + statement, as well as transaction data from banking institutions.
+ + + + ![](https://files.readme.io/894213c-Banking_and_Gig.png "Banking and + Gig.png") + + + + | API Endpoint | + Description + | Supported institutions | + + | --------------------------- | + ------------------------------------------------------------------------- + | ---------------------- | + + | `api/accounts/` | Get information about your customer's bank + accounts. | Banking | + + | `api/balances/` | Get the balance at the end of each day for + your customer's bank accounts. | Banking | + + | `api/owners/` | Get the details of an account + owner. | Banking | + + | `api/transactions/` | Get a list of bank transactions with + metadata. | Banking | + - name: Accounts + description: >- + An **account** is the representation of a bank account inside a financial + institution. A user can have one or more accounts in an institution. + + + For example, one user (or link) can have a checking account, several + credit cards, and a loan account. + + + Querying for a user's account information is useful as you can get + information regarding: + + + - what types of accounts the user has. + + - the balance for each account (savings, checking, credit card, loan, and + so on). + + - detailed information regarding their credit card spending. + + - the current situation of any loans they may have. + - name: Transactions + description: >- + A **transaction** contains the detailed information of each movement + inside an account. For example, a purchase at a store or a restaurant. + - name: Balances + description: >- + A **balance** represents the amount of funds available in a checking or + savings account over a period of time. + + + DEPRECATED + + + > 📘 + + > + + > Savings accounts that do not have any associated transactions (for + example, some _poupança_ accounts in Brazil) will not contain accurate + Balance information. We do not recommend using the Balance endpoint for + these types of accounts. + + > + + > Savings accounts vary from institution to institution, so we recommend + that you first use our [Retrieve transactions for a + link](https://developers.belvo.com/reference/retrievetransactions) + request, adding the `account` in the request body, to see if the Savings + account has any associated transactions. + - name: Owners + description: >- + An **owner** represents the person who has access to a Link and is the + owner of all the accounts inside the Link. + + + You can use this endpoint in order to get useful information about your + client, such as: + + + - their full name + + - key contact information + + - information about the ID document they used when opening the account + - name: Employment Records + description: "Our employment records\_resource for Mexico lets you get a comprehensive view of your user’s current social security contributions and employment history.\n\nWith Belvo's employment records resource for Mexico, you can access information about your user's current social security contributions and employment history. For the each user, we return the:\n\n- personal data\n- work history\n- historical and current daily base salary\n- and more!\n\nAt the moment, the employment records resource is available for:\n\n- 🇲🇽\_Mexico (IMSS)" + - name: Enrichment API introduction + description: >- + Belvo's Enrichment API are a set of endpoints that return additional + insights on your user's banking data. + + + - **Incomes**: Use this endpoint to verify your user's income. + + - **Recurring Expenses**: Use this endpoint to identify the recurrent + expenses (such as Netflix subscriptions) that your user pays. + + - **Risk Insights**: Use this endpoint to retrieve key data points to feed + into your risk evaluation models. + - name: Incomes + description: >- + Use the Incomes endpoint to gather insights on an account's income sources + for the past 365 days. The endpoint is particularly useful when you want + to verify a person's income. + + +
+ Info: The incomes resource is only available for Checking and Savings + accounts associated with banking links. +
+ - name: Recurring Expenses + description: >- + Belvo's Recurring Expenses API allows you to identify a user's regular + payments for subscription services, such as Netflix or gym memberships, as + well as utility payments, such as electricity or phone bills. We return + information for up to 365 days. + + +
+ Info: The recurring expenses resource is only available for Checking, Savings and Credit Card accounts associated with banking links. +
+ - name: Risk Insights + description: >- + Belvo's Risk Insights endpoint exposes a set of features that can be used + to improve your company's credit risk and opportunity decisions. + + + This set of features can be used as building blocks to create or iterate + on your credit score using transactional banking data to improve the + predictive power of your models. You can use these components as you + require and make the most sense for your specific use case. + + + We take up to 365 days of transactional data from the user's checking, + savings, loans, and credit card accounts to calculate the risk insights. + We perform calculations on this set of transactions and provide aggregate + metrics in the following periods: three days, one week, one month, three + months, six months, and twelve months. + + + > **Note**: Categorized transaction metrics period + + > + + > At present, for our categorized transaction metrics (`category_metrics`) + we only supply the calculated totals for the last three months. + + + + If you need to know the currency of the account, make a GET Details + request to the Accounts endpoint (using the account ID you receive from in + the accounts array of the response). + - name: EYOD API introduction + description: > + Our Enrich Your Own Data (EYOD) product provides you with enriched + transaction information and easy-to-use insights about your users + incomesfrom various sources, including open finance data or your own + dataset. + + + + + | API Endpoint | + Description + | + + | ---------------------------- | + ------------------------------------------------------------------------------------------------------------------------------------- + | + + | `api/categorization` | Enrich transactions with category, + subcategory, and merchant + information. | + + | `api/enrich/incomes` | Enrich transaction data from any source + and gather insights on your user's income sources and asses their future + income potential. | + + | `api/enrich/risk-insights` | Enrich transaction data from any source + and gather a set of features that can be used to improve your company's + credit risk and opportunity decisions | + - name: Categorization + description: >- + Our Categorization resource provides you with categorized information for + a transaction. You’ll need to send a POST Categorize Transactions request + with raw transactional information (such as amount, description, and + holder information) to which Belvo: + + - assigns a standardized category to each transaction + + - provides additional information about the merchant involved in the + transaction (name, logo, website URL) + + - name: Income Verification + description: >- + Verify your users' income and forecast their future income potential with + Belvo. Your only need to send trough a your raw transaction data and Belvo + returns: + + + - insights into your user’s multiple sources of income + + - a stability score that reflects the consistency and regularity of your + user’s income history + + - a confidence level for future income + - name: Fiscal API introduction + description: >- + Use our **Fiscal API** product to access invoices, tax compliance + statuses, tax returns, tax retentions, and tax statuses from the fiscal + authority in a given country. + + + | API Endpoint | + Description + | + + | ---------------------------- | + ------------------------------------------------------------------------------------------------------------------------------------- + | + + | `api/invoices/` | Get all the information about the + invoices sent and received by a person or a business that have been + certified by the tax authority. | + + | `api/tax-compliance-status/` | Get information about whether a person or + business is complying to their tax + obligations. | + + | `api/tax-compliance-status/` | Get tax declaration information for your + users. At the moment only available for 🇨🇴 DIAN + Colombia. | + + | `api/tax-returns/` | Get all the information about the tax + returns sent every year to the tax authority by a person or a + business. | + + | `api/tax-retentions/` | Get information about tax retention + invoices sent and received by a business or a + person. | + + | `api/tax-status/` | Get all the information about the tax + situation of a person or a + business. | + + +
+ + Note: You can only access this information with + fiscal links. + +
+ - name: Invoices + description: >- + An **invoice** is the representation of an electronic invoice, that can be + received or sent, by a business or an individual and has been uploaded to + the fiscal institution's website. Multiple INFLOW (invoice received) and + OUTFLOW (invoice sent) invoices can be retrieved inside each link coming + from a fiscal institution. + - name: Tax declarations + description: >- + Our Tax declarations endpoint lets you retrieve the electronic + representation of the tax declaration document emitted by a country's tax + authority. + + + At the moment, the Tax Declaration resource is available for: + + + - 🇨🇴 Colombia (DIAN) + - name: Tax returns + description: >- + A **tax return** is the representation of the tax return document sent + every year by a person or a business to the tax authority in the country. + + + The tax return data structure will be different depending on if it is + related to a person or a business (you will find examples for both in the + endpoints below). + - name: Tax status + description: >- + Our **Tax status** endpoint lets you retrieve information about a person's + or business's tax situation, according to the country's tax authority. + + + - For SAT (Mexico), this information is extracted from the _Constancia de + situación fiscal_ document. + + - For DIAN (Colombia), this information is extracted from the _Registro + Único Tributario_ document. + - name: Tax retentions + description: >- + A **tax retention** is the amount of money that the payer must deduct from + the total amount of a purchase invoice, according to the fiscal + institution’s regulations. + + + With Belvo’s Tax Retentions resource, you can quickly and easily consult + information regarding a user’s tax retentions over a given period or for a + specific invoice. This is particularly useful when you want to aid your + user in their tax returns as for each invoice you receive the: + + + - invoice amount + + - amount that is exempt from taxation + + - total amount that is taxed + + - breakdown of all the taxes applied to the invoice + - name: Tax compliance status + description: >- + A **tax compliance status** indicates about whether a person or business + is complying with their tax obligations at the moment of the request. The + information is extracted from SAT's _Opinion de cumplimiento de + Obligaciones Fiscales_ document. + - name: Credit Score + description: >- + # Credit score + + + Belvo's Credit Score (powered by FICO) resource allows you to receive an + industry-standard credit score based on a link's transactional and account + data. + + + > **Note**: At present, the credit score resource is **only** available + for OFDA Brazil links. + + + For any OFDA Brazil link, you can simply send through the `link` ID (with + an optional `date_to` parameter), and Belvo will respond with the + calculated credit score (provided there is at least 30 days of + transactional data available for the link). + + + Request Example + + ```json + + + { + "link": "2ccd5e15-194a-4a19-a45a-e7223c7e6717", // ID of the OFDA link. + "date_to": "2023-02-28", // Optional date until when you want the credit score to be calculated. + "save_data": true + } + + + ``` + + + Response Example + + ```json + + { + "id": "03a7b0d1-efc7-4ab8-981e-89e0c82db03ea", + "link": "30cb4806-6e00-48a4-91c9-ca55968576c8", + "created_at": "2020-04-23T21:32:55.336854+00:00", + "date_to": "2023-01-01", // Date until when transactional and account data were taken into account for the calculation + "score": 400, // The resulting credit score. + "reason_codes": [ + // Array of reasons for the credit score. + { + "code": "N02", + "description": "No description available for this reason code" + }, + { + "code": "C06", + "description": "Out of Pattern transaction checking deposit day" + } + ] + } + + ``` + + + + + ## Credit score reason_codes + + + Below is a possible list of `reason_codes` that we return for each credit + score result. + + + > Note: Each credit score result can have up to **four** `reason_codes`. + + + | Code | + Description + | + + | ---- | + -------------------------------------------------------------------------------------- + | + + | C01 | High checking spend with higher weekday + spend | + + | C02 | Multiple excessive spend over inflow with small spend + capability | + + | C03 | Multiple excessive spend over inflow with small checking + balance | + + | C04 | Repeated excessive spend over inflow with repeated higher loan + costs | + + | C05 | Low percentage of utility spend with low percentage of utility + spend | + + | C06 | Out of Pattern transaction checking deposit + day | + + | C07 | Higher weekday + spend | + + | C08 | High bank charge with high checking + spend | + + | C09 | High number of outflow transfers with low number of + deposits | + + | C10 | Reduction in recent utility + spend | + + | C11 | Large number of loan borrowed with high percentage of weekday + spend | + + | C12 | High restaurant spend with lower recent + deposits | + + | C13 | Multiple excessive spend over inflow with high loan + inflow | + + | C14 | Higher non-essential + spend | + + | C15 | High retail spend with high number of outflow + transfers | + + | C16 | High spend over inflow with multiple excessive spend over + inflow | + + | C17 | Multiple excessive spend over inflow with high credit card + balance | + + | C18 | Multiple excessive spend over inflow with high number of bank + charges | + + | C19 | Multiple excessive spend over + inflow | + + | C20 | High spend over inflow with high number of outflow + transfers | + + | C21 | Small spend + capability + | + + | C22 | Small checking + balance | + + | C23 | High credit card + balance | + + | C24 | High percentage of bank charges with reduction in recent utility + spend | + + | C25 | Low creditcard payment with lower inflow + value | + + | C26 | Higher spend with out of pattern transaction spend + day | + + | C27 | Lower inflow + value + | + + | C28 | Out of pattern transaction checking deposit amount and + day | + + | C29 | Out of pattern transaction checking deposit + day | + + | C30 | Multiple larger spend over inflow with high credit card + balance | + + | C31 | High credit card balance with large number of loan + costs | + + | C32 | Small inflow + value + | + + | C33 | High spend over inflow with small checking + balance | + + | C34 | High spend over + inflow | + + | C35 | Repeated lower net cash flow with lower inflow + value | + + | C36 | Small percentage of grocery + spend | + + | C37 | Small checking balance with higher credit card + spend | + + | C38 | Small checking balance with higher bank + charges | + + | C39 | Low net cash + flow + | + + | C40 | High credit card balance with multiple credit + cards | + + | C41 | High percentage credit card spend with high percentage of weekday + spend | + + | C42 | High credit card balance with high percentage of weekday + spend | + + | C43 | Higher spend over + inflow | + + | N01 | No transactions from checking + accounts | + + | N02 | Less than thirty days history of transactions across checking and + credit card accounts | + + | N03 | Less than fewer than thirty transactions across checking and + credit card accounts | + - name: Credit Score (EYOD) + description: >- + Belvo's Credit Score (powered by FICO) resource allows you to receive an + industry-standard credit score based on your customer's *raw* + transactional and account data. + + + **Request example:** + + + For details regarding the request body for EYOD Credit Score, see our API + reference documentation. + + + ```json + + [ + { + "user_id": "AGH7890098789087", + "reference_date": "2023-06-01", + "language": "pt", + "transactions": [ // Up to 10,000 transactions (each transaction must be associated with an account) + { + "transaction_id": "3CWE4927CF15355", + "account_id": "AGH7890098789087-Checking-Erebor", + "value_date": "2023-05-18", + "type": "INFLOW", + "amount": 650.89, + "currency": "BRL", + "description": "Pagamento Netflix Maio 2023" + } + ], + "accounts": [ + { + "id": "AGH7890098789087-Checking-Erebor", + "category": "CHECKING_ACCOUNT", + "balance": 12540.67, + "balance_date": "2023-06-01", + "currency": "BRL" + } + ] + } + ] + + + ``` + + + + **Response example:** + + + Once you send through the raw data, Belvo will analyze and calculate your + customer's credit score (a value between 350 and 750) along with up to + *four* reasons for the calculated score. + + + ```json + + { + "id": "03a7b0d1-efc7-4ab8-981e-89e0c82db03ea", + "link": "30cb4806-6e00-48a4-91c9-ca55968576c8", + "created_at": "2020-04-23T21:32:55.336854+00:00", + "date_to": "2023-01-01", // Date until when transactional and account data where taken into account for the calculation + "score": 400, // The resulting credit score. + "reason_codes": [ + // Array of reasons for the credit score. + { + "code": "N02", + "description": "No description available for this reason code" + }, + { + "code": "C06", + "description": "Out of Pattern transaction checking deposit day" + } + ] + } + + ``` + + + + + + + ## Credit score reason_codes + + + Below is a possible list of `reason_codes` that we return for each credit + score result. + + + > Note: Each credit score result can have up to four `reason_codes`. + + + | Code | + Description + | + + | ---- | + -------------------------------------------------------------------------------------- + | + + | C01 | High checking spend with higher weekday + spend | + + | C02 | Multiple excessive spend over inflow with small spend + capability | + + | C03 | Multiple excessive spend over inflow with small checking + balance | + + | C04 | Repeated excessive spend over inflow with repeated higher loan + costs | + + | C05 | Low percentage of utility spend with low percentage of utility + spend | + + | C06 | Out of Pattern transaction checking deposit + day | + + | C07 | Higher weekday + spend | + + | C08 | High bank charge with high checking + spend | + + | C09 | High number of outflow transfers with low number of + deposits | + + | C10 | Reduction in recent utility + spend | + + | C11 | Large number of loan borrowed with high percentage of weekday + spend | + + | C12 | High restaurant spend with lower recent + deposits | + + | C13 | Multiple excessive spend over inflow with high loan + inflow | + + | C14 | Higher non-essential + spend | + + | C15 | High retail spend with high number of outflow + transfers | + + | C16 | High spend over inflow with multiple excessive spend over + inflow | + + | C17 | Multiple excessive spend over inflow with high credit card + balance | + + | C18 | Multiple excessive spend over inflow with high number of bank + charges | + + | C19 | Multiple excessive spend over + inflow | + + | C20 | High spend over inflow with high number of outflow + transfers | + + | C21 | Small spend + capability + | + + | C22 | Small checking + balance | + + | C23 | High credit card + balance | + + | C24 | High percentage of bank charges with reduction in recent utility + spend | + + | C25 | Low creditcard payment with lower inflow + value | + + | C26 | Higher spend with out of pattern transaction spend + day | + + | C27 | Lower inflow + value + | + + | C28 | Out of pattern transaction checking deposit amount and + day | + + | C29 | Out of pattern transaction checking deposit + day | + + | C30 | Multiple larger spend over inflow with high credit card + balance | + + | C31 | High credit card balance with large number of loan + costs | + + | C32 | Small inflow + value + | + + | C33 | High spend over inflow with small checking + balance | + + | C34 | High spend over + inflow | + + | C35 | Repeated lower net cash flow with lower inflow + value | + + | C36 | Small percentage of grocery + spend | + + | C37 | Small checking balance with higher credit card + spend | + + | C38 | Small checking balance with higher bank + charges | + + | C39 | Low net cash + flow + | + + | C40 | High credit card balance with multiple credit + cards | + + | C41 | High percentage credit card spend with high percentage of weekday + spend | + + | C42 | High credit card balance with high percentage of weekday + spend | + + | C43 | Higher spend over + inflow | + + | N01 | No transactions from checking + accounts | + + | N02 | Less than thirty days history of transactions across checking and + credit card accounts | + + | N03 | Less than fewer than thirty transactions across checking and + credit card accounts | +paths: + /api/links/: + get: + tags: + - Links + operationId: ListLinks + summary: List all links + description: > + Get a paginated list of all the existing links in your Belvo account. By + default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/institution' + - $ref: '#/components/parameters/institution__in' + - $ref: '#/components/parameters/access_mode' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/created_by__not_in' + - $ref: '#/components/parameters/external_id' + - $ref: '#/components/parameters/external_id__in' + - $ref: '#/components/parameters/institution_user_id' + - $ref: '#/components/parameters/institution_user_id__in' + - $ref: '#/components/parameters/refresh_rate' + - $ref: '#/components/parameters/status_links' + - $ref: '#/components/parameters/status__in_links' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedResponseLink' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Links + operationId: RegisterLink + summary: Register a new link + description: > + Register a new link with your Belvo account. + + +
+ + Note: We recommend using our Connect Widget to handle link creation and link + status updates. + +
+ parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LinksRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + 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/InvalidLinkError' + - $ref: '#/components/schemas/400InvalidCredentialsStorageError' + - $ref: '#/components/schemas/400InvalidFetchHistorical' + - $ref: '#/components/schemas/400InvalidResourcesError' + - $ref: '#/components/schemas/UnconfirmedLinkError' + - $ref: '#/components/schemas/UnsupportedOperationError' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Links + operationId: PatchLinks + summary: Complete a links request + description: > + Used to resume a Link register session that was paused because an MFA + token + + was required by the institution. + parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBodyWithoutSaveData' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/links/{id}/: + get: + tags: + - Links + operationId: DetailLink + summary: Get a link's details + description: Get the details of a specific link. + parameters: + - name: id + in: path + required: true + schema: + type: string + format: uuid + description: The `link.id` you want to get detailed information about. + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + patch: + tags: + - Links + operationId: ChangeLinkAccessMode + summary: Change a link's access mode + description: > + Change a link's access mode from `single` to `recurrent` or from + `recurrent` to single. + + + ℹ️ **Note**: When you change a link from `single` to `recurrent`, they + will only be updated the next day at the scheduled interval. + parameters: + - name: id + in: path + required: true + schema: + type: string + format: uuid + example: e4bb1afb-4a4f-4dd6-8be0-e615d233185b + description: The `link.id` you want to change the `access_mode` for. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChangeAccessMode' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/InvalidAccessMode' + - $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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + put: + tags: + - Links + operationId: UpdateLink + summary: Update a link's credentials + description: > + Update the credentials of a specific link. If the successfully updated + link is a recurrent one, we automatically trigger an update of the link. + If we find fresh data, you'll [receive historical + update](https://developers.belvo.com/docs/webhooks) webhooks. + +
Note: We recommend using our Connect Widget to handle updating + invalid or token_required links.
+ parameters: + - name: id + in: path + required: true + schema: + type: string + format: uuid + description: The `link.id` you want to update. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LinksPutRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + delete: + tags: + - Links + operationId: DestroyLink + summary: Delete a link + description: > + Delete a specific link and all associated accounts, transactions, and + owners + + from your Belvo account. + + + # Deleting links in batches + + + To delete links in bulk, we recommend looping through the list of links + you want to delete and making the delete request. + + > 🚧 **Rate limiting and IP blocking** + > + > An important technical note for performing operations in batches is to take into consideration our rate-limiting: up to 80 requests every 30 seconds. If you exceed this limit, you run the risk of Belvo blocking your IP from making further requests. + > + > For more information, or if your IP address has been blocked, please contact our [support team](https://support.belvo.com/hc/en-us/requests/new). + parameters: + - name: id + in: path + required: true + schema: + type: string + format: uuid + description: The `link.id` that you want to delete. + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/accounts/: + get: + tags: + - Accounts + operationId: ListAccounts + summary: List all accounts + description: > + Get a paginated list of all existing accounts in your Belvo account. By + default, we return up to 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/pageSize_query' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/balance__available' + - $ref: '#/components/parameters/balance__available__lt' + - $ref: '#/components/parameters/balance__available__lte' + - $ref: '#/components/parameters/balance__available__gt' + - $ref: '#/components/parameters/balance__available__gte' + - $ref: '#/components/parameters/balance__available__range' + - $ref: '#/components/parameters/balance__current' + - $ref: '#/components/parameters/balance__current__lt' + - $ref: '#/components/parameters/balance__current__lte' + - $ref: '#/components/parameters/balance__current__gt' + - $ref: '#/components/parameters/balance__current__gte' + - $ref: '#/components/parameters/balance__current__range' + - $ref: '#/components/parameters/category' + - $ref: '#/components/parameters/category__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/currency__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/institution' + - $ref: '#/components/parameters/institution__in' + - $ref: '#/components/parameters/name_accounts' + - $ref: '#/components/parameters/name__icontains' + - $ref: '#/components/parameters/number_accounts' + - $ref: '#/components/parameters/number__in_accounts' + - $ref: '#/components/parameters/public_identification_name' + - $ref: '#/components/parameters/public_identification_value' + - $ref: '#/components/parameters/type_accounts' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/AccountsPaginatedResponse' + - $ref: >- + #/components/schemas/AccountsPaginatedResponseOpenFinanceBrazil + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Accounts + operationId: RetrieveAccounts + summary: Retrieve accounts for a link + description: > + Retrieve accounts from an existing link. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StandardRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Accounts + operationId: PatchAccounts + summary: Complete an accounts request + description: > + Used to resume an Account retrieve session that was paused because an + MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/accounts/{id}/: + get: + tags: + - Accounts + operationId: DetailAccount + summary: Get an account's details + description: > + Get the details of a specific account. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - name: id + in: path + required: true + description: The `account.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaCheckingDetail' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCardDetail' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanDataDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Accounts + operationId: DestroyAccount + summary: Delete an account + description: > + Delete a specific account from your Belvo account. + + + > ℹ️ **Note**: When you delete an account, all the associated + transactions and owner information for that account are also removed. + parameters: + - name: id + in: path + required: true + description: The `account.id` you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/transactions/: + get: + tags: + - Transactions + operationId: ListTransactions + summary: List all transactions + description: > + Get a paginated list of all existing transactions in your Belvo account. + By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link__required' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/account__balance__available' + - $ref: '#/components/parameters/account__balance__available__lt' + - $ref: '#/components/parameters/account__balance__available__lte' + - $ref: '#/components/parameters/account__balance__available__gt' + - $ref: '#/components/parameters/account__balance__available__gte' + - $ref: '#/components/parameters/account__balance__available__range' + - $ref: '#/components/parameters/account__balance__current' + - $ref: '#/components/parameters/account__balance__current__gt' + - $ref: '#/components/parameters/account__balance__current__gte' + - $ref: '#/components/parameters/account__balance__current__lt' + - $ref: '#/components/parameters/account__balance__current__lte' + - $ref: '#/components/parameters/account__balance__current__range' + - $ref: '#/components/parameters/account_type' + - $ref: '#/components/parameters/account_type__in' + - $ref: '#/components/parameters/accounting_date' + - $ref: '#/components/parameters/accounting_date__gt' + - $ref: '#/components/parameters/accounting_date__gte' + - $ref: '#/components/parameters/accounting_date__lt' + - $ref: '#/components/parameters/accounting_date__lte' + - $ref: '#/components/parameters/accounting_date__range' + - $ref: '#/components/parameters/amount' + - $ref: '#/components/parameters/amount__gt' + - $ref: '#/components/parameters/amount__gte' + - $ref: '#/components/parameters/amount__lt' + - $ref: '#/components/parameters/amount__lte' + - $ref: '#/components/parameters/amount__range' + - $ref: '#/components/parameters/collected_at' + - $ref: '#/components/parameters/collected_at__gt' + - $ref: '#/components/parameters/collected_at__gte' + - $ref: '#/components/parameters/collected_at__lt' + - $ref: '#/components/parameters/collected_at__lte' + - $ref: '#/components/parameters/collected_at__range' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/currency__in' + - $ref: '#/components/parameters/credit_card_data__bill_name__in' + - $ref: '#/components/parameters/reference' + - $ref: '#/components/parameters/reference__in' + - $ref: '#/components/parameters/status_transactions' + - $ref: '#/components/parameters/status__in_transactions' + - $ref: '#/components/parameters/type_transactions' + - $ref: '#/components/parameters/type__in_transactions' + - $ref: '#/components/parameters/value_date' + - $ref: '#/components/parameters/value_date__gt' + - $ref: '#/components/parameters/value_date__gte' + - $ref: '#/components/parameters/value_date__lt' + - $ref: '#/components/parameters/value_date__lte' + - $ref: '#/components/parameters/value_date__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TransactionsPaginatedResponse' + - $ref: >- + #/components/schemas/TransactionsPaginatedResponseOpenFinanceBrazil + examples: + TransactionsCheckingPaginated: + $ref: '#/components/examples/TransactionsCheckingPaginated' + TransactionsSavingsPaginated: + $ref: '#/components/examples/TransactionsSavingsPaginated' + TransactionsCreditCardPaginated: + $ref: '#/components/examples/TransactionsCreditCardPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Transactions + operationId: RetrieveTransactions + summary: Retrieve transactions for a link + description: > + Retrieve transactions for one or more accounts from a specific link. + +
Info: When retrieving + transactions, it is important to understand that the available + transaction data ranges depend on each institution.

+ + If you try to access older information than what we can access, we will + return all the data we can read within that date range. For example, if + you request transactions for the last year and we can only access the + last six months, we will return the information corresponding to these + six months of data.
+ parameters: + - in: header + name: X-Belvo-Request-Mode + schema: + type: string + enum: + - async + description: > + Recommended header parameter to make your POST request to retrieve + transactions asynchronous (thus preventing timeouts). + + + When you make a asynchronous request, Belvo responds with a `202 - + Accepted` payload, including the `request_id`. Once we have + retrieved the transaction information, you will receive a + `new_transactions_available` webhook with the link and request + IDs. + + + + **Note**: This parameter is case sensitive (in other words, if you + write `ASYNC`, then Belvo will default to a synchronous call). + example: async + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '202': + description: Accepted (when `X-Belvo-Request-Mode` is `async`) + content: + application/json: + schema: + $ref: '#/components/schemas/AsynchronousAccepted202' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Transactions + operationId: PatchTransactions + summary: Complete a transactions request + description: > + Used to resume a Transaction retrieve session that was paused because an + MFA + + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/transactions/{id}/: + get: + tags: + - Transactions + operationId: DetailTransaction + summary: Get a transaction's details + description: Get the details of a specific transaction. + parameters: + - name: id + in: path + required: true + description: The `transaction.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsCheckingDetail' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavingsDetail' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCardDetail' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfdaDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Transactions + operationId: DestroyTransaction + summary: Delete a transaction + description: Delete a specific transaction from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `transaction.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/balances/: + get: + tags: + - Balances + operationId: ListBalances + summary: List all balances + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + Get a paginated list of all existing balances in your Belvo account. By + default, we return up to 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/account__type' + - $ref: '#/components/parameters/account__type__in' + - $ref: '#/components/parameters/balance' + - $ref: '#/components/parameters/balance__lt' + - $ref: '#/components/parameters/balance__lte' + - $ref: '#/components/parameters/balance__gt' + - $ref: '#/components/parameters/balance__gte' + - $ref: '#/components/parameters/balance__range' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/currency__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/institution' + - $ref: '#/components/parameters/institution__in' + - $ref: '#/components/parameters/value_date' + - $ref: '#/components/parameters/value_date__gt' + - $ref: '#/components/parameters/value_date__gte' + - $ref: '#/components/parameters/value_date__lt' + - $ref: '#/components/parameters/value_date__lte' + - $ref: '#/components/parameters/value_date__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesPaginatedResponse' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExamplePaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Balances + operationId: RetrieveBalances + summary: Retrieve balances for a link + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + + Retrieve balances from one or more accounts for a specific link within a + + specified date range. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Balances + operationId: PatchBalances + summary: Complete a balances request + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + Used to resume a Balance retrieve session that was paused because an MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/balances/{id}/: + get: + tags: + - Balances + operationId: DetailBalance + summary: Get a balance's details + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + + Get the details of a specific balance. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - name: id + in: path + required: true + description: The `balance.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExampleDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Balances + operationId: DestroyBalance + summary: Delete a balance + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + Delete a specific balance from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `balance.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/institutions/: + get: + tags: + - Institutions + operationId: ListInstitutions + summary: List all institutions + description: > + Get a paginated list of all the institutions currently supported by + Belvo. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $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: + $ref: '#/components/schemas/InstitutionsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_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/Institution' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/owners/: + get: + tags: + - Owners + operationId: ListOwners + summary: List all owners + description: > + Get a paginated list of all existing owners in your Belvo account. We + return + + up to 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/email' + - $ref: '#/components/parameters/display_name__icontains' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/OwnersPaginatedResponse' + - $ref: >- + #/components/schemas/OwnersIndividualPaginatedResponseOpenFinanceBrazil + - $ref: >- + #/components/schemas/OwnersBusinessPaginatedResponseOpenFinanceBrazil + examples: + OwnerBankingAccountPaginated: + $ref: '#/components/examples/OwnerBankingAccountPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Owners + operationId: RetrieveOwners + summary: Retrieve owners for a link + description: > + Retrieve owner information from a specific link. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StandardRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Owners + operationId: PatchOwners + summary: Complete an owners request + description: > + Used to resume an Owner retrieve session that was paused because an MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/owners/{id}/: + get: + tags: + - Owners + operationId: DetailOwner + summary: Get an owner's details + description: > + Get the details of a specific owner. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - name: id + in: path + required: true + description: The `owner.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccountDetail' + OwnerIndividualOfdaDetails: + $ref: '#/components/examples/OwnerOfdaIndividuaDetail' + OwnerBusinessOfdaDetails: + $ref: '#/components/examples/OwnerOfdaBusinessDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Owners + operationId: DestroyOwner + summary: Delete an owner + description: Delete a specific owner from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `owner.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/invoices/: + get: + tags: + - Invoices + operationId: ListInvoices + description: > + Get a paginated list of all existing invoices in your Belvo account. By + default, we + + return 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + summary: List all invoices + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/invoice_date' + - $ref: '#/components/parameters/invoice_date__lt' + - $ref: '#/components/parameters/invoice_date__lte' + - $ref: '#/components/parameters/invoice_date__gt' + - $ref: '#/components/parameters/invoice_date__gte' + - $ref: '#/components/parameters/invoice_date__range' + - $ref: '#/components/parameters/invoice_identification' + - $ref: '#/components/parameters/invoice_identification__in' + - $ref: '#/components/parameters/status_invoice' + - $ref: '#/components/parameters/status__in_invoice' + - $ref: '#/components/parameters/type_invoice' + - $ref: '#/components/parameters/type__in_invoice' + - $ref: '#/components/parameters/total_amount' + - $ref: '#/components/parameters/total_amount__lt' + - $ref: '#/components/parameters/total_amount__lte' + - $ref: '#/components/parameters/total_amount__gt' + - $ref: '#/components/parameters/total_amount__gte' + - $ref: '#/components/parameters/total_amount__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesResponsePaginatedResponse' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngresoPaginated' + InvoicePago: + $ref: '#/components/examples/InvoicePagoPaginated' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNominaPaginated' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgresoPaginated' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTrasladoPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Invoices + operationId: RetrieveInvoices + summary: Retrieve invoices for a link + description: > + Retrieve invoice information from a specific fiscal link. + +
Info: You can ask for up to + one year (365 days) of invoices per request. If you need invoices + for more than one year, just make another request.
+ + ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - in: header + name: X-Belvo-Request-Mode + schema: + type: string + enum: + - async + description: > + Recommended header parameter to make your POST request to retrieve + invoices asynchronous (thus preventing timeouts). + + + When you make a asynchronous request, Belvo responds with a `202 - + Accepted` payload, including the `request_id`. Once we have + retrieved the invoice information, you will receive a + `new_invoices_available` webhook with the link and request IDs. + + + + **Note**: This parameter is case sensitive (in other words, if you + write `ASYNC`, then Belvo will default to a synchronous call). + example: async + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngreso' + InvoicePago: + $ref: '#/components/examples/InvoicePago' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNomina' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgreso' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTraslado' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngreso' + InvoicePago: + $ref: '#/components/examples/InvoicePago' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNomina' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgreso' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTraslado' + '202': + description: Accepted (when `X-Belvo-Request-Mode` is `async`) + content: + application/json: + schema: + $ref: '#/components/schemas/AsynchronousAccepted202' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Invoices + operationId: PatchInvoices + summary: Complete an invoices request + description: > + Used to resume an Invoice retrieve session that was paused because an + MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/invoices/{id}/: + get: + tags: + - Invoices + operationId: DetailInvoice + summary: Get an invoice's details + description: > + Get the details of a specific invoice. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - name: id + in: path + required: true + description: The `invoice.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngresoDetail' + InvoicePago: + $ref: '#/components/examples/InvoicePagoDetail' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNominaDetail' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgresoDetail' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTrasladoDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Invoices + operationId: DestroyInvoice + summary: Delete an invoice + description: Delete a specific invoice from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `invoice.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/tax-returns/: + get: + tags: + - Tax returns + operationId: ListTaxReturns + summary: List all tax returns + description: > + Get a paginated list of all existing tax returns in your Belvo account. + By default, we return up to 100 results per page. The results will + include a mix of both + + monthly and yearly tax returns. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/ejercicio' + - $ref: '#/components/parameters/ejercicio__lt' + - $ref: '#/components/parameters/ejercicio__lte' + - $ref: '#/components/parameters/ejercicio__gt' + - $ref: '#/components/parameters/ejercicio__gte' + - $ref: '#/components/parameters/ejercicio__range' + - $ref: '#/components/parameters/tipo_declaracion' + - $ref: '#/components/parameters/tipo_declaracion__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TaxReturnsPersonalPaginated' + - $ref: '#/components/schemas/TaxReturnsPersonalMonthlyPaginated' + - $ref: '#/components/schemas/TaxReturnsBusinessPaginated' + - $ref: '#/components/schemas/TaxReturnsBusinessMonthlyPaginated' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalListPaginated' + TaxReturnPersonalMonthlyPFAE: + $ref: >- + #/components/examples/TaxReturnPersonalListMonthlyPaginatedPFAE + TaxReturnPersonalMonthlyPFAI: + $ref: >- + #/components/examples/TaxReturnPersonalListMonthlyPaginatedPFAI + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessListPaginated' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthlyPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Tax returns + operationId: RetrieveTaxReturns + summary: Retrieve tax returns for a link + description: Retrieve tax return information for a specific fiscal link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TaxReturnsMonthlyRequest' + - $ref: '#/components/schemas/TaxReturnsYearlyRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxReturnPersonal' + - $ref: '#/components/schemas/TaxReturnPersonalMonthly' + - $ref: '#/components/schemas/TaxReturnBusiness' + - $ref: '#/components/schemas/TaxReturnBusinessMonthly' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalList' + TaxReturnPersonalMonthlyPFAE: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAE' + TaxReturnPersonalMonthlyPFAI: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAI' + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessList' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthly' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxReturnPersonal' + - $ref: '#/components/schemas/TaxReturnPersonalMonthly' + - $ref: '#/components/schemas/TaxReturnBusiness' + - $ref: '#/components/schemas/TaxReturnBusinessMonthly' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalList' + TaxReturnPersonalMonthlyPFAE: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAE' + TaxReturnPersonalMonthlyPFAI: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAI' + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessList' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthly' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/tax-returns/{id}/: + get: + tags: + - Tax returns + operationId: DetailTaxReturn + summary: Get a tax return's details + description: Get the details of a specific tax return. + parameters: + - name: id + in: path + required: true + description: The `tax-return.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TaxReturnPersonal' + - $ref: '#/components/schemas/TaxReturnPersonalMonthly' + - $ref: '#/components/schemas/TaxReturnBusiness' + - $ref: '#/components/schemas/TaxReturnBusinessMonthly' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalListDetail' + TaxReturnPersonalMonthlyPFAE: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAEDetail' + TaxReturnPersonalMonthlyPFAI: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAIDetail' + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessListDetail' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthlyDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Tax returns + operationId: DestroyTaxReturn + summary: Delete a tax return + description: Delete a specific tax return from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The ID of the tax return you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/tax-status/: + get: + tags: + - Tax status + operationId: ListTaxStatus + summary: List all tax statuses + description: > + Get a paginated list of all existing tax status in your Belvo account. + By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusPaginatedResponse' + examples: + TaxStatusPersonalListPaginated: + $ref: '#/components/examples/TaxStatusPersonalListPaginated' + TaxStatusBusinessListPaginated: + $ref: '#/components/examples/TaxStatusBusinessListPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Tax status + operationId: RetrieveTaxStatus + summary: Retrieve tax statuses for a link + description: Retrieve tax status information for a specific fiscal link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + examples: + TaxStatusPersonal: + $ref: '#/components/examples/TaxStatusPersonalList' + TaxStatusBusiness: + $ref: '#/components/examples/TaxStatusBusinessList' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + examples: + TaxStatusPersonal: + $ref: '#/components/examples/TaxStatusPersonalList' + TaxStatusBusiness: + $ref: '#/components/examples/TaxStatusBusinessList' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/tax-status/{id}/: + get: + tags: + - Tax status + operationId: DetailTaxStatus + summary: Get a tax status's details + description: Get the details of a specific tax status. + parameters: + - name: id + in: path + required: true + description: The `tax-status.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + examples: + TaxStatusPersonal: + $ref: '#/components/examples/TaxStatusPersonalList' + TaxStatusBusiness: + $ref: '#/components/examples/TaxStatusBusinessList' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Tax status + operationId: DestroyTaxStatus + summary: Delete a tax status + description: Delete a specific tax status from your Belvo account. + parameters: + - name: id + in: path + required: true + description: the `tax-status.id` that you want to delete + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/tax-compliance-status/: + get: + tags: + - Tax compliance status + operationId: ListTaxComplianceStatus + summary: List all tax compliance statuses + description: > + Get a paginated list of all existing Tax compliance statuses in your + Belvo account. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatusPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Tax compliance status + operationId: RetrieveTaxComplianceStatus + summary: Retrieve tax compliance statuses for a link + description: >- + Retrieve the Tax compliance status information for a specific fiscal + link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatusRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatus' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatus' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/tax-compliance-status/{id}/: + get: + tags: + - Tax compliance status + operationId: DetailTaxComplianceStatus + summary: Get a tax compliance status's details + description: Get the details of a specific Tax compliance status. + parameters: + - name: id + in: path + required: true + description: | + The `tax-compliance-status.id` you want to get detailed information + about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatus' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Tax compliance status + operationId: DestroyTaxComplianceStatus + summary: Delete a tax compliance status + description: Delete a specific Tax compliance status from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `tax-compliance-status.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/incomes/: + get: + tags: + - Incomes + operationId: ListIncomes + summary: List all incomes + description: > + Get a paginated list of all incomes in your Belvo account. By default, + we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Incomes + operationId: RetrieveIncome + summary: Retrieve incomes for a link + description: | + Retrieve income insights for checking and savings accounts from a + specific link. You can receive insights for a period of up to 365 days, + depending on the transaction history available for each + [bank](https://developers.belvo.com/docs/institution). + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/Income' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/Income' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Incomes + operationId: PatchIncomes + summary: Complete an incomes request + description: | + Used to resume an Income retrieve session that was paused because an MFA + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Income' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Income' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/incomes/{id}/: + get: + tags: + - Incomes + operationId: DetailIncome + summary: Get an income's details + description: Get the details of a specific income. + parameters: + - name: id + in: path + required: true + description: The `income.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Income' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Incomes + operationId: DestroyIncomes + summary: Delete an income + description: Delete a specific income from your Belvo account. + parameters: + - name: id + in: path + required: true + description: the `income.id` that you want to delete + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/recurring-expenses/: + get: + tags: + - Recurring Expenses + operationId: ListRecurringExpenses + summary: List all recurring expenses + description: > + Get a paginated list of all recurring expenses in your Belvo account. By + default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Recurring Expenses + operationId: RetrieveRecurringExpenses + summary: Retrieve recurring expenses for a link + description: > + Retrieve recurring expense insights for checking and savings + accounts from a + + specific link. You can receive insights for a period of up to 365 days, + + depending on the transaction history available for each + + [bank](https://developers.belvo.com/docs/institution). + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesRequest' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Recurring Expenses + operationId: PatchRecurringExpenses + summary: Complete a recurring expenses request + description: > + Used to resume an Recurring Expenses retrieve session that was paused + because an MFA + + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/recurring-expenses/{id}/: + get: + tags: + - Recurring Expenses + operationId: DetailRecurringExpense + summary: Get a recurring expense's details + description: Get the details of a specific recurring expense. + parameters: + - name: id + in: path + required: true + description: >- + The `recurring-expenses.id` you want to get detailed information + about. + schema: + type: string + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Recurring Expenses + operationId: DestroyRecurringExpense + summary: Delete a recurring expense + description: Delete a specific recurring expense from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `recurring-expenses.id` that you want to delete + schema: + type: string + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/risk-insights/: + get: + tags: + - Risk Insights + operationId: ListRiskInsights + summary: List all risk insights + description: > + Get a paginated list of all risk insight analyses in your Belvo account. + By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsightsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Risk Insights + operationId: RetrieveRiskInsights + summary: Retrieve risk insights for a link + description: > + Request the risk insights for a given link ID. + + + + If you need to know the currency of the account, just do a GET Details + to the accounts endpoint (using the ID you receive from the accounts + response). + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StandardRequest' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsights' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsights' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Risk Insights + operationId: PatchRiskInsights + summary: Complete a risk insights request + description: > + Used to resume an Risk insights retrieve session that was paused because + an MFA + + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RiskInsights' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RiskInsights' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/risk-insights/{id}/: + get: + tags: + - Risk Insights + operationId: DetailRiskInsights + summary: Get a risk insight's details + description: Get the details of a specific risk insight. + parameters: + - name: id + in: path + required: true + description: The `risk-insights.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RiskInsights' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Risk Insights + operationId: DestroyRiskInsights + summary: Delete a risk insight + description: Delete a specific risk insight from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `risk-insights.id` that you want to delete + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/tax-retentions/: + get: + tags: + - Tax retentions + operationId: ListTaxRetentions + summary: List all tax retentions + description: | + Get a paginated list of all existing tax retentions in your Belvo + account. We return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentionsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Tax retentions + operationId: RetrieveTaxRetentions + summary: Retrieve tax retentions for a link + description: >- + Retrieve tax retention information from a specific link. The maximum + number of tax retentions that can be returned for a period is 500. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentionsRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TaxRetentions' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TaxRetentions' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/tax-retentions/{id}/: + get: + tags: + - Tax retentions + operationId: DetailTaxRetentions + summary: Get a tax retention's details + description: Get the details of a specific tax retention. + parameters: + - name: id + in: path + required: true + description: | + The `tax-retention.id` you want to get detailed information + about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentions' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Tax retentions + operationId: DestroyTaxRetention + summary: Delete a tax retention + description: Delete a specific tax retention from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `tax-retention.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/tax-declarations/: + get: + tags: + - Tax declarations + operationId: ListTaxDeclarations + summary: List all tax declarations + description: > + Get a paginated list of all existing tax declarations in your Belvo + account. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/year' + - $ref: '#/components/parameters/year__gt' + - $ref: '#/components/parameters/year__gte' + - $ref: '#/components/parameters/year__lt' + - $ref: '#/components/parameters/year__lte' + - $ref: '#/components/parameters/year__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationIndividualPaginated' + - $ref: '#/components/schemas/TaxDeclarationBusinessPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Tax declarations + operationId: RetrieveTaxDeclarations + summary: Retrieve tax declarations for a link + description: Retrieve tax declaration information for a specific fiscal link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxDeclarationsRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationBusiness' + - $ref: '#/components/schemas/TaxDeclarationIndividual' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationBusiness' + - $ref: '#/components/schemas/TaxDeclarationIndividual' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/tax-declarations/{id}/: + get: + tags: + - Tax declarations + operationId: DetailTaxDeclaration + summary: Get a tax declaration's details + description: Get the details of a specific Tax declaration. + parameters: + - name: id + in: path + required: true + description: | + The `tax-declaration.id` you want to get detailed information + about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationIndividual' + - $ref: '#/components/schemas/TaxDeclarationBusiness' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Tax declarations + operationId: DestroyTaxDeclaration + summary: Delete a tax declration + description: Delete a specific Tax declaration from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `tax-declration.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/employment-records/: + get: + tags: + - Employment Records Mexico + operationId: ListEmploymentRecords + summary: List all employment records + description: > + Get a paginated list of all existing employment records in your Belvo + account. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/internal_identification' + - $ref: '#/components/parameters/internal_identification__in' + - $ref: '#/components/parameters/collected_at' + - $ref: '#/components/parameters/collected_at__gt' + - $ref: '#/components/parameters/collected_at__gte' + - $ref: '#/components/parameters/collected_at__lt' + - $ref: '#/components/parameters/collected_at__lte' + - $ref: '#/components/parameters/collected_at__range' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/EmploymentRecordsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Employment Records Mexico + operationId: RetrieveEmploymentRecordDetails + summary: Retrieve employment record details + description: | + Retrieve employment record details for an individual. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EmploymentRecordRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EmploymentRecord' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EmploymentRecord' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/employment-records/{id}/: + get: + tags: + - Employment Records Mexico + operationId: DetailEmploymentRecord + summary: Get an employment record's details + description: Get the details of a specific employment record. + parameters: + - name: id + in: path + required: true + description: >- + The `employment-record.id` you want to get detailed information + about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/EmploymentRecord' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Employment Records Mexico + operationId: DestroyEmploymentRecord + summary: Delete an employment record + description: Delete a specific employment record from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `employment-record.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/enrich/incomes/: + post: + tags: + - Income Verification + operationId: VerifyIncome + summary: Verify incomes + description: > + Send through your raw data and receive enriched information for each of + your user's income streams. + + + +
+ + + Note: Belvo can process up to 10,000 unique + transactions per request. + + +
+ parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EyodIncomeVerificationRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IncomeEyod' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '403': + 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' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/categorization/: + post: + tags: + - Categorization + operationId: CategorizeTransactions + summary: Categorize transactions + description: > + Send through your raw transaction data and receive enriched information + for each of your transactions. + + + +
+ + + Note: Belvo can process up to 10,000 unique + transactions per request. + + +
+ parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CategorizationRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Categorization' + examples: + CategorizeTransactions: + $ref: '#/components/examples/CategorizationExample' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '403': + 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' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/credit-score/: + get: + tags: + - Credit Score + operationId: ListCreditScores + summary: List all credit scores + description: > + Get a paginated list of all credit scores in your Belvo account. By + default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScorePaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Credit Score + operationId: RetrieveCreditScore + summary: Retrieve a credit score for a link + description: > + Retrieve a credit score for a specific link. + + + Before requesting a credit score for a link, you must also make the + following requests in order for the score to be accurately calculated. + + + - POST Retrieve Accounts for a Link + + - POST Retrieve Transactions for a Link (minimum 30 + days of data, maximum 365 days of data) + + + + + This is because the credit score is calculated based on the + transactional data retrieved from the link. + + + We use up to 12 months of transactional data. + + + The minimum is 30 days of checking account transactional data. + + + The `date_to` parameter is optional and can be used to specify the date + until which you want to retrieve the credit score. If not provided, the + most recent credit score will be retrieved. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScore' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScore' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/credit-score/{id}/: + get: + tags: + - Credit Score + operationId: DetailCreditScore + summary: Get a credit score's details + description: Get the details of a specific credit score. + parameters: + - name: id + in: path + required: true + description: The `credit-score.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScore' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Credit Score + operationId: DestroyCreditScore + summary: Delete a credit score + description: Delete a specific credit score from your Belvo account. + parameters: + - name: id + in: path + required: true + description: the `credit-score.id` that you want to delete + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/enrich/credit-score/: + post: + tags: + - Credit Score (EYOD) + operationId: RetrieveCreditScoreEYOD + summary: Retrieve Credit Score + description: > + Send through your raw data and receive a credit score for a given user. + + + +
+ + + Note: Belvo can process up to 10,000 unique + transactions per request. + + +
+ parameters: [] + requestBody: + required: true + description: Request body for the EYOD credit score analysis. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EyodCreditScoreRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CreditScore' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '403': + 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' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' +components: + securitySchemes: + basicAuth: + type: http + scheme: basic + description: >- + Belvo employs **basic authentication** using your secret keys. Just use + your secretId as the `username` and secretPassword as the `password`. + For example: + + + ```text Authentication example + + curl \ + -u =BASE64-SECRET_ID=:=BASE64-SECRET_PASSWORD= + https://sandbox.belvo.com/api/ + ``` + + + For information on how to get your API keys, check out our [Get Started + in 5 + Minutes](https://developers.belvo.com/docs/get-started-in-5-minutes) + DevPortal article. + parameters: + page: + name: page + in: query + description: A page number within the paginated result set. + schema: + example: 1 + format: int32 + type: integer + 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 + omit: + name: omit + in: query + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + schema: + type: string + example: field1,field2 + fields: + name: fields + in: query + description: >- + Return only the specified fields in the response. For more information, + see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + schema: + example: field1,field2,field3 + type: string + id: + name: id + in: query + description: Return information only for this resource `id`. + schema: + type: string + format: uuid + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + id__in: + name: id__in + in: query + description: Return information for these resource `id`s. + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: 6b3dea0f-be29-49d1-aabe-1a6d588642e6 + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + institution: + name: institution + in: query + description: >- + Return results only for this institution (use the Belvo-designated name, + such as `erebor_mx_retail`). + schema: + type: string + example: erebor_mx_retail + institution__in: + name: institution__in + in: query + description: >- + Return results only for these institutions (use the Belvo-designated + names, such as `erebor_mx_retail` and `gringotts_mx_retail`). + style: form + explode: false + schema: + type: array + items: + type: string + example: gringotts_mx_retail + example: erebor_mx_retail,gringotts_mx_retail + access_mode: + name: access_mode + in: query + description: >- + Return links only with this access mode. Can be either `single` or + `recurrent`. + schema: + example: single + type: string + created_at: + name: created_at + in: query + description: >- + Return items that were last updated in Belvo's database on this date (in + `YYYY-MM-DD` format). + schema: + type: string + format: date + example: '2022-05-05' + created_at__gt: + name: created_at__gt + in: query + description: >- + Return items that were last updated in Belvo's database after this date + (in `YYYY-MM-DD` format). + schema: + type: string + format: date + example: '2022-05-05' + created_at__gte: + name: created_at__gte + in: query + description: >- + Return items that were last updated in Belvo's database after or on this + date (in `YYYY-MM-DD` format). + schema: + type: string + format: date + example: '2022-05-04' + created_at__lt: + name: created_at__lt + in: query + description: >- + Return items that were last updated in Belvo's database before this date + (in `YYYY-MM-DD` format). + schema: + type: string + format: date + example: '2022-04-01' + created_at__lte: + name: created_at__lte + in: query + description: >- + Return items that were last updated in Belvo's database before or on + this date (in `YYYY-MM-DD` format). + schema: + type: string + format: date + example: '2022-03-30' + created_at__range: + name: created_at__range + in: query + description: >- + Return accounts that were last updated in Belvo's database between two + dates (in `YYYY-MM-DD` format). + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + format: date + example: '2022-03-03' + example: 2022-03-03,2022-05-04 + created_by__not_in: + name: created_by__not_in + in: query + description: Return links that were not created by these Belvo users. + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: d9475f4d-c511-4732-9ef0-93b5672f43d3 + example: >- + 578947e2-3c9a-4401-bbad-59b2f2d2b91b,d3d941ab-4ca5-43c1-8b23-db329ee4cb7e + external_id: + name: external_id + in: query + description: Return links with this external ID. + schema: + type: string + example: InternalUser4000 + external_id__in: + name: external_id__in + in: query + description: Return links with these external IDs. + style: form + explode: false + schema: + type: array + items: + type: string + example: InternalUser4001 + example: InternalUser4000,InternalUser4001 + institution_user_id: + name: institution_user_id + in: query + description: Return links with this specific institution user ID. + schema: + type: string + example: ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0= + institution_user_id__in: + name: institution_user_id__in + in: query + description: Return links with these institution user IDs. + style: form + explode: false + schema: + type: array + items: + type: string + example: ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0= + example: >- + ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0=,YwuTM0uEEh1BbVgDZBcNpa_-Tm3l2q8ZkZNrlhp-pNA= + refresh_rate: + name: refresh_rate + in: query + description: >- + Return links with this refresh rate. Choose between `6h`, `12h`, `24h`, + `7d`, or `30d`. + schema: + type: string + example: 24h + status_links: + name: status + in: query + description: >- + Return links with this status. Choose between `valid`, `invalid`, + `unconfirmed`, or `token_required`. + schema: + type: string + example: invalid + status__in_links: + name: status__in + in: query + description: >- + Return links with these statuses. Choose between `valid`, `invalid`, + `unconfirmed`, or `token_required`. + style: form + explode: false + schema: + type: array + items: + type: string + example: invalid + example: invalid,unconfirmed + pageSize_query: + 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 + link: + name: link + in: query + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + schema: + type: string + format: uuid + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + link__in: + name: link__in + in: query + description: Return results only for these `link.id`s. + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: 5722d0ba-69d7-42dc-8ff5-33767b83c5d6 + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + balance__available: + name: balance__available + in: query + description: >- + Return accounts that have a `balance.available` matching exactly this + value. + schema: + type: number + example: 4000 + balance__available__lt: + name: balance__available__lt + in: query + description: Return accounts that have a `balance.available` less than this value. + schema: + type: number + example: 6000 + balance__available__lte: + name: balance__available__lte + in: query + description: >- + Return accounts that have a `balance.available` less than or equal to + this value. + schema: + type: number + example: 5999 + balance__available__gt: + name: balance__available__gt + in: query + description: Return accounts that have a `balance.available` greater than this value. + schema: + type: number + example: 2000 + balance__available__gte: + name: balance__available__gte + in: query + description: >- + Return accounts that have a `balance.available` greater than or equal to + this value. + schema: + type: number + example: 1999 + balance__available__range: + name: balance__available__range + in: query + description: >- + Return accounts that have a `balance.available` within a range of two + values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + balance__current: + name: balance__current + in: query + description: >- + Return accounts that have a `balance.current` matching exactly this + value. + schema: + type: number + example: 4000 + balance__current__lt: + name: balance__current__lt + in: query + description: Return accounts that have a `balance.current` less than this value. + schema: + type: number + example: 6000 + balance__current__lte: + name: balance__current__lte + in: query + description: >- + Return accounts that have a `balance.available` less than or equal to + this value. + schema: + type: number + example: 5999 + balance__current__gt: + name: balance__current__gt + in: query + description: Return accounts that have a `balance.current` greater than this value. + schema: + type: number + example: 2000 + balance__current__gte: + name: balance__current__gte + in: query + description: >- + Return accounts that have a `balance.available` greater than or equal to + this value. + schema: + type: number + example: 1999 + balance__current__range: + name: balance__current__range + in: query + description: >- + Return accounts that have a `balance.current` within a range of two + values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + category: + name: category + in: query + description: >- + Return accounts only for the given category (for example, + `CHECKING_ACCOUNT` and `SAVINGS_ACCOUNT`). + schema: + type: string + example: CREDIT_ACCOUNT + category__in: + name: category__in + in: query + description: >- + Return accounts only for the given categories (for example, + `CHECKING_ACCOUNT` and `SAVINGS_ACCOUNT`). + style: form + explode: false + schema: + type: array + items: + type: string + example: SAVINGS_ACCOUNT + example: CHECKING_ACCOUNT,SAVINGS_ACCOUNT + currency: + name: currency + in: query + description: >- + Return results that hold finances or balances in only this three-letter + currency code. + schema: + type: string + example: COP + currency__in: + name: currency__in + in: query + description: >- + Return results that have funds or balances in one of these three-letter + currency codes. + style: form + explode: false + schema: + type: array + items: + type: string + example: COP + example: COP,MXN + name_accounts: + name: name + in: query + description: >- + Return accounts with exactly this internal (specified by the + institution) name. + schema: + type: string + example: Cuenta Perfiles- M.N. - MXN-666 + name__icontains: + name: name__icontains + in: query + description: >- + Return accounts partially matching this internal (specified by the + institution) name. + schema: + example: Perfiles + type: string + number_accounts: + name: number + in: query + description: >- + Return information only for this account number (as specified by the + institution). + schema: + type: string + example: '4057068115181' + number__in_accounts: + name: number__in + in: query + description: >- + Return information for these account numbers (as specified by the + institution). + style: form + explode: false + schema: + type: array + items: + type: string + example: '4057068115181' + example: 4057068115181,7809346821648 + public_identification_name: + name: public_identification_name + in: query + description: >- + Return information only for this type of account ID. For example, CLABE + accounts. + schema: + example: CLABE + type: string + public_identification_value: + name: public_identification_value + in: query + description: >- + Return information only for this account ID. For example, the account + number for a CLABE account. + schema: + example: '150194683119900273' + type: string + type_accounts: + name: type + in: query + description: >- + Return information only for accounts matching this account type, as + designated by the institution. + schema: + type: string + example: Cuentas de efectivo + link__required: + name: link + in: query + required: true + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + schema: + type: string + format: uuid + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + account: + name: account + in: query + description: > + The `account.id` you want to filter by. + + + ℹ️ We highly recommend adding either the `link.id` or the `account.id` + filters in order to improve your performance. + schema: + type: string + format: uuid + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + account__in: + name: account__in + in: query + description: Return results only for these `account.id`s. + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: 85b77707-90ef-46fd-9059-5a757f24247a + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + account__balance__available: + name: account__balance__available + in: query + description: >- + Return transactions that have a `account.balance.available` matching + exactly this value. + schema: + type: number + example: 4000 + account__balance__available__lt: + name: account__balance__available__lt + in: query + description: >- + Return transactions that have a `account.balance.available` less than + this value. + schema: + type: number + example: 6000 + account__balance__available__lte: + name: account__balance__available__lte + in: query + description: >- + Return transactions that have a `account.balance.available` less than or + equal to this value. + schema: + type: number + example: 5999 + account__balance__available__gt: + name: account__balance__available__gt + in: query + description: >- + Return transactions that have a `account.balance.available` more than + this value. + schema: + type: number + example: 6000 + account__balance__available__gte: + name: account__balance__available__gte + in: query + description: >- + Return transactions that have a `account.balance.available` more than or + equal to this value. + schema: + type: number + example: 5999 + account__balance__available__range: + name: account__balance__available__range + in: query + description: >- + Return transactions that have a `account.balance.available` within a + range of two values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + account__balance__current: + name: account__balance__current + in: query + description: >- + Return transactions that have a `account.balance.current` matching + exactly this value. + schema: + type: number + example: 4000 + account__balance__current__gt: + name: account__balance__current__gt + in: query + description: >- + Return transactions that have a `account.balance.current` greater than + this value. + schema: + type: number + example: 4020 + account__balance__current__gte: + name: account__balance__current__gte + in: query + description: >- + Return transactions that have a `account.balance.current` greater than + or equal to this value. + schema: + type: number + example: 4019 + account__balance__current__lt: + name: account__balance__current__lt + in: query + description: >- + Return transactions that have a `account.balance.current` less than this + value. + schema: + type: number + example: 3000 + account__balance__current__lte: + name: account__balance__current__lte + in: query + description: >- + Return transactions that have a `account.balance.current` less than or + equal to this value. + schema: + type: number + example: 2999 + account__balance__current__range: + name: account__balance__current__range + in: query + description: >- + Return transactions that have a `account.balance.current` within a range + of two values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + account_type: + name: account_type + in: query + description: >- + Return information only for transactions matching this account type, as + designated by the institution. + schema: + type: string + example: Cuentas de efectivo + account_type__in: + name: account_type__in + in: query + description: >- + Return information only for transactions matching these account types, + as designated by the institution. + style: form + explode: false + schema: + type: array + items: + type: string + example: Depositos Ahorro + example: Cuentas de efectivo,Depositos Ahorro + accounting_date: + name: accounting_date + in: query + description: >- + Return transactions that were processed by the institution on exactly + this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-05' + accounting_date__gt: + name: accounting_date__gt + in: query + description: >- + Return transactions that were processed by the institution after this + date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-06' + accounting_date__gte: + name: accounting_date__gte + in: query + description: >- + Return transactions that were processed by the institution on this date + (`YYYY-MM-DD`) or later. + schema: + type: string + format: date + example: '2022-05-04' + accounting_date__lt: + name: accounting_date__lt + in: query + description: >- + Return transactions that were processed by the institution before this + date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-03-02' + accounting_date__lte: + name: accounting_date__lte + in: query + description: >- + Return transactions that were processed by the institution on this date + (`YYYY-MM-DD`) or earlier. + schema: + type: string + format: date + example: '2022-03-01' + accounting_date__range: + name: accounting_date__range + in: query + description: >- + Return transactions that were processed by the institution in this date + range (`YYYY-MM-DD`). + style: form + explode: false + schema: + type: array + items: + type: string + format: date + example: '2022-05-06' + example: 2022-03-01,2022-05-06 + amount: + name: amount + in: query + description: Return results only for this value. + schema: + type: number + example: 1000 + amount__gt: + name: amount__gt + in: query + description: Return results only for more than this amount. + schema: + type: number + example: 1000 + amount__gte: + name: amount__gte + in: query + description: Return results only for and more than this amount. + schema: + type: number + example: 1000 + amount__lt: + name: amount__lt + in: query + description: Return results only for less than this amount. + schema: + type: number + example: 1000 + amount__lte: + name: amount__lte + in: query + description: Return results only for this amount or less. + schema: + type: number + example: 1000 + amount__range: + name: amount__range + in: query + description: Return results between this amount range. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 2000 + example: 1001.00,2000.00 + collected_at: + name: collected_at + in: query + description: >- + Return items that were retrieved from the institution on this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + schema: + type: string + example: '2022-05-01' + collected_at__gt: + name: collected_at__gt + in: query + description: >- + Return items that were retrieved from the institution after this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + schema: + type: string + example: '2022-05-05' + collected_at__gte: + name: collected_at__gte + in: query + description: >- + Return items that were retrieved from the institution after or on this + date (`YYYY-MM-DD` or full `ISO-8601` timestamp). + schema: + type: string + example: '2022-05-04' + collected_at__lt: + name: collected_at__lt + in: query + description: >- + Return items that were retrieved from the institution before this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + schema: + type: string + example: '2022-04-01' + collected_at__lte: + name: collected_at__lte + in: query + description: >- + Return items that were retrieved from the institution before or on this + date (`YYYY-MM-DD` or full `ISO-8601` timestamp). + schema: + type: string + example: '2022-03-30' + collected_at__range: + name: collected_at__range + in: query + description: >- + Return items that were retrieved from the institution between two dates + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + example: '2022-05-04' + example: 2022-03-03,2022-05-04 + credit_card_data__bill_name__in: + name: credit_card_data__bill_name__in + in: query + description: Return transactions for one of these bill names. + style: form + explode: false + schema: + type: array + items: + type: string + example: feb-2022 + example: maio-2022,feb-2022 + reference: + name: reference + in: query + description: Returns transactions with this institution-assigned reference number. + schema: + type: string + example: '085904452810319225' + reference__in: + name: reference__in + in: query + description: Returns transactions with these institution-assigned reference numbers. + style: form + explode: false + schema: + type: array + items: + type: string + example: '085904452810319225' + example: 085904452810319225,8703 + status_transactions: + name: status + in: query + description: >- + Return transactions with this status. Can be either `PENDING`, + `PROCESSED`, or `UNCATEGORIZED`. + schema: + type: string + example: PENDING + status__in_transactions: + name: status__in + in: query + description: >- + Return transactions with these statuses. Can be either `PENDING`, + `PROCESSED`, or `UNCATEGORIZED`. + style: form + explode: false + schema: + type: array + items: + type: string + example: PROCESSED + example: PENDING,PROCESSED + type_transactions: + name: type + in: query + description: Return transactions with this type. Can be either `INFLOW` or `OUTFLOW`. + schema: + type: string + example: OUTFLOW + type__in_transactions: + name: type__in + in: query + description: >- + Return transactions with this types. Can be either `INFLOW` or + `OUTFLOW`. + style: form + explode: false + schema: + type: array + items: + type: string + example: INFLOW + example: INFLOW,OUTFLOW + value_date: + name: value_date + in: query + description: Return results for exactly this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-05' + value_date__gt: + name: value_date__gt + in: query + description: Return results that occurred after this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-06' + value_date__gte: + name: value_date__gte + in: query + description: Return results for this date (`YYYY-MM-DD`) or later. + schema: + type: string + format: date + example: '2022-05-04' + value_date__lt: + name: value_date__lt + in: query + description: Return results for before this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-03-02' + value_date__lte: + name: value_date__lte + in: query + description: Return results for this date (`YYYY-MM-DD`) or earlier. + schema: + type: string + format: date + example: '2022-03-01' + value_date__range: + name: value_date__range + in: query + description: Return results for this date (`YYYY-MM-DD`) range. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + format: date + example: '2022-05-06' + example: 2022-03-01,2022-05-06 + account__type: + name: account__type + in: query + description: >- + Return information only for accounts matching this account type, as + designated by the institution. + schema: + type: string + example: Cuentas de efectivo + account__type__in: + name: account__type__in + in: query + description: >- + Return information only for accounts matching these account types, as + designated by the institution. + style: form + explode: false + schema: + type: array + items: + type: string + example: Credito + example: Cuentas de efectivo,Credito + balance: + name: balance + in: query + description: Return balances matching exactly this value. + schema: + type: number + example: 530 + balance__lt: + name: balance__lt + in: query + description: Return balances less than this value. + schema: + type: number + example: 540 + balance__lte: + name: balance__lte + in: query + description: Return balances less than or equal to this value. + schema: + type: number + example: 541 + balance__gt: + name: balance__gt + in: query + description: Return balances greater than this value. + schema: + type: number + example: 520 + balance__gte: + name: balance__gte + in: query + description: Return balances greater than or equal to this value. + schema: + type: number + example: 519 + balance__range: + name: balance__range + in: query + description: Return balances between these two values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 541 + example: 519.00,541.00 + display_name: + name: display_name + in: query + description: Return institutions that partially match this display name. + schema: + example: Erebor Bank + type: string + country_code: + name: country_code + in: query + description: Return institutions only for this two-letter country code. + schema: + example: MX + type: string + 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 + example: BR + example: CO,BR + resources__allin: + name: resources__allin + in: query + description: Return institutions that support these resources. + style: form + explode: false + schema: + type: array + items: + type: string + example: OWNERS + example: ACCOUNTS,OWNERS,TRANSACTIONS + name: + name: name + in: query + description: Return an institution with this Belvo-designated name. + schema: + type: string + example: erebor_mx_retail + 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 + example: gotham_co_business + example: erebor_br_retail,gotham_co_business + 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 + 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 + example: healthy,down + type_institutions: + name: type + in: query + description: >- + Return institutions of this type. You can choose between `bank`, + `fiscal`, or `employment`. + schema: + type: string + example: fiscal + 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 + example: fiscal + example: fiscal,bank + website: + name: website + in: query + description: Return institutions with this website URL. + schema: + type: string + example: https://www.erebor.mx + email: + name: email + in: query + description: Returns owners whose email address match your query. + schema: + type: string + example: lopes.d@gmail.com + display_name__icontains: + name: display_name__icontains + in: query + description: >- + Return owners whose full display name partially matches your query. For + example, `mar` will return results for Mark, Maria, Neymar, Remarque, + and so on. + schema: + type: string + example: Daniela + invoice_date: + name: invoice_date + in: query + description: Return invoices issued exactly on this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-05' + invoice_date__lt: + name: invoice_date__lt + in: query + description: Return balances issued before this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-03-02' + invoice_date__lte: + name: invoice_date__lte + in: query + description: Return balances issued on this date or earlier (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-03-01' + invoice_date__gt: + name: invoice_date__gt + in: query + description: Return invoices issued after this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-06' + invoice_date__gte: + name: invoice_date__gte + in: query + description: Return invoices issued on this date or later (`YYYY-MM-DD`) + schema: + type: string + format: date + example: '2022-05-04' + invoice_date__range: + name: invoice_date__range + in: query + description: Return invoices issued within this date range (`YYYY-MM-DD`). + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + format: date + example: '2022-05-06' + example: 2022-03-01,2022-05-06 + invoice_identification: + name: invoice_identification + in: query + description: Return an invoice with this ID (as provided by the insitution). + schema: + example: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + type: string + invoice_identification__in: + name: invoice_identification__in + in: query + description: Return invoices with these IDs (as provided by the institution). + style: form + explode: false + schema: + type: array + items: + type: string + example: 992B9918-3G6H-4E0B-DAI9-2BE2D833B833 + example: >- + 862B9918-3K6H-4E0B-NAI9-2BE2D833B840,992B9918-3G6H-4E0B-DAI9-2BE2D833B833 + status_invoice: + name: status + in: query + description: >- + Return invoices with this status. Can be either `Vigente` (valid) or + `Cancelado` (cancelled). + schema: + type: string + example: Vigente + status__in_invoice: + name: status__in + in: query + description: >- + Return invoices with these statuses. Can be either `Vigente` (valid) or + `Cancelado` (cancelled). + style: form + explode: false + schema: + type: array + items: + type: string + example: Cancelado + example: Vigente,Cancelado + type_invoice: + name: type + in: query + description: Return invoices of this type. Can be either `OUTFLOW` or `INFLOW`. + schema: + type: string + example: OUTFLOW + type__in_invoice: + name: type__in + in: query + description: Return invoices of these types. Can be either `OUTFLOW` or `INFLOW`. + style: form + explode: false + schema: + type: array + items: + type: string + example: OUTFLOW + example: OUTFLOW,INFLOW + total_amount: + name: total_amount + in: query + description: Return invoices matching exactly this value. + schema: + type: number + example: 1000 + total_amount__lt: + name: total_amount__lt + in: query + description: Return invoices less than this value. + schema: + type: number + example: 540 + total_amount__lte: + name: total_amount__lte + in: query + description: Return invoices less than or equal to this value. + schema: + type: number + example: 541 + total_amount__gt: + name: total_amount__gt + in: query + description: Return invoices greater than this value. + schema: + type: number + example: 520 + total_amount__gte: + name: total_amount__gte + in: query + description: Return invoices greater than or equal to this value. + schema: + type: number + example: 519 + total_amount__range: + name: total_amount__range + in: query + description: Return invoices between these two values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 541 + example: 519.00,541.00 + ejercicio: + name: ejercicio + in: query + description: Return tax returns for exactly this year (`YYYY`). + schema: + type: string + example: '2018' + ejercicio__lt: + name: ejercicio__lt + in: query + description: Return tax returns for before this year (`YYYY`). + schema: + type: string + example: '2020' + ejercicio__lte: + name: ejercicio__lte + in: query + description: Return tax returns for this year and earlier (`YYYY`). + schema: + type: string + example: '2021' + ejercicio__gt: + name: ejercicio__gt + in: query + description: Return tax returns for after this year (`YYYY`). + schema: + type: string + example: '2019' + ejercicio__gte: + name: ejercicio__gte + in: query + description: Return tax returns for this year or later (`YYYY`). + schema: + type: string + example: '2017' + ejercicio__range: + name: ejercicio__range + in: query + description: Return tax returns for this range of years (`YYYY`). + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + example: '2021' + example: 2015,2021 + tipo_declaracion: + name: tipo_declaracion + in: query + description: Return tax returns with this declaration type. + schema: + type: string + example: Normal + tipo_declaracion__in: + name: tipo_declaracion__in + in: query + description: Return tax returns with these declaration types. + style: form + explode: false + schema: + type: array + items: + type: string + example: Commercial + example: Normal,Commercial + year: + name: year + in: query + description: Return results for this year (`YYYY`). + schema: + type: number + example: 2020 + year__gt: + name: year__gt + in: query + description: Return results for after this year (`YYYY`). + schema: + type: number + example: 2020 + year__gte: + name: year__gte + in: query + description: Return results for this year or after (`YYYY`). + schema: + type: number + example: 2019 + year__lt: + name: year__lt + in: query + description: Return results for before this year (`YYYY`). + schema: + type: number + example: 2018 + year__lte: + name: year__lte + in: query + description: Return results for this year or earlier (`YYYY`). + schema: + type: number + example: 2017 + year__range: + name: year__range + in: query + description: Return results between these two years (`YYYY`). + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 2019 + example: 2017,2021 + internal_identification: + name: internal_identification + in: query + description: | + The `internal_identification` you want to filter by. + schema: + type: string + example: BLPM951331IONVGR54 + internal_identification__in: + name: internal_identification__in + in: query + description: | + One or more `internal_identification`s you want to filter by. + style: form + explode: false + schema: + type: array + items: + type: string + example: BLPM951331IONVGR54 + example: BLPM951331IONVGR54,GNQM951221IOMCGR59 + schemas: + 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 + nullable: true + 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}/?page=2 + previous: + type: string + nullable: true + format: uri + description: > + The URL to the previous page of results. If there is no previous + page, the + + value is `null`. + example: null + EnumLinkAccessModeResponse: + type: string + nullable: true + enum: + - single + - recurrent + - null + description: > + The link type. + + For more information, see our + [Links](https://developers.belvo.com/docs/links-and-institutions#links) + article. + + We return one of the following enum values: + - `single` + - `recurrent` + - `null` + example: recurrent + EnumLinkStatus: + type: string + enum: + - valid + - invalid + - unconfirmed + - token_required + description: > + The current status of the link. For more information, see our + [Link](https://developers.belvo.com/docs/links-and-institutions#links) + article in the devportal. + + We return one of the following values: + - `valid` + - `invalid` + - `unconfirmed` + - `token_required` + example: valid + EnumLinkRefreshRate: + type: string + nullable: true + default: 7d + enum: + - 6h + - 12h + - 24h + - 7d + - 30d + - null + description: > + The update refresh rate for the recurrent link. For more information, + check out our [recurrent link + documentation](https://developers.belvo.com/docs/links-and-institutions#recurrent-links) + in our DevPortal. + + We return one of the following enum values: + - `6h` + - `12h` + - `24h` + - `7d` (default) + - `30d` (once a month) + - `null` (for single links) + example: 7d + Link: + type: object + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the current Link. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + type: string + description: | + Belvo's name for the institution. + example: erebor_mx_retail + access_mode: + $ref: '#/components/schemas/EnumLinkAccessModeResponse' + last_accessed_at: + type: string + nullable: true + format: date-time + description: > + The ISO-8601 timestamp of Belvo's most recent successful access to + the institution for the given link. + example: '2019-09-27T13:02:03.584Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + external_id: + type: string + nullable: true + minLength: 3 + description: > + The `external_id` you provided as an additional identifier for the + link. + + For more information, see our [Link creation + + article](https://developers.belvo.com/docs/link-creation-best-practices#adding-your-own-identifier). + example: 56ab5706-6e00-48a4-91c9-ca55968678d9 + institution_user_id: + type: string + pattern: '[A-Za-z0-9\-=_]{44}' + description: > +
+ + Info: Only applicable for links created after + 08-02-2022. + +
+ + + + A unique 44-character string that can be used to identify a user at + a given institution. + + + + 📚 Check out our [Avoiding duplicated + links](https://developers.belvo.com/docs/link-creation-best-practices#avoiding-duplicated-links) + DevPortal article for more information and tips on how to use it. + example: sooE7XJWEKypZJR603ecaWYk-8Ap0oD8Nr1pBQ4eG9c= + status: + $ref: '#/components/schemas/EnumLinkStatus' + created_by: + type: string + format: uuid + description: The unique ID for the user that created this link. + example: bcef7f35-67f2-4b19-b009-cb38795faf09 + refresh_rate: + $ref: '#/components/schemas/EnumLinkRefreshRate' + credentials_storage: + type: string + description: > + Indicates how long credentials are stored. For links where + `access_mode=recurrent`, this is set to `store`. + + + We return one of the following values: + + - `store` - credentials are stored (until the link is deleted). + - `nostore` - credentials are not stored. + - Any value between `1d` and `365d` to indicate the number of days the credentials are stored (from when the link was `created_at`). + + example: 27d + fetch_resources: + type: array + description: | + An array of resources that you will receive a historical update for. + items: + type: string + description: A Belvo resource that the institution supports. + example: ACCOUNTS + example: + - ACCOUNTS + - TRANSACTIONS + stale_in: + type: string + nullable: true + description: > + Indicates how long any data will be stored in Belvo's database for + the link (both single and recurrent), relative to the + `last_accessed_at` parameter. + example: 90d + PaginatedResponseLink: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + items: + $ref: '#/components/schemas/Link' + 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 401 authentication_failed errors. + example: authentication_failed + message: + type: string + description: | + A short description of the error. + + + For `authentication_failed` errors, the description is: + + - `Invalid Secret Keys`. + example: Invalid Secret Keys + 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 + 401_consent_without_accounts_error: + 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 401 consent_without_accounts errors. + example: consent_without_accounts + message: + type: string + description: > + A short description of the error. + + + + For `invalid` errors relating to `fetch_resources`, the description + is: + + - `The institution only supports the following resources: (comma-separated list of supported resources)`. + example: >- + The institution only supports the following resources: + EMPLOYMENT_RECORDS, OWNERS + 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 + EnumLinkAccessModeRequest: + type: string + enum: + - single + - recurrent + description: > + The type of link to create. + + + - Use `single` to do ad hoc one-time POST requests for accounts, owners, + and transactions. + + - Use `recurrent` to have Belvo access information on a recurrent basis + so you always have fresh account, owner, balance, and transaction data. + + + For more information, see our + [Links](https://developers.belvo.com/docs/links-and-institutions#links) + article. + default: recurrent + LinksRequest: + type: object + required: + - institution + - username + properties: + institution: + type: string + pattern: '[a-z]+_[a-z]{2}_[a-z]+' + description: The Belvo name for the institution. + example: erebor_mx_retail + username: + type: string + description: The end-user's username (or ID) used to log in to the institution. + example: username + password: + type: string + description: > + The end-user's password used to log in to the institution. + + + ℹ️ **Note**: You must send through a password for all institutions + except for IMSS (`imss_mx_employment`). + example: password + external_id: + type: string + minLength: 3 + description: > + An additional identifier for the link, provided by you, to store + + in the Belvo database. **Cannot** include any Personal Identifiable + Information (PII). **Must** be at least three characters long. + + + + If we identify that the identifier contains PII, we will force a + `null` value. For more information, see our [Link + + creation + + article](https://developers.belvo.com/docs/link-creation-best-practices#adding-your-own-identifier). + example: 56ab5706-6e00-48a4-91c9-ca55968678d9 + username2: + type: string + description: > + The end-user's second username (or email address) used to log in to + the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a second username, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + example: secondusername + username3: + type: string + description: > + The end-user's third username used to log in to the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a third username, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + example: thirdusername + password2: + type: string + description: > + The end-user's second password used to log in to the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a second password, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + example: pin + token: + type: string + description: > + The MFA token required by the bank to log in. + + + We do not recommend sending the authentication token in the same + request as registering the user. See our [Handling multi-factor + authentication](https://developers.belvo.com/docs/handling-2-factor-authentication) + article for more information and best practices. + example: 1234ab + access_mode: + $ref: '#/components/schemas/EnumLinkAccessModeRequest' + fetch_resources: + type: array + description: > + An array of resources that you would like to receive a historical + update for. + + + For banking institutions, you can select the following resources: + - `ACCOUNTS` + - `OWNERS` + - `TRANSACTIONS` + - `BILLS` (only for OFDA institutions) + - `INCOMES` + - `RECURRING_EXPENSES` + - `RISK_INSIGHTS` + - `CREDIT_SCORE` + + + For fiscal institutions, you can select the following resources: + - `INVOICES` + - `TAX_COMPLIANCE_STATUS` + - `TAX_DECLARATIONS` + - `TAX_RETENTIONS` + - `TAX_RETURNS` + - `TAX_STATUS` + + For employment institutions, you can select the following resources: + - `OWNERS` + - `EMPLOYMENT_RECORDS` + - `EMPLOYMENT_METRICS` + + items: + type: string + description: A Belvo resource that the institution supports. + example: ACCOUNTS + example: + - ACCOUNTS + - TRANSACTIONS + credentials_storage: + type: string + description: > + Indicates whether or not to store credentials (and the duration for + which to store the credentials). + + + - For recurrent links, this is set to `store` by default (and cannot + be changed). + + - For single links, this is set to `365d` by default. + + + Choose either: + - `store` to store credentials (until the link is deleted) + - `nostore` to not store credentials + - Any value between `1d` and `365d` to indicate the number of days you want the credentials to be stored. + example: 27d + stale_in: + type: string + description: > + Indicates how long any data should be stored in Belvo's database for + the link (both single and recurrent). For example, if you send + through `90d`, Belvo will remove any data from its database relating + to the user after 90 days. + + + > **Note**: Belvo will only remove data for links that have not been + updated in the period you provide in `stale_in`. + + > + + > For example, if you set `stale_in` to `42d` and only request + information once on that day, then Belvo will remove any data + associated with the link after 42 days. However, if you make another + request five days later, then Belvo will restart the day counter to + that day. + + + By default Belvo stores user data for 365 days, unless the link is + deleted. + example: 42d + username_type: + type: string + description: > + Type of document to be used as a username. + + + Some banking institutions accept different documents to be used as + the `username` to login. For example, the *Cédula de Ciudadanía*, + *Cédula de Extranjería*, *Pasaporte'*, and so on. + + + For banks that require a document to log in, you **must** provide + the `username_type` parameter to specify which document is used when + creating the link. + + + ℹ️ To know which institutions require the `username_type` parameter, + get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + + + For a list of standards codes, see the table below. + + + | Code | Description | + + |-----------|-------| + + | `001` | Cédula de Ciudadanía | + + | `002` | Cédula de Extranjería | + + | `003` | Pasaporte | + + | `004` | Tarjeta de Identidad | + + | `005` | Registro Civil | + + | `006` | Número Identificación Personal | + + | `020` | NIT | + + | `021` | NIT Persona Natural | + + | `022` | NIT Persona Extranjera | + + | `023` | NIT Persona Jurídica | + + | `024` | NIT Menores | + + | `025` | NIT Desasociado | + + | `030` | Trj. Seguro Social Extranjero | + + | `031` | Sociedad Extranjera sin NIT en Colombia | + + | `032` | Fideicomiso | + + | `033` | RIF Venezuela | + + | `034` | CIF | + + | `035` | Número de Identidad | + + | `036` | RTN | + + | `037` | Cédula de Identidad | + + | `038` | DIMEX | + + | `039` | CED | + + | `040` | PAS | + + | `041` | Documento Único de Identidad | + + | `042` | NIT Salvadoreño | + + | `100` | Agência e conta | + + | `101` | Código do operador | + + | `102` | Cartão de crédito | + + | `103` | CPF | + example: '001' + TooManySessionsError: + type: object + title: Too Many Sessions + description: | + This error occurs when: + + - a user is attempting to log in to their institution via Belvo while also already being logged in to their institution on a web browser or mobile app. + - you make a request for information while Belvo is scraping data from the institution for that user. + properties: + code: + type: string + description: > + A unique error code (`too_many_sessions`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 too_many_sessions errors. + example: too_many_sessions + message: + type: string + description: | + A short description of the error. + + + For `too_many_sessions` errors, the description is: + + - `Impossible to login, a session is already opened with the institution for these credentials`. + example: >- + Impossible to login, a session is already opened with the + institution for these credentials + 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 + LoginError: + type: object + title: Login Error + description: | + This error can occur when: + + - the credentials that your user provides are incorrect or missing. + - the MFA token your user provides is not supported by Belvo. + - there is an issue with the institution that prevents logins. + - the user's account is either locked or the user does not have permission to access their internet banking. + properties: + code: + type: string + description: > + A unique error code (`login_error`) that allows you to classify and + handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 login_error errors. + example: login_error + message: + type: string + description: > + A short description of the error. + + + + For `login_error` errors, the description can be one of the + following: + + - `Invalid credentials provided to login to the institution` + - `A MFA token is required by the institution, but it's not supported yet by Belvo.` + - `Impossible to login, something unexpected happened while logging into the institution. Try again later.` + - `Login not attempted due to invalid credentials` + - `Missing credentials to login to the institution` + - `The user account access was forbidden by the institution` + - `The user account is locked, user needs to contact the institution to unlock it` + + example: Invalid credentials provided to login to the institution + 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 + SessionExpiredError: + type: object + title: Session Expired + description: > + This error occurs when you try to resume a request session that has + already expired. This is usually because the user took too long to + provide their authentication token. + properties: + code: + type: string + description: > + A unique error code (`session_expired`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 session_expired errors. + example: session_expired + message: + type: string + description: | + A short description of the error. + + + For `session_expired` errors, the description is: + + - `The session you are trying to resume has expired, please start again from register/retrieve endpoint`. + example: >- + The session you are trying to resume has expired, please start again + from register/retrieve endpoint + 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 + ValidationError: + type: object + title: Validation Error + description: > + This error occurs when make a request that does not include all the + required fields or includes invalid data. + properties: + code: + type: string + description: > + A unique error code (`null`, `does_not_exist`, `required`) that + allows you to classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle: + - 400 blank errors + - 400 null errors + - 400 does_not_exist errors + - 400 required errors + example: required + message: + type: string + description: | + A short description of the error. + + + For validation errors, the description can be (among others): + + - `This field is required.` + - `Object with name=narnia does not exist.` + - `This field may not be null.` + - `This field may not be blank.` + example: This field is required. + 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 + field: + type: string + nullable: true + description: | + Name of the field where the error was encountered. + example: link + InstitutionDownError: + type: object + title: Institution Down + description: > + This error occurs when the institution's website that you're trying to + access is down due to maintenance or other issues, which means Belvo is + unable to create new links or retrieve new data. + properties: + code: + type: string + description: > + A unique error code (`institution_down`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 institution_down errors. + example: institution_down + message: + type: string + description: | + A short description of the error. + + + For `institution_down` errors, the description is: + + - `The financial institution is down, try again later`. + example: The financial institution is down, try again later + 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 + InstitutionUnavailableError: + type: object + title: Institution Unavailable + description: > + This error occurs when the institution's website that you're trying to + access is down due to maintenance or other issues, which means Belvo is + unable to create new links or retrieve new data. + properties: + code: + type: string + description: > + A unique error code (`institution_unavailable`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how handle 400 institution_unavailable errors. + example: institution_unavailable + message: + type: string + description: | + A short description of the error. + + + For `institution_unavailable` errors, the description is: + + - `The financial institution is unavailable`. + example: The financial institution is unavailable + 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 + InstitutionInactiveError: + type: object + title: Institution Inactive + description: > + This error occurs when we (Belvo) have deactivated the institution in + our API. + properties: + code: + type: string + description: > + A unique error code (`institution_inactive`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 institution_inactive errors. + example: institution_inactive + message: + type: string + description: | + A short description of the error. + + + For `institution_inactive` errors, the description is: + + - `The institution has been temporarily deactivated`. + example: The institution has been temporarily deactivated + 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 + InvalidLinkError: + type: object + title: Invalid Link + description: > + This error occurs when you try to access an account but the user + credentials are no longer valid, prompting an error from the + institution. + properties: + code: + type: string + description: > + A unique error code (`invalid_link`) that allows you to classify and + handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_link errors. + example: invalid_link + message: + type: string + description: | + A short description of the error. + + + For `invalid_link` errors, the description is: + + - `The link has been invalidated. You may need to update link credentials`. + example: >- + The link has been invalidated. You may need to update link + credentials + 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 + 400InvalidCredentialsStorageError: + type: object + title: Invalid Credentials Storage + 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`. + properties: + code: + type: string + description: > + A unique error code (`invalid_credentials_storage`) that allows you + to classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_credentials_storage errors. + example: login_error + message: + type: string + description: > + A short description of the error. + + + + For `invalid_credentials_storage` errors, the description can be one + of the following: + + - `Recurrent links must store the credentials` + + example: Recurrent links must store the credentials + 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 + 400InvalidFetchHistorical: + type: object + title: Invalid Fetch Resources + 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`. + properties: + code: + type: string + description: > + A unique error code (`invalid_fetch_resources`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_fetch_resources errors. + example: invalid_fetch_resources + message: + type: string + description: > + A short description of the error. + + + + For `invalid_fetch_resources` errors, the description can be one of + the following: + + - `Single links without stored credentials must fetch resources` + + example: Single links without stored credentials must fetch resources + 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 + 400InvalidResourcesError: + type: object + title: Invalid Resources + description: > + This error occurs when you attempted to create a link where you added + resources in `fetch_resources` that are unsupported by the institution. + properties: + field: + type: string + description: > + The request parameter that is causing the error. For invalid + resources, this will be set to `resources`. + example: resources + code: + type: string + description: > + A unique error code (`invalid`) that allows you to classify and + handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_period errors. + example: invalid + message: + type: string + description: > + A short description of the error. + + + + For `invalid` errors relating to `fetch_resources`, the description + is: + + - `The institution only supports the following resources: (comma-separated list of supported resources)`. + example: >- + The institution only supports the following resources: + EMPLOYMENT_RECORDS, OWNERS + 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 + UnconfirmedLinkError: + type: object + title: Unconfirmed Link + description: > + This error occurs when you try to access a link that was paused + previously (and as such is not active now). + + + A Link's status is set to `unconfirmed_link` when your user has not + completed the Link creation process successfully (for example, they + might not provide a valid MFA token). + properties: + code: + type: string + description: > + A unique error code (`unconfirmed_link`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 unconfirmed_link errors. + example: unconfirmed_link + message: + type: string + description: | + A short description of the error. + + + For `unconfirmed_link` errors, the description is: + + - `The link creation has not been completed yet`. + example: The link creation has not been completed yet + 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 + UnsupportedOperationError: + type: object + title: Unsupported Operation + description: > + This error occurs when you try to access some data operation that Belvo + does not support for an institution. For example, trying to access the + Balances resource for fiscal institutions. + properties: + code: + type: string + description: > + A unique error code (`unsupported_operation`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 unsupported_operation errors. + example: unsupported_operation + message: + type: string + description: | + A short description of the error. + + + For `unsupported_operation` errors, the description is: + + - `The resource you are trying to access is not supported by this institution`. + example: >- + The resource you are trying to access is not supported by this + institution + 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 + TokenRequiredResponseTokenGenerationData: + type: object + description: Details on how to generate the token. + properties: + instructions: + type: string + description: Instructions for token generation. + example: Use this code to generate the token + type: + type: string + description: | + Type of the data to generate the token (QR code, numeric + challenge). + example: numeric + value: + type: string + description: Value to use to generate the token. + example: '12345' + expects_user_input: + type: boolean + description: > + Indicates whether the user needs to provide input in order to + complete the authentication. + + + When set to `false`, your user may need to: + + + - confirm the login on another device + + - scan a QR code + + + You will still need to make a PATCH call to complete the request. + example: true + default: true + TokenRequiredResponse: + type: object + description: MFA Token Required + properties: + code: + type: string + description: > + A unique error code (`token_required`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 428 token_required errors. + example: token_required + message: + type: string + description: | + A short description of the error. + + + For `token_required` errors, the description is: + + - `A MFA token is required by the institution to login`. + example: A MFA token is required by the institution to login + 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: 8c7b283c6efa449c9c028a16b5c249fa + session: + type: string + pattern: '[a-f0-9]{32}' + description: > + A 32-character unique ID of the login session (matching a regex + pattern of: `[a-f0-9]{32}`). + example: 2675b703b9d4451f8d4861a3eee54449 + expiry: + type: integer + format: int32 + description: Session duration time in seconds. + example: 9600 + link: + type: string + format: uuid + description: | + Unique identifier created by Belvo, used to reference the current + Link. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + token_generation_data: + $ref: '#/components/schemas/TokenRequiredResponseTokenGenerationData' + 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 500 unexpected_error errors. + example: unexpected_error + message: + type: string + description: | + A short description of the error. + + + For `unexpected_error` errors, the description is: + + - `Belvo is unable to process the request due to an internal system issue or to an unsupported response from an institution`. + example: >- + Belvo is unable to process the request due to an internal system + issue or to an unsupported response from an institution + 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 + PatchBodyWithoutSaveData: + type: object + description: A JSON object containing a session UUID and a MFA token + required: + - session + - link + properties: + session: + type: string + pattern: '[a-f0-9]{32}' + description: | + The session you want to resume. You need to use the `session` value + that is provided in the 428 Token Required response that you receive + after you make your POST request. + example: 6e7b283c6efa449c9c028a16b5c249fa + token: + type: string + description: | + The MFA token generated by the institution and required to continue + a session. + example: 1234ab + link: + type: string + format: uuid + description: | + The `link.id` you want to resume. Must be the same `link.id` as the + one you receive in the 428 Token Required response that contains the + `session` ID. + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + 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. + + + + ℹ️ Check our DevPortal for more information on how to handle 404 not_found errors. + example: not_found + message: + type: string + description: | + A short description of the error. + + + For `not_found` errors, the description is: + + - `Not found` + example: Not found + 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 + LinksPutRequest: + type: object + required: + - institution + - username + - password + properties: + password: + type: string + description: The end-user's password used to log in to the institution. + example: password + password2: + type: string + description: > + The end-user's second password used to log in to the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a second password, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + example: pin + token: + type: string + description: | + The MFA token required by the bank to log in. + example: 1234ab + username_type: + type: string + description: | + Type of document to be used as a username. + + Some banking institutions accept different documents to be used as the `username` to login. For example, the *Cédula de Ciudadanía*, *Cédula de Extranjería*, *Pasaporte'*, and so on. + + For banks that require a document to log in, you **must** provide the `username_type` parameter to specify which document is used when creating the link. + + ℹ️ To know which institutions require the `username_type` parameter, get the [details](https://developers.belvo.com/reference/detailinstitution) for the institution and check the `form_fields` array in the response. + + For a list of standards codes, see the table below. + + | Code | Description | + |-----------|-------| + | `001` | Cédula de Ciudadanía | + | `002` | Cédula de Extranjería | + | `003` | Pasaporte | + | `004` | Tarjeta de Identidad | + | `005` | Registro Civil | + | `006` | Número Identificación Personal | + | `020` | NIT | + | `021` | NIT Persona Natural | + | `022` | NIT Persona Extranjera | + | `023` | NIT Persona Jurídica | + | `024` | NIT Menores | + | `025` | NIT Desasociado | + | `030` | Trj. Seguro Social Extranjero | + | `031` | Sociedad Extranjera sin NIT en Colombia | + | `032` | Fideicomiso | + | `033` | RIF Venezuela | + | `034` | CIF | + | `035` | Número de Identidad | + | `036` | RTN | + | `037` | Cédula de Identidad | + | `038` | DIMEX | + | `039` | CED | + | `040` | PAS | + | `041` | Documento Único de Identidad | + | `042` | NIT Salvadoreño | + | `100` | Agência e conta | + | `101` | Código do operador | + | `102` | Cartão de crédito | + | `103` | CPF | + example: '001' + certificate: + type: string + description: > + For certain fiscal institutions, it is possible to log in using a + certificate and a private key, which enables a faster connection to + the institution. + + + Belvo supports a base64 encoded `certificate`. If the `certificate` + parameter is used, you *must* also provide the `private_key` + parameter. + example: 1234567890abcd= + private_key: + type: string + description: > + For certain fiscal institutions, it is possible to log in using a + certificate and a private key, which enables a faster connection to + the institution. + + + Belvo supports a base64 encoded `private_key`. If the `private_key` + parameter is used, you *must* also provide the `certificate` + parameter. + example: 1234567890abcd= + ChangeAccessMode: + type: object + required: + - access_mode + properties: + access_mode: + $ref: '#/components/schemas/EnumLinkAccessModeRequest' + InvalidAccessMode: + type: object + title: Invalid Access Mode + description: > + This error occurs when you try to update a link from single to + recurrent, but there are no login credentials stored for the user. + properties: + code: + type: string + description: > + A unique error code (`invalid_access_mode_switch`) that allows you + to classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_access_mode_switch errors. + example: invalid_link + message: + type: string + description: | + A short description of the error. + + + For `invalid_access_mode_switch` errors, the description is: + + - `This link doesn't have stored credentials hence it can't be switched to recurrent mode"`. + example: >- + This link doesn't have stored credentials hence it can't be switched + to recurrent mode" + 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 + EnumInstitutionType: + type: string + enum: + - bank + - fiscal + - employment + description: | + The type of institution. We return one of the following values: + + - `bank` + - `fiscal` + - `employment` + InstitutionAccount: + type: object + description: Details regarding the institution. + properties: + name: + type: string + example: erebor_mx_retail + description: > + The name of the institution, as designated by Belvo. + + + Please see our + [Institutions](https://developers.belvo.com/docs/institution) + DevPortal article for a detailed list of institution names. + type: + $ref: '#/components/schemas/EnumInstitutionType' + EnumAccountCategory: + type: string + nullable: true + enum: + - CHECKING_ACCOUNT + - CREDIT_CARD + - INVESTMENT_ACCOUNT + - LOAN_ACCOUNT + - PENSION_FUND_ACCOUNT + - SAVINGS_ACCOUNT + - UNCATEGORIZED + - null + description: | + The type of account. + We return one of the following enum values: + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `INVESTMENT_ACCOUNT` + - `LOAN_ACCOUNT` + - `PENSION_FUND_ACCOUNT` + - `SAVINGS_ACCOUNT` + - `UNCATEGORIZED` + - `null` + example: CHECKING_ACCOUNT + AccountsBalance: + type: object + required: + - current + description: | + Details regarding the current and available balances for the account. + properties: + current: + type: number + nullable: true + format: float + description: > + The current balance is calculated differently according to the type + of account. + + + + - **💰 Checking and saving accounts**: + + + + The user's account balance at the `collected_at` timestamp. + + + - **💳 Credit cards**: + + + + The 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). + + + - **🏡 Loan accounts**: + + + + The amount remaining to pay on the users's loan. + example: 5874.13 + available: + type: number + nullable: true + format: float + description: > + The balance that the account owner can use. + + + - **💰 Checking and saving accounts**: + + + + The available balance may be different to the `current` balance due + to pending transactions. + + + - **💳 Credit cards**: + + + + The 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. + + + - **🏡 Loan accounts**: + + + + The present value required to pay off the loan, as provided by the + institution. + + + + **Note:** If the institution does not provide this value, we return + `null`. + example: 5621.12 + AccountsCreditData: + type: object + nullable: true + required: + - credit_limit + - cutting_date + - next_payment_date + - minimum_payment + - no_interest_payment + - interest_rate + - collected_at + description: The credit options associated with this account. + properties: + credit_limit: + type: number + nullable: true + format: float + example: 192000 + description: The maximum amount of credit the owner can receive. + collected_at: + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + cutting_date: + type: string + nullable: true + example: '2019-12-11' + description: The closing date of the credit period, in `YYYY-MM-DD` format. + next_payment_date: + type: string + description: The due date for the next payment , in `YYYY-MM-DD` format. + example: '2019-12-13' + minimum_payment: + type: number + nullable: true + format: float + example: 2400.3 + description: The minimum amount to be paid on the `next_payment_date`. + no_interest_payment: + type: number + nullable: true + format: float + example: 2690.83 + description: The minimum amount required to pay to avoid generating interest. + interest_rate: + type: number + nullable: true + format: float + description: The annualized interest rate of the credit. + example: 4 + monthly_payment: + type: number + 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.* + + + *The recurrent monthly payment, if applicable.* + example: null + 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.* + + + + *The date when the last credit payment was made, in `YYYY-MM-DD` + format.* + example: null + last_period_balance: + 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.* + + + + *The balance remaining after the `last_payment_date`.* + example: null + EnumLoanDataInterestRateType: + type: string + nullable: true + enum: + - MONTHLY + - YEARLY + description: > + The period that the interest is applied to the loan. We return one of + the following values: + + - `MONTHLY` + - `YEARLY` + example: MONTHLY + AccountsLoanDataInterestRate: + type: object + required: + - name + - type + - value + description: Breakdown of the interest applied to the loan. + properties: + name: + type: string + nullable: true + description: The name of the type of interest rate applied to the loan. + example: jurosEfetivo + type: + $ref: '#/components/schemas/EnumLoanDataInterestRateType' + value: + type: number + nullable: true + format: float + description: The interest rate (in percent or currency value). + example: 7.85 + EnumLoanDataFeeType: + type: string + enum: + - OPERATION_FEE + - INSURANCE_FEE + - OTHERS + description: | + The type of fee. We return one of the following values: + + - `OPERATION_FEE` + - `INSURANCE_FEE` + - `OTHERS` + example: OPERATION_FEE + AccountsLoanDataFees: + type: object + nullable: true + required: + - type + - value + description: Breakdown of the fees applied to the loan. + properties: + type: + $ref: '#/components/schemas/EnumLoanDataFeeType' + value: + type: number + format: float + description: | + The total value of the fee. Same currency of the Loan. + example: 5.6 + AccountsLoanData: + type: object + nullable: true + required: + - principal + - monthly_payment + - outstanding_balance + - interest_rates + - collected_at + description: The loan options associated with this account. + properties: + collected_at: + type: string + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2022-02-09T08:45:50.406032Z' + contract_amount: + type: number + nullable: true + format: float + description: >- + The initial total loan amount, calculated by the institution, when + the contract was signed. This amount includes the principal + + interest + taxes + fees. + example: 202000 + principal: + type: number + nullable: true + format: float + description: Total amount of the loan (the amount the user receives). + example: 192000 + loan_type: + type: string + nullable: true + description: The type of the loan, according to the institution. + example: Consignado + payment_day: + type: string + nullable: true + description: >- + The day of the month by which the owner needs to pay the loan + (`DD`). + example: '27' + outstanding_principal: + type: number + nullable: true + format: float + description: > + Outstanding loan amount, that is, how much remains to pay on the + principal (not including interest). + example: 142023 + outstanding_balance: + type: number + nullable: true + format: float + description: The amount remaining to pay in total, including interest. + example: 182000 + monthly_payment: + type: number + nullable: true + format: float + description: The recurrent monthly payment, if applicable. + example: 1000 + interest_rates: + type: array + nullable: true + description: Breakdown of the interest applied to the loan. + items: + $ref: '#/components/schemas/AccountsLoanDataInterestRate' + fees: + type: array + nullable: true + description: Breakdown of the fees applied to the loan. + items: + $ref: '#/components/schemas/AccountsLoanDataFees' + number_of_installments_total: + type: integer + nullable: true + format: int32 + description: The total number of installments required to pay the loan. + example: 60 + number_of_installments_outstanding: + type: integer + nullable: true + format: int32 + description: The number of installments left to pay. + example: 48 + contract_start_date: + type: string + nullable: true + description: The date when the loan contract was signed , in `YYYY-MM-DD` format. + example: '2020-03-01' + contract_end_date: + type: string + format: date + description: >- + The date when the loan is expected to be completed, in `YYYY-MM-DD` + format. + example: '2027-10-01' + contract_number: + type: string + nullable: true + description: The contract number of the loan, as given by the institution. + example: 890ASLDJF87SD00 + credit_limit: + type: number + 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.* + + + Please see `principal` instead. + example: null + last_period_balance: + type: number + 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.* + + + Please see `outstanding_balance` instead. + example: null + interest_rate: + type: number + 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.* + + + Please see the `interest_rates` object instead. + example: null + limit_day: + 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.* + + + Please see `payment_day` instead. + example: null + cutting_day: + 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.* + + + The closing day of the month for the loan. + example: null + cutting_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.* + + + The closing date of the loan period, in `YYYY-MM-DD` format. + example: null + 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.* + + + The date when the last loan payment was made, in `YYYY-MM-DD` + format. + next_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.* + + + Please use `payment_day` instead, in `YYYY-MM-DD` format. + example: null + no_interest_payment: + type: number + 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.* + + + The minimum amount required to pay to avoid generating interest. + example: null + AccountsFundsDataPublicIdentifications: + type: object + required: + - name + - value + properties: + name: + type: string + description: The type of identification number for the fund. + example: CNPJ + value: + type: string + nullable: true + description: The fund's identification number. + example: 05.954.445/0221-68 + AccountsFundsData: + type: object + properties: + collected_at: + type: string + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + name: + type: string + nullable: true + example: FIX X + description: The pension fund name. + type: + type: string + nullable: true + example: CNPJ + description: Type of pension fund. + public_identifications: + type: array + nullable: true + description: The fund's public IDs. + items: + $ref: '#/components/schemas/AccountsFundsDataPublicIdentifications' + balance: + type: number + nullable: true + format: float + example: 88427.94 + description: The amount in the fund. + percentage: + type: number + nullable: true + format: float + example: 100 + description: | + How much this fund, as a percentage, contributes to the pension + account's total. + Account: + type: object + nullable: true + title: Accounts Standard (Multi-Region) + description: > + Details regarding the account. + + + **Note**: For our recurring expenses resource, this account relates to + the account that was analyzed to generate the recurring expenses report. + 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 + description: | + The unique identifier created by Belvo used to reference the current + account. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: + type: string + nullable: true + description: The `link.id` the account belongs to. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + $ref: '#/components/schemas/InstitutionAccount' + collected_at: + type: string + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + category: + $ref: '#/components/schemas/EnumAccountCategory' + balance_type: + type: string + 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. + example: ASSET + type: + type: string + nullable: true + description: The account type, as designated by the institution. + example: Cuentas de efectivo + name: + type: string + nullable: true + description: The account name, as given by the institution. + example: Cuenta Perfiles- M.N. - MXN-666 + number: + type: string + nullable: true + description: The account number, as designated by the institution. + example: '4057068115181' + balance: + $ref: '#/components/schemas/AccountsBalance' + currency: + type: string + nullable: true + description: |- + The currency of the account. For example: + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + + Please note that other currencies other than in the list above may be returned. + example: MXN + public_identification_name: + type: string + nullable: true + description: > + The public name for the type of identification. For example: + `"CLABE"`. + + + ℹ️ For 🇧🇷 Brazilian savings and checking accounts, this field will + be `AGENCY/ACCOUNT`. + example: CLABE + public_identification_value: + type: string + nullable: true + description: > + The value for the `public_identification_name`. + + + ℹ️ For 🇧🇷 Brazilian savings and checking accounts, this field will + be the agency and bank account number, separated by a slash. + + For example: `0444/45722-0`. + example: '150194683119900273' + last_accessed_at: + type: string + nullable: true + format: date-time + description: > + The ISO-8601 timestamp of Belvo's most recent successful access to + the institution for the given link. + example: '2021-03-09T10:28:40.000Z' + credit_data: + $ref: '#/components/schemas/AccountsCreditData' + loan_data: + $ref: '#/components/schemas/AccountsLoanData' + funds_data: + type: array + nullable: true + description: One or more funds that contribute to the the pension account. + items: + $ref: '#/components/schemas/AccountsFundsData' + bank_product_id: + 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.* + + + *The institution's product ID for the account type.* + example: null + internal_identification: + deprecated: true + type: string + nullable: 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.* + + + *The institution's internal identification for the account.* + example: null + AccountsPaginatedResponse: + type: object + title: Accounts Standard (Multi-Region) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: An array of Account objects. + items: + $ref: '#/components/schemas/Account' + EnumAccountCategoryOpenFinance: + type: string + nullable: true + enum: + - ADVANCE_DEPOSIT_ACCOUNT + - CHECKING_ACCOUNT + - CREDIT_CARD + - FINANCING_ACCOUNT + - INVESTMENT_ACCOUNT + - INVOICE_FINANCING_ACCOUNT + - LOAN_ACCOUNT + - PENSION_FUND_ACCOUNT + - SAVINGS_ACCOUNT + - UNCATEGORIZED + description: | + The type of account. + We return one of the following enum values: + - `ADVANCE_DEPOSIT_ACCOUNT` + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `FINANCING_ACCOUNT` + - `INVESTMENT_ACCOUNT` + - `INVOICE_FINANCING_ACCOUNT` + - `LOAN_ACCOUNT` + - `PENSION_FUND_ACCOUNT` + - `SAVINGS_ACCOUNT` + - `UNCATEGORIZED` + example: CHECKING_ACCOUNT + AccountOverdraftOpenFinanceBrazil: + type: object + nullable: true + required: + - arranged + - used + - unarranged + properties: + arranged: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The agreed upon overdraft limit between the account holder and the + institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `overdraft` field is available. + example: 5000.5 + used: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The overdraft value used. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `overdraft` field is available. + example: 1000.5 + unarranged: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The overdraft used that was not arranged between the account holder + and the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `overdraft` field is available. + example: 300.1 + AccountBalanceOpenFinanceBrazil: + type: object + required: + - current + description: | + Details regarding the current and available balances for the account. + properties: + current: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The current balance is calculated differently according to the type + of account. + + + + - **💰 Checking and saving accounts**: + + + + The user's account balance at the `collected_at` timestamp. + + + - **💳 Credit cards**: + + + + The 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). + + + - **🏡 Loan accounts**: + + + + The amount remaining to pay on the users's loan. + example: 5874.13 + available: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The balance that the account owner can use. + + + - **💰 Checking and saving accounts**: + + + + The available balance may be different to the `current` balance due + to pending transactions. + + + - **💳 Credit cards**: + + + + The credit amount the user still has available for the current + period. The amount is calculated as `credit_data.credit_limit` minus + `balance.current`. + + + - **🏡 Loan accounts**: + + + + The present value required to pay off the loan, as provided by the + institution. + + + + **Note:** If the institution does not provide this value, we return + `null`. + example: 5621.12 + blocked: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The amount that is currently blocked due to pending transactions. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + example: 60.32 + automatically_invested: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The amount that is automatically invested (as agreed upon with the + institution). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + example: 131.5 + EnumCreditCardLimitType: + type: string + enum: + - TOTAL_LIMIT + - MODAL_LIMIT + description: | + The type of limit. We return one of the following values: + + - `TOTAL_LIMIT` + - `MODAL_LIMIT` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: TOTAL_LIMIT + AccountCreditDataLimitsOpenFinanceBrazil: + type: object + description: > + Detailed information regarding the credit limits for the credit cards. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + required: + - identification_number + - credit_limit + - used_amount + - available_amount + - is_limit_flexible + - type + - consolidation_type + - line_name + - line_name_additional_info + properties: + identification_number: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The credit card number. + + + **Note:** Often, this is just the last four digit of the credit + card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '4453' + credit_limit: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The limit of the credit card. + example: 1000.04 + used_amount: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The amount used. + example: 400.04 + available_amount: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The amount still available. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 600 + is_limit_flexible: + type: boolean + description: > + Boolean to indicate if the `credit_limit` is flexible. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: false + type: + $ref: '#/components/schemas/EnumCreditCardLimitType' + consolidation_type: + type: string + description: > + Indicates whether or not the credit limit is consolidated or + individual. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: INDIVIDUAL + line_name: + type: string + nullable: true + description: | + The credit limit line name. + example: CREDITO_A_VISTA + line_name_additional_info: + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + description: | + Additional information about the line name. + example: Informações adicionais e complementares + EnumAccountCreditCardNetwork: + type: string + enum: + - VISA + - MASTERCARD + - AMERICAN_EXPRESS + - DINERS_CLUB + - HIPERCARD + - BANDEIRA_PROPRIA + - CHEQUE_ELETRONICO + - ELO + - OTHER + description: > + The credit network that the card is associated with. We return one of + the following values: + + - `VISA` + - `MASTERCARD` + - `AMERICAN_EXPRESS` + - `DINERS_CLUB` + - `HIPERCARD` + - `BANDEIRA_PROPRIA` + - `CHEQUE_ELETRONICO` + - `ELO` + - `OTHER` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: MASTERCARD + AccountCreditDataCardsOpenFinanceBrazil: + type: object + required: + - is_multiple + - identification_number + description: Details regarding all the cards associated with the account. + properties: + is_multiple: + type: boolean + description: > + Boolean to indicate if this account has multiple credit cards. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: false + identification_number: + type: string + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The credit card number. + + + **Note:** Often, this is just the last four digit of the credit + card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '4453' + AccountCreditDataOpenFinanceBrazil: + type: object + nullable: true + required: + - collected_at + - credit_limit + description: Details regarding the credit cards associated with this account. + properties: + collected_at: + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + credit_limit: + type: number + nullable: true + format: float + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The upper credit limit of the card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 192000.9 + limits: + type: array + items: + $ref: '#/components/schemas/AccountCreditDataLimitsOpenFinanceBrazil' + cutting_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: The date when the credit card's bill is due. + example: '2019-12-11' + minimum_payment: + type: number + nullable: true + format: float + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The minimum amount that the account owner needs to pay in the + current credit period. + example: 2400.3 + network: + $ref: '#/components/schemas/EnumAccountCreditCardNetwork' + network_additional_info: + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + description: | + Additional information about the credit card network. + example: It's an orange card. + cards: + type: array + minItems: 1 + description: Details regarding the cards associated with the account. + items: + $ref: '#/components/schemas/AccountCreditDataCardsOpenFinanceBrazil' + next_payment_date: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + no_interest_payment: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + interest_rate: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + monthly_payment: + type: number + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + last_payment_date: + type: string + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + EnumAccountLoanDataInterestRateType: + type: string + enum: + - MONTHLY + - YEARLY + description: > + The period that the interest is applied to the loan. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + example: MONTHLY + EnumAccountLoanDataInterestRateDataTaxType: + type: string + enum: + - NOMINAL + - EFFECTIVE + description: | + The type of interest rate tax. We return one of the following values: + + - `NOMINAL` + - `EFFECTIVE` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: NOMINAL + EnumAccountLoanDataInterestRateDataRateType: + type: string + enum: + - SIMPLE + - COMPOUND + description: | + The type of interest rate. We return one of the following values: + + - `SIMPLE` + - `COMPOUND` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: SIMPLE + EnumAccountLoanDataInterestRateDataReferenceIndexType: + type: string + enum: + - WITHOUT_INDEX_TYPE + - PRE_FIXED + - POST_FIXED + - FLOATING + - INDEXED_PRICE + - RURAL_CREDIT + - OTHER_INDEX + description: | + The reference index rate. We return one of the following values: + + - `WITHOUT_INDEX_TYPE` + - `PRE_FIXED` + - `POST_FIXED` + - `FLOATING` + - `INDEXED_PRICE` + - `RURAL_CREDIT` + - `OTHER_INDEX` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: FLOATING + 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 + description: Detailed information regarding the interest rate. + properties: + tax_type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateDataTaxType' + rate_type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateDataRateType' + type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateType' + calculation_base: + type: string + pattern: ^[0-9]{2}\/[0-9]{3}$ + description: > + The base calculation for the interest rate. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 30/360 + reference_index_type: + $ref: >- + #/components/schemas/EnumAccountLoanDataInterestRateDataReferenceIndexType + reference_index_subtype: + type: string + nullable: true + description: | + The subtype of the reference index rate. + example: TR_TBF + reference_index_info: + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + Additional information regarding the reference index rate. + example: Additional information + pre_fixed_rate: + type: number + format: float + pattern: ^[01]\.\d{6}$ + description: > + The pre-fixed percentage rate of the interest rate. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 0.062 + post_fixed_rate: + type: number + format: float + pattern: ^[01]\.\d{6}$ + description: > + The post-fixed percentage rate of the interest rate. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 0.062 + additional_info: + type: string + nullable: true + maxLength: 1200 + pattern: '[\w\W\s]*' + description: | + Additional information regarding the interest rate. + example: Additional information + AccountLoanDataInterestRateOpenFinanceBrazil: + type: object + required: + - name + - type + - value + - interest_rate_data + 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. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + properties: + name: + type: string + nullable: true + description: > + The name of the type of interest rate applied to the loan. + + + **Note:** For OFDA Brazil, we recommend you use the + `interest_date_data.tax_type` parameter. + example: NOMINAL + type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateType' + value: + type: number + nullable: true + format: float + description: > + The interest rate (in percent or currency value). + + + **Note:** For OFDA Brazil, we recommend you use the + `interest_date_data.pre_fixed_rate` and + `interest_date_data.post_fixed_rate`parameter. + example: 7.85 + interest_rate_data: + $ref: >- + #/components/schemas/AccountLoanDataInterestRateDataOpenFinanceBrazil + EnumAccountLoanDataFeeType: + type: string + nullable: true + enum: + - OPERATION_FEE + - INSURANCE_FEE + - OTHERS + - null + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + EnumAccountLoanDataFeeChargeType: + type: string + enum: + - SINGLE + - PER_INSTALLMENT + description: | + Indicates the type of charge. We return one of the following values: + + - `SINGLE` + - `PER_INSTALLMENT` + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + example: SINGLE + EnumAccountLoanDataFeeCharge: + type: string + enum: + - MINIMUM + - MAXIMUM + - FIXED + - PERCENTAGE + description: > + Billing method, as agreed upon with the institution. We return one of + the following values: + + - `MINIMUM` + - `MAXIMUM` + - `FIXED` + - `PERCENTAGE` + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + example: FIXED + AccountLoanDataFeesOpenFinanceBrazil: + type: object + nullable: true + required: + - type + - value + - name + - code + - fee_charge_type + - fee_charge + - rate + description: Breakdown of the fees applied to the loan. + properties: + type: + $ref: '#/components/schemas/EnumAccountLoanDataFeeType' + value: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The total value of the fee. Same currency as the loan. + example: 5.6 + name: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + The fee name. + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + example: Renovação de cadastro + code: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + The fee code. + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + example: CADASTRO + fee_charge_type: + $ref: '#/components/schemas/EnumAccountLoanDataFeeChargeType' + fee_charge: + $ref: '#/components/schemas/EnumAccountLoanDataFeeCharge' + rate: + type: number + nullable: true + format: float + pattern: ^[01]\.\d{6}$ + description: > + The percentage rate of the fee. Required when `fee_charge` is set to + `PERCENTAGE`. + example: 0.062 + EnumAccountLoanDataContractedChargeType: + type: string + enum: + - LATE_PAYMENT_INTEREST_FEE + - LATE_PAYMENT_PENALTY_FEE + - DEFAULT_INTEREST_FEE + - LOAN_CONTRACT_TAX + - LATE_PAYMENT_TAX + - NO_CHARGE + - OTHER + description: | + The type of contracted charge. We return one of the following values: + + - `LATE_PAYMENT_INTEREST_FEE` + - `LATE_PAYMENT_PENALTY_FEE` + - `DEFAULT_INTEREST_FEE` + - `LOAN_CONTRACT_TAX` + - `LATE_PAYMENT_TAX` + - `NO_CHARGE` + - `OTHER` + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `contracted_charges` field is available. + example: LATE_PAYMENT_INTEREST_FEE + AccountLoanDataContractedChargesOpenFinanceBrazil: + type: object + nullable: true + description: | + Details regarding any contracted charges. + properties: + type: + $ref: '#/components/schemas/EnumAccountLoanDataContractedChargeType' + info: + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + Additional information regarding the contracted charge. + example: Late fee + rate: + type: number + nullable: true + format: float + pattern: ^[01]\.\d{6}$ + description: > + The percentage rate of the charge, calculated based on the amount of + the loan. + example: 0.062 + AccountLoanDataCollateralsOpenFinanceBrazil: + type: object + nullable: true + description: >- + Details regarding any loan collaterals that the individual or business + supplied. + required: + - type + - subtype + - currency + - amount + properties: + type: + type: string + description: > + The type of collateral, as defined by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + example: OPERACOES_GARANTIDAS_PELO_GOVERNO + subtype: + type: string + description: > + The subtype of the collateral, as defined by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + example: CCR_CONVENIO_CREDITOS_RECIPROCOS + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + example: BRL + amount: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The total amount of the bill. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + example: 45391.89 + AccountLoanDataBalloonPaymentsOpenFinanceBrazil: + type: object + nullable: true + description: >- + Detailed information regarding any balloon payments for the loan, if + applicable. + required: + - due_date + - currency + - amount + properties: + due_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date that the balloon payment is to be paid, in `YYYY-MM-DD` + format. + example: '2021-09-06' + currency: + type: string + nullable: true + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: | + The three-letter currency code (ISO-4217). + example: BRL + amount: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The total amount of the balloon payment. + example: 45391.89 + EnumAccountsLoanDataContractInstallmentFrequency: + type: string + nullable: true + enum: + - DAY + - WEEK + - MONTH + - YEAR + - NO_DEADLINE_REMAINING + - null + description: > + The frequency of contracted installment payments, as defined when the + contract was first signed. We return one of the following: + + - `DAY` + - `WEEK` + - `MONTH` + - `YEAR` + - `NO_DEADLINE_REMAINING` + - `null` + example: MONTH + EnumAccountLoanDataInstallmentFrequency: + type: string + enum: + - IRREGULAR + - WEEKLY + - FORTNIGHTLY + - MONTHLY + - BIMONTHLY + - QUARTERLY + - BIANNUALLY + - ANNUALLY + - OTHER + description: > + The frequency that the installments are paid. We return one of the + following values: + + - `IRREGULAR` + - `WEEKLY` + - `FORTNIGHTLY` + - `MONTHLY` + - `BIMONTHLY` + - `QUARTERLY` + - `BIANNUALLY` + - `ANNUALLY` + - `OTHER` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: MONTHLY + EnumAccountLoanDataContractRemainingFrequency: + type: string + nullable: true + enum: + - DAY + - WEEK + - MONTH + - YEAR + - NO_DEADLINE_REMAINING + - null + description: > + The frequency of the remaining contracted installment payments, as + defined when the contract was first signed. We return one of the + following: + + - `DAY` + + - `WEEK` + + - `MONTH` + + - `YEAR` + + - `NO_DEADLINE_REMAINING` + + - `null` + example: MONTH + 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 + description: The loan options associated with this account. + properties: + collected_at: + type: string + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2022-02-09T08:45:50.406032Z' + loan_code: + type: string + minLength: 22 + maxLength: 67 + pattern: ^\d{22,67}$ + description: > + The country-specific standardized contract number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '92792126019929279212650822221989319252576' + contract_amount: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The initial total loan amount when the contract was signed, + calculated by the institution. This amount includes the principal + + interest + taxes + fees. + example: 202000 + total_effective_cost: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The initial total effective cost of the loan. + example: 209000 + loan_type: + type: string + description: > + The type of the loan, according to the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: HOME_EQUITY + outstanding_balance: + type: number + nullable: true + format: float + minLength: 4 + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The amount remaining to pay in total, including interest. + example: 182000 + interest_rates: + type: array + 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. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/AccountLoanDataInterestRateOpenFinanceBrazil' + fees: + type: array + nullable: true + description: | + Breakdown of the fees applied to the loan. + items: + $ref: '#/components/schemas/AccountLoanDataFeesOpenFinanceBrazil' + contracted_charges: + type: array + nullable: true + description: '' + items: + $ref: >- + #/components/schemas/AccountLoanDataContractedChargesOpenFinanceBrazil + collaterals: + type: array + nullable: true + description: > + Details regarding any loan collaterals that the individual or + business supplied. + items: + $ref: '#/components/schemas/AccountLoanDataCollateralsOpenFinanceBrazil' + balloon_payments: + type: array + nullable: true + description: > + Detailed information regarding any balloon payments for the loan, if + applicable. + items: + $ref: >- + #/components/schemas/AccountLoanDataBalloonPaymentsOpenFinanceBrazil + installments_contract_term_frequency: + $ref: >- + #/components/schemas/EnumAccountsLoanDataContractInstallmentFrequency + installment_frequency: + $ref: '#/components/schemas/EnumAccountLoanDataInstallmentFrequency' + installment_frequency_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,99}$$ + description: | + Additional information regarding the `installment_frequency`. + example: Both the term and requency are the same. + first_installment_due_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date when the first installment of the loan is to be paid, in + `YYYY-MM-DD` format. + example: '2020-03-01' + number_of_installments_total: + type: integer + nullable: true + format: int32 + maximum: 999999999 + description: | + The total number of installments required to pay the loan. + example: 60 + number_of_installments_outstanding: + type: integer + nullable: true + format: int32 + maximum: 999999999 + description: | + The number of installments left to pay. + example: 48 + number_of_installments_paid: + type: integer + nullable: true + format: int32 + maximum: 999999999 + description: | + The number of installments already paid. + example: 32 + number_of_installments_past_due: + type: integer + nullable: true + format: int32 + maximum: 999 + description: | + The number of installments that are overdue. + example: 2 + disbursement_dates: + type: array + nullable: true + minItems: 1 + description: | + An array of dates when the loan was disbursed. + items: + type: string + nullable: true + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date that the loan was disbursed, in `YYYY-MM-DD` format. + example: '2021-09-23' + settlement_date: + type: string + nullable: true + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date that the loan was settled, in `YYYY-MM-DD` format. + example: '2021-09-23' + contract_start_date: + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date when the loan contract was signed, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '2020-03-01' + contract_end_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date when the loan is expected to be completed, in `YYYY-MM-DD` + format. + example: '2027-10-01' + contract_remaining_frequency: + $ref: '#/components/schemas/EnumAccountLoanDataContractRemainingFrequency' + contract_remaining_total: + type: integer + nullable: true + format: int32 + maximum: 999999999 + description: | + The total number of installments remaining on the loan. + example: 20 + amortization_schedule: + type: string + description: > + The loan amortization schedule. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: SEM_SISTEMA_AMORTIZACAO + amortization_schedule_info: + type: string + nullable: true + maxLength: 200 + pattern: '[\w\W\s]*' + description: | + Additional information regarding the `amortization_schedule`. + example: No need for a schedule. + consignee_id: + type: string + nullable: true + maxLength: 14 + pattern: ^\d{14}$ + description: | + The ID of the consignee of the loan. + example: '60500998000135' + contract_number: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^\d{1,100}$ + description: | + The contract number of the loan, as given by the institution. + example: '1324926521496' + monthly_payment: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + principal: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + payment_day: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + outstanding_principal: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + credit_limit: + type: number + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + last_period_balance: + type: number + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + interest_rate: + type: number + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + limit_day: + type: string + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + cutting_day: + type: string + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + cutting_date: + type: string + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + last_payment_date: + type: string + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + no_interest_payment: + type: number + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + AccountOpenFinanceBrazil: + type: object + nullable: true + title: Accounts (OFDA Brazil) + description: | + Details regarding the account. + 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 + description: | + The unique identifier created by Belvo for the current + account. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: + type: string + nullable: true + description: The `link.id` the account belongs to. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + $ref: '#/components/schemas/InstitutionAccount' + collected_at: + type: string + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was created in Belvo's + database. + example: '2022-02-09T08:45:50.406032Z' + last_accessed_at: + type: string + nullable: true + format: date-time + description: > + The ISO-8601 timestamp of Belvo's most recent successful access to + the institution for the given link. + example: '2021-03-09T10:28:40.000Z' + category: + $ref: '#/components/schemas/EnumAccountCategoryOpenFinance' + balance_type: + type: string + 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. + example: ASSET + overdraft: + $ref: '#/components/schemas/AccountOverdraftOpenFinanceBrazil' + type: + type: string + description: > + The account type, as designated by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: STANDARD_NACIONAL + subtype: + type: string + description: > + The account subtype, as designated by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: FINANCIAMENTO_HABITACIONAL_SFH + name: + type: string + nullable: true + description: The account name, as given by the institution. + example: Cuenta Perfiles- M.N. - MXN-666 + number: + type: string + nullable: true + description: | + The account number, as designated by the institution. + example: '4057068115181' + agency: + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + description: | + The branch code where the product was opened. + example: '6272' + check_digit: + type: string + nullable: true + maxLength: 2 + pattern: '[\w\W\s]*' + description: | + The check digit of the product's number, if applicable. + example: '7' + balance: + $ref: '#/components/schemas/AccountBalanceOpenFinanceBrazil' + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + example: BRL + public_identification_name: + type: string + nullable: true + description: > + The public name for the type of identification. For 🇧🇷 Brazilian + savings and checking accounts, this field will be `AGENCY/ACCOUNT`. + example: AGENCY/ACCOUNT + public_identification_value: + type: string + nullable: true + description: > + The value for the `public_identification_name`. + + + For 🇧🇷 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`. + + + For 🇧🇷 OFDA Brazilian credit card accounts, we will return a + string of concatenated credit card numbers associated with the + account. For example: "8763,9076,5522" + example: 0444/45722-0 + internal_identification: + type: string + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The institution's internal identification for the account. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + example: '92792126019929279212650822221989319252576' + credit_data: + $ref: '#/components/schemas/AccountCreditDataOpenFinanceBrazil' + loan_data: + $ref: '#/components/schemas/AccountLoanDataOpenFinanceBrazil' + funds_data: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + AccountsPaginatedResponseOpenFinanceBrazil: + type: object + title: Accounts (OFDA Brazil) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: An array of account objects. + items: + $ref: '#/components/schemas/AccountOpenFinanceBrazil' + StandardRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + token: + type: string + description: The OTP token generated by the bank. + example: 1234ab + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + 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 408 request_timeout errors. + example: request_timeout + message: + type: string + description: | + A short description of the error. + + + For `request_timeout` errors, the description is: + + - `The request timed out, you can retry asking for less data by changing your query parameters`. + example: >- + The request timed out, you can retry asking for less data by + changing your query parameters + 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 + PatchBody: + type: object + description: A JSON object containing a session UUID and a MFA token + required: + - session + - link + properties: + session: + type: string + pattern: '[a-f0-9]{32}' + description: | + The session you want to resume. You need to use the `session` value + that is provided in the 428 Token Required response that you receive + after you make your POST request. + example: 6e7b283c6efa449c9c028a16b5c249fa + token: + type: string + description: | + The MFA token generated by the institution and required to continue + a session. + example: 1234ab + link: + type: string + format: uuid + description: | + The `link.id` you want to resume. Must be the same `link.id` as the + one you receive in the 428 Token Required response that contains the + `session` ID. + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + TransactionMerchantData: + type: object + nullable: true + description: > + Additional data regarding the merchant involved in the transaction. + + We only return merchant information for new transactions made from + *checking* or *credit card* accounts. + + > **Get merchant information** + We retrieve the merchant information for a transaction as part of our [Transaction categorization](https://developers.belvo.com/docs/banking#categorizing-transactions) product, turning raw data into actionable insights. To enable this product, just [reach out](https://belvo.com/contact/?utm_source=documentation) to us, and we'll get right to it. + properties: + logo: + type: string + nullable: true + description: The URL to the merchant's logo. + example: https://logo.clearbit.com/asesor-contable.es + website: + type: string + nullable: true + description: The URL to the merchant's website. + example: https://merchants-r-us.com + merchant_name: + type: string + description: The name of the merchant. + example: Merchants R Us Global + EnumTransactionCategory: + type: string + nullable: true + enum: + - Bills & Utilities + - Credits & Loans + - Deposits + - Fees & Charges + - Food & Groceries + - Home & Life + - Income & Payments + - Insurance + - Investments & Savings + - Online Platforms & Leisure + - Personal Shopping + - Taxes + - Transfers + - Transport & Travel + - Unknown + - Withdrawal & ATM + - null + description: > + The name of the transaction category. + + + > **Get transaction categorization** + + With [Transaction + categorization](https://developers.belvo.com/docs/banking#categorizing-transactions), + we clean and categorize transactions for you, turning raw data into + actionable insights. To enable this feature, just [reach + out](https://belvo.com/contact/?utm_source=documentation) to us, and + we'll get right to it. + + + We return one of the following enum values: + + - `Bills & Utilities` + - `Credits & Loans` + - `Deposits` + - `Fees & Charges` + - `Food & Groceries` + - `Home & Life` + - `Income & Payments` + - `Insurance` + - `Investments & Savings` + - `Online Platforms & Leisure` + - `Personal Shopping` + - `Taxes` + - `Transfers` + - `Transport & Travel` + - `Unknown`* + - `Withdrawal & ATM` + - `null` + + + \* For clients not using our Transaction Categorization product, we return `null` instead. + example: Income & Payments + EnumTransactionSubcategory: + type: string + nullable: true + enum: + - Electricity & Energy + - Rent + - Telecommunications + - Water + - Auto + - Credit Card + - Instalment + - Interest & Charges + - Mortgage + - Pay Advance + - Personal + - Adjustments + - Bank Fees + - Chargeback + - Refund + - Blocked Balances + - Alimony + - Alcohol & Tobacco + - Bakery & Coffee + - Bars & Nightclubs + - Convenience Store + - Delivery + - Groceries + - Restaurants + - Education + - Gyms & Fitness + - Hair & Beauty + - Health + - Home Decor & Appliances + - Laundry & Dry Cleaning + - Pharmacies + - Professional Services + - Veterinary Services + - Freelance + - Interest + - Retirement + - Salary + - Government + - Home Insurance + - Auto Insurance + - Health & Life Insurance + - Savings + - Fixed income + - Equity + - Investment Funds + - Derivatives + - Cryptocurrencies + - Apps, Software and Cloud Services + - Events, Parks and Museums + - Gambling + - Gaming + - Lottery + - Movie & Audio + - Books & News + - Clothing & Accessories + - Department Store + - Electronics + - E-commerce + - Gifts + - Office Supplies + - Pet Supplies + - Auto Tax & Fees + - Donation + - Government Fees + - Income Tax + - Real Estate Tax & Fees + - Tax Return + - Accommodation + - Auto Expenses + - Auto Rental + - Flights + - Gas + - Mileage Programs + - Parking & Tolls + - Public Transit + - Taxis & Rideshares + - Other + - null + description: | + The transaction subcategory. + + > **Get transaction categorization** + For clients not using our [Transaction categorization](https://developers.belvo.com/docs/banking#categorizing-transactions), we return `null` instead. To enable this feature, just [reach out](https://belvo.com/contact/?utm_source=documentation) to us, and we'll get right to it. + + + We return one of the following enum values: + + - `Electricity & Energy` + - `Rent` + - `Telecommunications` + - `Water` + - `Auto` + - `Credit Card` + - `Instalment` + - `Interest & Charges` + - `Mortgage` + - `Pay Advance` + - `Personal` + - `Adjustments` + - `Bank Fees` + - `Chargeback` + - `Refund` + - `Blocked Balances` + - `Alimony` + - `Alcohol & Tobacco` + - `Bakery & Coffee` + - `Bars & Nightclubs` + - `Convenience Store` + - `Delivery` + - `Groceries` + - `Restaurants` + - `Education` + - `Gyms & Fitness` + - `Hair & Beauty` + - `Health` + - `Home Decor & Appliances` + - `Laundry & Dry Cleaning` + - `Pharmacies` + - `Professional Services` + - `Veterinary Services` + - `Freelance` + - `Interest` + - `Retirement` + - `Salary` + - `Government` + - `Home Insurance` + - `Auto Insurance` + - `Health & Life Insurance` + - `Savings` + - `Fixed income` + - `Equity` + - `Investment Funds` + - `Derivatives` + - `Cryptocurrencies` + - `Apps, Software and Cloud Services` + - `Events, Parks and Museums` + - `Gambling` + - `Gaming` + - `Lottery` + - `Movie & Audio` + - `Books & News` + - `Clothing & Accessories` + - `Department Store` + - `Electronics` + - `E-commerce` + - `Gifts` + - `Office Supplies` + - `Pet Supplies` + - `Auto Tax & Fees` + - `Donation` + - `Government Fees` + - `Income Tax` + - `Real Estate Tax & Fees` + - `Tax Return` + - `Accommodation` + - `Auto Expenses` + - `Auto Rental` + - `Flights` + - `Gas` + - `Mileage Programs` + - `Parking & Tolls` + - `Public Transit` + - `Taxis & Rideshares` + - `Other` + - `null` + example: Freelance + EnumTransactionType: + type: string + nullable: true + enum: + - OUTFLOW + - INFLOW + - null + description: > + The direction of the transaction: + + - `INFLOW` indicates money coming into the account. + + - `OUTFLOW` indicates money going out of the account. + + - `null` when no information was present regarding the direction of the + transaction. + example: INFLOW + EnumTransactionStatus: + type: string + nullable: true + enum: + - PENDING + - PROCESSED + - UNCATEGORIZED + - null + description: | + The status of the transaction. We return one of the following values: + + - `PROCESSED` (The transaction has been processed by the institution.) + - `PENDING` (The institution clearly states that the transaction has not yet been processed.) + - `UNCATEGORIZED` (deprecated) + - `null` (deprecated) + + example: PROCESSED + EnumTransactionBillStatus: + type: string + nullable: true + enum: + - PAID + - CLOSED + - OPEN + - FUTURE + - null + description: | + The status of the bill that the transaction appears on. Can be one of: + + - `PAID`: The bill has been paid in full. + - `CLOSED`: The bill has been closed by the institution. + - `OPEN`: The bill is currently open. (Note: This is the main bill that Belvo retrieves balance data from). + - `FUTURE`: The bill is pending. + - `null`: No bill status was identified. + + ℹ️ Note: Some banks consider CLOSED as PAID. + example: PAID + TransactionCreditCardData: + type: object + nullable: true + description: >- + Additional data provided by the institution for credit card + transactions. + properties: + collected_at: + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + bill_name: + type: string + nullable: true + description: > + The title of the monthly credit card bill the transaction belongs + to. The format of the returned value is institution specific, + however, some common examples are: + + + - diciembre-2021 + + - dec-2021 + + - dec-21 + example: apr-2020 + bill_status: + $ref: '#/components/schemas/EnumTransactionBillStatus' + bill_amount: + type: number + nullable: true + format: float + description: The aggregate bill amount, as of `collected_at`. + example: 300 + previous_bill_total: + type: string + nullable: true + description: The total amount of the previous month's bill, if available. + example: '9614.30' + Transaction: + type: object + title: Transaction Standard (Multi-Region) + required: + - value_date + - accounting_date + - amount + - currency + - description + - reference + - observations + - balance + - status + - account + - type + - collected_at + - category + - merchant + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the transaction. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + internal_identification: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: | + The institution's internal identification for the transaction. + example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl + account: + $ref: '#/components/schemas/Account' + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-11-28T10:27:44.813Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + value_date: + type: string + nullable: true + format: date + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: The date when the transaction occurred, in `YYYY-MM-DD` format. + example: '2019-10-23' + accounting_date: + type: string + nullable: true + description: >- + The date when the transaction was processed and accounted for by the + institution, in `YYYY-MM-DD` format. + example: '2019-10-23' + amount: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The transaction amount. + + ℹ️ The amount displayed is always positive as we indicate the + direction of the transaction in the `type` parameter. + example: 2145.45 + balance: + type: number + nullable: true + format: float + description: The balance at the end of the transaction. + example: 16907.96 + currency: + type: string + nullable: true + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: | + The three-letter currency code (ISO-4217). + example: BRL + description: + type: string + nullable: true + description: > + The description of transaction provided by the institution. Usually + this + + is the text that the end user sees in the online platform. + example: SEVEN BUDDHAS RFC:XXXXXXXXXX + observations: + type: string + nullable: true + description: >- + Additional observations provided by the institution on the + transaction. + example: OPTIONAL OBSERVATIONS + merchant: + $ref: '#/components/schemas/TransactionMerchantData' + category: + $ref: '#/components/schemas/EnumTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumTransactionSubcategory' + reference: + type: string + nullable: true + maxLength: 128 + description: The reference number of the transaction, provided by the bank. + example: '8703' + type: + $ref: '#/components/schemas/EnumTransactionType' + status: + $ref: '#/components/schemas/EnumTransactionStatus' + credit_card_data: + $ref: '#/components/schemas/TransactionCreditCardData' + TransactionsPaginatedResponse: + type: object + title: Transactions Standard (Multi-Region) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of transaction objects (Multi-Region). + items: + $ref: '#/components/schemas/Transaction' + EnumTransactionCreditCardDataFeeType: + type: string + nullable: true + enum: + - ANNUAL_FEE + - NATIONAL_WITHDRAWAL + - INTERNATIONAL_WITHDRAWAL + - EMERGENCY_CREDIT_EVALUATION_FEE + - DUPLICATE_ISSUANCE_FEE + - PAYMENT_FEE + - SMS_FEE + - OTHERS + - null + description: > + The fee that can be charged for a card transaction. We return one of the + following values: + + - `ANNUAL_FEE` + - `NATIONAL_WITHDRAWAL` + - `INTERNATIONAL_WITHDRAWAL` + - `EMERGENCY_CREDIT_EVALUATION_FEE` + - `DUPLICATE_ISSUANCE_FEE` + - `PAYMENT_FEE` + - `SMS_FEE` + - `OTHERS` + - `null` + example: NATIONAL_WITHDRAWAL + EnumTransactionCreditCardDataCreditType: + type: string + nullable: true + enum: + - REVOLVING_CREDIT + - BILL_INSTALLMENT_PAYMENT + - LOAN + - OTHERS + - null + description: > + Other types of credit that have been contracted on the card. We return + one of the following values: + + - `REVOLVING_CREDIT` + - `BILL_INSTALLMENT_PAYMENT` + - `LOAN` + - `OTHERS` + - `null` + example: BILL_INSTALLMENT_PAYMENT + TransactionCreditCardBill: + type: object + nullable: true + description: > + Information regarding the bill that this transaction appears on. + + + Note: This field is currrently unavailable and will only be available in + Q4 2023. + properties: + id: + type: string + format: uuid + description: > + The unique identifier created by Belvo used to reference the current + credit card bill. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + example: 8e9d13c2-af41-4a49-b43e-2da012bd1d11 + internal_identification: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The institution's internal identifier for the bill. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + example: '92792126019929279212650822221989319252576' + TransactionCreditCardDataOpenFinanceBrazil: + type: object + nullable: true + required: + - collected_at + - bill_name + - bill_status + - previous_bill_total + - bill_amount + - card_number + - fee_type + - fee_type_additional_info + - credits_type + - credits_type_additional_info + - installment_identifier + - number_of_installments + description: >- + Additional data provided by the institution for credit card + transactions. + properties: + collected_at: + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + bill_name: + type: string + nullable: true + description: > + The title of the monthly credit card bill the transaction belongs + to. The format of the returned value is institution specific, + however, some common examples are: + + + - diciembre-2021 + + - dec-2021 + + - dec-21 + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + example: apr-2020 + bill_due_date: + type: string + nullable: true + format: date + description: > + The date that the bill is due to be paid, in `YYYY-MM-DD` format. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + example: '2023-06-17' + bill_internal_identification: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The institution's internal identifier for the bill. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + example: 927921260199292792126508222219893192525A6 + bill_status: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OFDA Brazil and will + return `null`. + example: null + previous_bill_total: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OFDA Brazil and will + return `null`. + example: null + bill_amount: + type: number + nullable: true + format: float + pattern: ^-?\d{1,15}\.\d{2,4}$ + description: >- + The bill amount, as of `collected_at`. For more information, see + `credit_card_bill`. + example: 300 + card_number: + type: string + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The credit card number. + + + **Note:** Often, this is just the last four digit of the credit + card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '4453' + fee_type: + $ref: '#/components/schemas/EnumTransactionCreditCardDataFeeType' + fee_type_additional_info: + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + Additional information regarding the fee. + example: ATM withdrawal in Curitiba. + credits_type: + $ref: '#/components/schemas/EnumTransactionCreditCardDataCreditType' + credits_type_additional_info: + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + Additional information regarding the credit type. + example: Some additional information. + installment_identifier: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: > + An identifier for the installment, according to the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: PARCELA_896 + number_of_installments: + type: integer + nullable: true + maximum: 999 + description: > + The total number of installments for the card transaction, if + applicable. + example: 4 + credit_card_bill: + $ref: '#/components/schemas/TransactionCreditCardBill' + EnumTransactionCounterpartyType: + type: string + nullable: true + enum: + - INDIVIDUAL + - COMPANY + - null + description: > + The transaction counterparty type. We return one of the following + values: + + - `INDIVIDUAL` + - `COMPANY` + - `null` + example: INDIVIDUAL + TransactionCounterparty: + type: object + nullable: true + required: + - type + - document_number + - clearing_code + - agency + - check_digit + - number + description: Information regarding the other party of this transaction, if available. + properties: + type: + $ref: '#/components/schemas/EnumTransactionCounterpartyType' + document_number: + type: string + nullable: true + maxLength: 11 + pattern: ^\d{11}$ + description: | + The document number of the representative. + + **Note**: + + For Brazil: + - When the `type` is `INDIVIDUAL`, this is the CPF number. + - When the `type` is `COMPANY`, this is the CNPJ number. + example: '73677831148' + clearing_code: + type: string + nullable: true + maxLength: 3 + pattern: ^\d{3}$ + description: | + The banking clearing code. + example: '001' + agency: + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + description: | + The branch code where the account was opened. + example: '6272' + check_digit: + type: string + nullable: true + maxLength: 2 + pattern: '[\w\W\s]*' + description: | + The check digit of the account number, if applicable. + example: '7' + number: + type: string + nullable: true + maxLength: 20 + pattern: ^\d{8,20}$ + description: | + The account number of the product. + example: '24550245' + TransactionLoanDataFees: + type: object + nullable: true + required: + - name + - code + - amount + description: >- + Details regarding the fees associated with this payment. Only applicable + when `is_detached` = `true`. + properties: + name: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: > + The name of the fee. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `fees` field is present. + example: Reavaliação periódica do bem + code: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: > + The institution's code for the fee. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `fees` field is present. + example: aval_bem + amount: + type: number + nullable: true + format: float + pattern: ^-?\d{1,15}\.\d{2,4}$ + description: > + The amount of the fee. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `fees` field is present. + example: 8903.77 + TransactionLoanDataCharges: + type: object + nullable: true + required: + - type + - info + - amount + description: >- + Details regarding the charges associated with this payment. Only + applicable when `is_detached` = `true`. + properties: + type: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: > + The type of charge. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `charges` field is present + example: MULTA_ATRASO_PAGAMENTO + info: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + Additional information regarding the charge `type`. + example: Late payment charge. + amount: + type: number + format: float + pattern: ^-?\d{1,15}\.\d{2,4}$ + description: > + The amount of the charge. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `charges` field is present + example: 8903.77 + TransactionLoanDataOpenFinanceBrazil: + type: object + nullable: true + required: + - is_detached + - installment_it + - fees + - charges + description: Information regarding the loan transactional data, if applicable. + properties: + is_detached: + type: boolean + description: > + Boolean to indicate whether or not this loan payment was part of the + original payment schedule. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: true + installment_id: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: | + The institution's unique ID for this payment installment. + example: WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH + fees: + type: array + description: >- + Details regarding the fees associated with this payment. Only + applicable when `is_detached` = `true`. + items: + $ref: '#/components/schemas/TransactionLoanDataFees' + charges: + type: array + minItems: 0 + description: >- + Details regarding the charges associated with this payment. Only + applicable when `is_detached` = `true`. + items: + $ref: '#/components/schemas/TransactionLoanDataCharges' + EnumTransactionPaymentType: + type: string + nullable: true + enum: + - FULL + - INSTALLMENT + - null + description: | + The transaction payment type. We return one of the following values: + + - `FULL` + - `INSTALLMENT` + - `null` + example: FULL + TransactionOpenFinanceBrazil: + type: object + title: Transaction (OFDA Brazil) + required: + - id + - internal_identification + - account + - collected_at + - created_at + - value_date + - accounting_date + - amount + - local_currency_amount + - balance + - currency + - description + - observations + - merchant + - category + - subcategory + - reference + - type + - status + - credit_card_data + - counterparty + - loan_data + - payment_type + - operation_type + - operation_type_additional_info + - mcc + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the transaction. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + internal_identification: + type: string + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The institution's internal identification for the transaction. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl + account: + $ref: '#/components/schemas/AccountOpenFinanceBrazil' + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-11-28T10:27:44.813Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + value_date: + type: string + format: date + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date when the transaction occurred, in `YYYY-MM-DD` format, in + `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '2019-10-23' + transacted_at: + type: string + format: date-time + pattern: >- + (^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)\.(?:[0-9]){3}Z$) + description: > + The ISO-8601 timestamp of when the transaction occurred. + + + > **Note:** For transactions that occurred before 31.01.2024, the + timestamp may only indicate the day (for example, + `2016-01-29T00:00:00.000Z`). However, transactions that occurred + after this date must include the date and time + (`2024-02-20T12:29:03.374Z`). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **credit card and checking account + transactions**. + example: '2024-02-20T12:29:03.374Z' + accounting_date: + type: string + nullable: true + description: >- + The date when the transaction was processed and accounted for by the + institution, in `YYYY-MM-DD` format. + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **credit card transactions**. + example: '2019-10-23' + amount: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The transaction amount. + + ℹ️ The amount displayed is always positive as we indicate the + direction of the transaction in the `type` parameter. + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 2145.45 + local_currency_amount: + type: number + nullable: true + format: float + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The value of the transaction in the local currency. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **credit card transactions**. + example: 7623.64 + balance: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + currency: + type: string + nullable: true + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: | + The three-letter currency code (ISO-4217). + example: BRL + description: + type: string + nullable: true + description: > + The description of transaction provided by the institution. Usually + this + + is the text that the end user sees in the online platform. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: SEVEN BUDDHAS RFC:XXXXXXXXXX + observations: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + merchant: + $ref: '#/components/schemas/TransactionMerchantData' + category: + $ref: '#/components/schemas/EnumTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumTransactionSubcategory' + reference: + type: string + nullable: true + maxLength: 128 + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + type: + $ref: '#/components/schemas/EnumTransactionType' + status: + $ref: '#/components/schemas/EnumTransactionStatus' + credit_card_data: + $ref: '#/components/schemas/TransactionCreditCardDataOpenFinanceBrazil' + counterparty: + $ref: '#/components/schemas/TransactionCounterparty' + loan_data: + $ref: '#/components/schemas/TransactionLoanDataOpenFinanceBrazil' + payment_type: + $ref: '#/components/schemas/EnumTransactionPaymentType' + operation_type: + type: string + maxLength: 50 + pattern: ^[A-Za-z_]{0,50}$ + description: > + The type of transaction. For example, a PIX payment or a deposit. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **non-loan account transactions**. + example: TRANSFERENCIA_MESMA_INSTITUICAO + operation_type_additional_info: + type: string + nullable: true + maxLength: 140 + pattern: ^\S[\s\S]*$ + description: > + Additional information regarding the `operation_type`, if + applicable. + example: Internal transfer. + mcc: + type: integer + nullable: true + format: int32 + pattern: ^[0-9]{4}$ + description: > + The four-digit (ISO-18245 compliant) Merchant Category Code (MCC) + for the transaction. This field is only applicable for credit card + transactions. + example: 5137 + TransactionsPaginatedResponseOpenFinanceBrazil: + type: object + title: Transactions (OFDA Brazil) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of transaction objects (OFDA Brazil). + items: + $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + TransactionsRequest: + type: object + required: + - link + - date_from + - date_to + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + account: + type: string + format: uuid + description: If provided, we return transactions only from this account. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting transactions for, in + `YYYY-MM-DD` format. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2020-08-05' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting transactions for, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2020-10-05' + token: + type: string + description: The OTP token generated by the bank. + example: 1234ab + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + AsynchronousAccepted202: + type: object + properties: + request_id: + type: string + description: >- + The unique ID for this request. We recommend you store this value to + later identify which webhook event relates to an asynchronous + request. + example: b5d0106ac9cc43d5b36199fe831f6bbe + Balance: + type: object + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the balance request. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + account: + $ref: '#/components/schemas/Account' + value_date: + type: string + format: date + description: The date when the `balance` was available, in `YYYY-MM-DD` format. + example: '2019-10-23' + balance: + type: number + format: float + description: The funds available in the account by the end of the `value_date`. + example: 50000 + current_balance: + deprecated: true + type: number + nullable: 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.* + + + Please use the `balance` field instead. + example: null + statement: + deprecated: true + type: string + nullable: 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.* + + + *The ID of the banking statement used to extract the `balance`.* + example: null + collected_at: + type: string + nullable: true + deprecated: true + format: date-time + 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.* + + + *The ISO-8601 timestamp when the data point was collected.* + example: null + BalancesPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of balance objects. + items: + $ref: '#/components/schemas/Balance' + BalancesRequest: + type: object + required: + - link + - date_from + - date_to + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + account: + type: string + format: uuid + description: | + If provided, only balances matching this `account.id` are + returned. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + Date from which you want to start receiving balances, in + `YYYY-MM-DD` format. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2021-01-18' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + Date that you want to stop receiving balances, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2021-02-15' + token: + type: string + description: The OTP token generated by the bank. + example: 1234ab + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + 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 + 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' + 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 + 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 + 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 + Institution: + type: object + 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. + + + Please see our + [Institutions](https://developers.belvo.com/docs/institution) + DevPortal article for a detailed list of institution names. + type: + $ref: '#/components/schemas/EnumInstitutionType' + website: + type: string + nullable: true + 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: + - 🇧🇷 BR (Brazil) + - 🇨🇴 CO (Colombia) + - 🇲🇽 MX (Mexico) + items: + type: string + example: MX + primary_color: + type: string + example: '#056dae' + description: The primary color on the institution's website. + logo: + type: string + nullable: true + example: https://belvo-api-media.s3.amazonaws.com/logos/erebor_logo.png + description: The URL of the institution's logo. + icon_logo: + type: string + nullable: true + example: https://statics.belvo.io/widget/images/institutions/erebor.svg + description: The URL of the institution's icon logo. + text_logo: + type: string + nullable: true + example: https://statics.belvo.io/widget/images/institutions/erebor.svg + description: The URL of the institution's text logo. + 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: + + - `ACCOUNTS` + - `BALANCES` + - `EMPLOYMENT_RECORDS` + - `INCOMES` + - `INVOICES` + - `OWNERS` + - `RECURRING_EXPENSES` + - `RISK_INSIGHTS` + - `TRANSACTIONS` + - `TAX_COMPLIANCE_STATUS` + - `TAX_DECLARATIONS` + - `TAX_RETENTIONS` + - `TAX_RETURNS` + - `TAX_STATUS` + 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' + InstitutionsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of institution objects. + items: + $ref: '#/components/schemas/Institution' + OwnerDocumentId: + type: object + nullable: true + required: + - document_type + - document_number + description: >- + Information regarding the identification document the owner provided to + the bank. + properties: + document_type: + type: string + nullable: true + description: > + The type of document the owner provided to the institution to open + the account. Common document types are: + + + 🇧🇷 Brazil + + - `CPF` (*Cadastro de Pessoas Físicas*) + + - `CNPJ`(*Cadastro Nacional de Pessoas Jurídicas*) + + + 🇨🇴 Colombia + + - `CC`(*Cédula de Ciudadanía*) + + - `NIT` (*Número de Identificación Tributaria*) + + + 🇲🇽 Mexico + + - `CURP` (*Clave Única de Registro de Población*) + + - `NISS` (*Número de Seguridad Social*) + + - `RFC` (*Registro Federal de Contribuyentes*) + example: CPF + document_number: + type: string + nullable: true + description: The document's identification number. + example: 235578435-S + Owner: + type: object + title: Owner Standard (Multi-Region) + required: + - id + - link + - internal_identification + - display_name + - email + - phone_number + - address + - collected_at + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier used to reference the current owner. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + format: uuid + description: Belvo's unique ID for the current Link. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: + type: string + nullable: true + description: The institution's internal identifier for the owner. + example: 7e5838e4 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + display_name: + type: string + nullable: true + maxLength: 128 + description: The full name of the owner, as provided by the bank. + example: John Doe + email: + type: string + nullable: true + format: email + maxLength: 256 + description: The account owner's registered email address. + example: johndoe@belvo.com + phone_number: + type: string + nullable: true + description: The account owner's registered phone number. + example: +52-XXX-XXX-XXXX + address: + type: string + nullable: true + description: The accounts owners registered address. + example: Carrer de la Llacuna, 162, 08018 Barcelona + document_id: + $ref: '#/components/schemas/OwnerDocumentId' + business_name: + 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.* + + + *The name of the business.* + example: null + first_name: + 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.* + + + *The first name of the account owner.* + example: null + last_name: + 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.* + + + *The last name of the account owner.* + example: null + second_last_name: + 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.* + + + *The second last name of the account owner.* + example: null + OwnersPaginatedResponse: + type: object + title: Owner Standard (Multi-Region) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of owner objects. + items: + $ref: '#/components/schemas/Owner' + EnumOwnerMaritalStatus: + type: string + nullable: true + enum: + - SINGLE + - MARRIED + - WIDOWED + - SEPARATED + - DIVORCED + - CIVIL_UNION + - OTHER + description: | + The individual's marital status. We return one of the following values: + + - `SINGLE` + - `MARRIED` + - `WIDOWED` + - `SEPARATED` + - `DIVORCED` + - `CIVIL_UNION` + - `OTHER` + example: SINGLE + EnumOwnerGender: + type: string + nullable: true + enum: + - FEMALE + - MALE + - OTHER + description: | + The individual's gender. We return on of the following values: + + - `FEMALE` + - `MALE` + - `OTHER` + + example: FEMALE + OwnerDocumentIdOpenFinanceBrazil: + type: object + required: + - document_type + - document_number + description: > + Information regarding the identification document the owner provided to + the bank. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + properties: + document_type: + type: string + description: > + The type of document the owner provided to the institution to open + the account. Common document types are: + + + 🇧🇷 Brazil + + - `CPF` (*Cadastro de Pessoas Físicas*) + + - `CNPJ`(*Cadastro Nacional de Pessoas Jurídicas*) + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: CPF + document_number: + type: string + description: > + The document's identification number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 235578435-S + EnumOwnerIndividualDocumentIdType: + type: string + nullable: true + enum: + - DRIVERS_LICENCE + - PASSPORT + - ID_CARD + - FISCAL_ID + - FOREIGNER_REGISTRATION_CARD + - OTHER + - null + description: | + The type of ID document. We return one of the following values: + + - `DRIVERS_LICENCE` + - `PASSPORT` + - `ID_CARD` + - `FISCAL_ID` + - `FOREIGNER_REGISTRATION_CARD` + - `OTHER` + - `null` + + example: DRIVERS_LICENCE + OwnerIndividualDocumentIds: + type: object + nullable: true + required: + - type + - type_additional_info + - number + - check_digit + - issue_date + - expiration_date + - country_of_issuance + - additional_info + description: >- + Detailed information regarding additional documents provided to prove + the individuals ID. + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualDocumentIdType' + type_additional_info: + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + description: > + Additional information regarding the document type. + + + > Note: For Business ID documents, this field must return a value + from Brazil's open finance network. + example: Learner's licence + number: + type: string + maxLength: 40 + pattern: ^[\w\W\s]{0,40}$ + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: DL-7896829-7 + check_digit: + type: string + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + description: > + The check digit of the ID document. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '7' + issue_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document was issued, in `YYYY-MM-DD` format. + example: '2019-01-01' + expiration_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + example: '2019-01-01' + country_of_issuance: + type: string + nullable: true + maxLength: 3 + pattern: ^[\w]{3}$ + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + + + This field must be returned when the `type` is `PASSPORT`. + example: CAN + additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + description: | + Additional information about the ID document. + example: The document has water damage + OwnerIndividualNationalityDocumentId: + type: object + nullable: true + required: + - type + - type_additional_info + - number + - issue_date + - expiration_date + - country_of_issuance + - additional_info + description: >- + Detailed information regarding additional documents provided to prove + the individuals ID. + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualDocumentIdType' + number: + type: string + maxLength: 40 + pattern: ^[\w\W\s]{0,40}$ + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: DL-7896829-7 + issue_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document was issued, in `YYYY-MM-DD` format. + example: '2019-01-01' + expiration_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + example: '2019-01-01' + country_of_issuance: + type: string + nullable: true + maxLength: 3 + pattern: ^[\w]{3}$ + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + + + This field must be returned when the `type` is `PASSPORT`. + example: CAN + additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + description: | + Additional information about the ID document. + example: The document has water damage + OwnerNationalities: + type: object + required: + - info + - documents + description: Detailed information regarding the individual's nationalities. + properties: + info: + type: string + nullable: true + pattern: ^\S[\s\S]*$ + maxLength: 40 + description: | + The nationality of the individual. + example: CAN + documents: + type: array + items: + $ref: '#/components/schemas/OwnerIndividualNationalityDocumentId' + OwnerEmails: + type: object + nullable: true + required: + - is_main + - email + description: Additional list of emails the owner provided. + properties: + is_main: + type: boolean + description: > + Boolean to indicate if this is the user's main email address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: true + email: + type: string + maxLength: 320 + pattern: ^[\w\W\s]{0,320}$ + description: > + The user's email address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: homen_morcego@gmail.com + OwnerAddresses: + type: object + nullable: true + required: + - is_main + - address + - additional_info + - district_name + - town + - town_code + - state + - postcode + - country_name + - country_code + - latitude + - longitude + description: Detailed information regarding the owner's addresses. + properties: + is_main: + type: boolean + description: > + Boolean to indicate if this is the user's main address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: true + address: + type: string + maxLength: 150 + pattern: ^[\w\W\s]{0,150}$ + description: > + The user's address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Av Naburo Ykesaki, 1270 + additional_info: + type: string + nullable: true + maxLength: 150 + pattern: ^[\w\W\s]{0,150}$ + description: | + Additional information regarding the user's address. + example: In between two palm trees + district_name: + type: string + nullable: true + maxLength: 50 + pattern: ^[\w\W\s]{0,50}$ + description: | + The distrct of the address. + example: CENTRO + town: + type: string + maxLength: 50 + pattern: ^[\w\W\s]{0,50}$ + description: > + The user's town. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Brasilia + town_code: + type: string + nullable: true + maxLength: 7 + pattern: \d{7}$ + description: | + The seven-digit code for the town, if applicable. + + For Brazil, this is the IBGE town code. + example: '3550308' + state: + type: string + nullable: true + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + description: | + The state that the address is located in. + example: SP + postcode: + type: string + maxLength: 8 + pattern: ^\d{8}$ + description: > + The postcode of the address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '17500001' + country_name: + type: string + maxLength: 80 + pattern: ^[\w\W\s]{0,80}$ + description: > + The name of the country. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Brasil + country_code: + type: string + nullable: true + maxLength: 3 + pattern: ^([A-Z]{3})$ + description: | + The three-letter country code (ISO-3166 Alpha 3 compliant). + example: BRA + latitude: + type: string + nullable: true + maxLength: 13 + pattern: ^-?\d{1,2}\.\d{1,9}$ + description: | + The geographic latitude coordinate. + example: '-23.5475000' + longitude: + type: string + nullable: true + maxLength: 13 + pattern: ^-?\d{1,3}\.\d{1,8}$ + description: | + The geographic longitude coordinate. + example: '-46.6361100' + EnumOwnerPhoneNumberType: + type: string + nullable: true + enum: + - LANDLINE + - MOBILE + - OTHER + - null + description: | + The type of phone number. We return one of the following values: + + - `LANDLINE` + - `MOBILE` + - `OTHER` + - `null` + example: MOBILE + OwnerPhoneNumbers: + type: object + nullable: true + required: + - is_main + - type + - additional_info + - number + - country_code + - area_code + - extension + description: Detailed information regarding the owners's `phone_number`s. + properties: + is_main: + type: boolean + description: > + Boolean to indicate if this is the user's main phone number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: true + type: + $ref: '#/components/schemas/EnumOwnerPhoneNumberType' + additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + description: | + Additional information about the phone number. + example: This is their work mobile number. + number: + type: string + maxLength: 11 + pattern: ^([0-9]{8,11})$ + description: > + The phone number (not including the country, area, or extension + codes). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '29875132' + country_code: + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + description: | + The country dialling code. For example: `351` (no `+`). + example: '351' + area_code: + type: string + nullable: true + maxLength: 2 + pattern: ^\d{1,2}$ + description: | + The area dialling code. + example: '21' + extension: + type: string + nullable: true + maxLength: 5 + pattern: ^\d{1,5}$ + description: | + The extension code. + example: '932' + EnumOwnerFiliationType: + type: string + nullable: true + enum: + - MOTHER + - FATHER + - null + description: | + The familial relationship. We return one of the following values: + + - `MOTHER` + - `FATHER` + - `null` + + example: MOTHER + OwnerFiliations: + type: object + required: + - type + - civil_name + - social_name + description: Information regarding any familial relationships of the individual. + properties: + type: + $ref: '#/components/schemas/EnumOwnerFiliationType' + civil_name: + type: string + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + description: > + The person's full name. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Bruce Wayne + social_name: + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + description: | + The person's social name. + example: The Dark Knight + EnumOwnerIndividualFinancialProfileOccupationCode: + type: string + nullable: true + enum: + - BRAZIL_PUBLIC_OFFICE + - BRAZIL_OCCUPATION_CODE + - OTHER + - null + description: > + The area of employment of the individual. We return one of the following + values: + + - `BRAZIL_PUBLIC_OFFICE` + - `BRAZIL_OCCUPATION_CODE` + - `OTHER` + - `null` + example: BRAZIL_OCCUPATION_CODE + EnumOwnerInformedIncomeFrequency: + type: string + nullable: true + enum: + - DAILY + - WEEKLY + - FORTNIGHTLY + - MONTHLY + - BIMONTHLY + - QUARTERLY + - BIANNUALLY + - ANNUALLY + - OTHERS + description: > + Indicates how often the individual receives their salary. We return one + of the following values: + + - `DAILY` + - `WEEKLY` + - `FORTNIGHTLY` + - `MONTHLY` + - `BIMONTHLY` + - `QUARTERLY` + - `BIANNUALLY` + - `ANNUALLY` + - `OTHERS` + example: MONTHLY + OwnerIndividualInformedIncome: + type: object + required: + - frequency + - amount + - currency + - date + description: > + Information regarding the individual's reported income. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + properties: + frequency: + $ref: '#/components/schemas/EnumOwnerInformedIncomeFrequency' + amount: + type: number + format: float + minLength: 1 + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The reported income that the individual receives. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 45391.89 + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: BRL + date: + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + Date when the individual last received their salary. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '2020-03-19' + OwnerIndividualPatrimony: + type: object + nullable: true + required: + - amount + - currency + - year + description: Information regarding the individual's reported assets (if available). + properties: + amount: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The reported assets of the individual. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `patrimony` object is available. + example: 45391.89 + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `patrimony` object is available. + example: BRL + year: + type: integer + format: int32 + maximum: 2090 + minimum: 1700 + description: > + The year that the reported assets applied. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `patrimony` object is available. + example: 2020 + OwnerIndividualFinancialProfile: + type: object + nullable: true + required: + - company_id + - occupation_code + - occupation_description + - informed_income + - patrimony + description: Information regarding the financial profile of the individual. + properties: + company_id: + type: string + nullable: true + maxLength: 14 + pattern: ^\d{14}$ + description: | + The identifier of the company where the individual is employed. + example: '50685362000135' + occuptation_code: + $ref: >- + #/components/schemas/EnumOwnerIndividualFinancialProfileOccupationCode + occupation_description: + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + description: | + Information regarding the individual's occupation. + example: '01' + informed_income: + $ref: '#/components/schemas/OwnerIndividualInformedIncome' + patrimony: + $ref: '#/components/schemas/OwnerIndividualPatrimony' + EnumOwnerProcuratorType: + type: string + nullable: true + enum: + - LEGAL_REPRESENTATIVE + - ATTORNEY + - null + description: > + The type of representative that can access and make changes to the + account. We return one of the following values: + + - `LEGAL_REPRESENTATIVE` + - `ATTORNEY` + - `null` + + example: LEGAL_REPRESENTATIVE + OwnerProcurators: + type: object + nullable: true + required: + - type + - civil_name + - social_name + - document_number + description: >- + Information regarding any individuals or companies that can act on + behalf of the owner. + properties: + type: + $ref: '#/components/schemas/EnumOwnerProcuratorType' + civil_name: + type: string + maxLength: 70 + pattern: ^[\w\W]*$ + description: > + The representatives's full name. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `procurators` field is available. + example: Alfred Thaddeus Pennyworth + social_name: + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W]*$ + description: | + The person's social name. + example: Alfred Pennyworth + document_number: + type: string + maxLength: 11 + pattern: ^\d{11}$ + description: > + The document number of the representative. + + + **Note**: For individuals, this is Brazil's CPF number. For + businesses, this is Brazil's CNPJ number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `procurators` field is available. + example: '73677831148' + EnumOwnerIndividualProductType: + type: string + nullable: true + enum: + - SAVINGS_ACCOUNT + - CHECKING_ACCOUNT + - null + description: > + The additional products the individual has at the institution. We return + one of the following values: + + - `SAVINGS_ACCOUNT` + - `CHECKING_ACCOUNT` + - `null` + example: SAVINGS_ACCOUNT + OwnerIndividualProducts: + type: object + nullable: true + required: + - type + - subtype + - agency + - clearing_code + - number + - check_digit + description: >- + Details regarding any additional products that the individual has with + the institution. + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualProductType' + subtype: + type: string + nullable: true + description: > + The subtype of the product that the individual has at the + institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: CONJUNTA_SIMPLES + agency: + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + description: | + The branch code where the product was opened. + example: '6272' + clearing_code: + type: string + maxLength: 3 + pattern: ^\d{3}$ + description: > + The banking clearing code for the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: '001' + number: + type: string + maxLength: 20 + pattern: ^\d{8,20}$ + description: > + The account number of the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `procurators` field is available. + example: '24550245' + check_digit: + type: string + maxLength: 2 + pattern: '[\w\W\s]*' + description: > + The check digit of the product's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: '7' + OwnerIndividualFinancialRelation: + type: object + nullable: true + required: + - start_date + - product_services + - product_services_additional_info + - procurators + - products + description: >- + Details regarding any additional relationship the individual has with + the institution (for example, other accounts or products they have with + the institution). + properties: + start_date: + type: string + format: date-time + maxLength: 20 + pattern: >- + ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$ + description: > + The ISO-8601 timestamp when the financial relationship between the + individual and the institution started. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '2021-05-21T08:30:00Z' + product_services: + type: array + minItems: 1 + description: > + A list of products that the individual has with the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + type: string + description: | + The name of the product, according to the institution. + example: CONTA_DEPOSITO_A_VISTA + product_services_additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W]*$ + description: > + Additional information regarding the products that the individual + has. + example: Joint account with Robin + procurators: + type: array + description: >- + Information regarding any individuals or companies that can act on + behalf of the owner. + items: + $ref: '#/components/schemas/OwnerProcurators' + products: + type: array + description: >- + Details regarding any additional products that the individual has + with the institution. + items: + $ref: '#/components/schemas/OwnerIndividualProducts' + OwnerIndividualOpenFinanceBrazil: + type: object + title: Owner Individual (OFDA Brazil) + required: + - id + - link + - internal_identification + - collected_at + - created_at + - display_name + - social_name + - birth_date + - marital_status + - marital_status_additional_info + - gender + - companies_id + - is_local_resident + - document_id + - additional_documents + - nationalities + - email + - emails + - address + - addresses + - phone_number + - phone_numbers + - filiations + - financial_profile + - financial_relation + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier used to reference the current owner. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + format: uuid + description: Belvo's unique ID for the current Link. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: + type: string + nullable: true + description: The institution's internal identifier for the owner. + example: 7e5838e4 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + display_name: + type: string + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The full name of the individual, as provided by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Jack Oswald White + social_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The social name of the individual, as generally accepted by the + country. + example: O Piadista + birth_date: + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The individual's date of birth, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '1988-07-15' + marital_status: + $ref: '#/components/schemas/EnumOwnerMaritalStatus' + marital_status_additional_info: + type: string + nullable: true + maxLength: 50 + pattern: ^[\w\W]{0,50}$ + description: | + Additional information about the individual's marital status. + example: It's complicated + gender: + $ref: '#/components/schemas/EnumOwnerGender' + companies_id: + type: array + minItems: 1 + description: > + The institutions responsible for the creation and verification of + the owner. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + type: string + maxLength: 14 + pattern: ^\d{14}$ + description: > + The institutions responsible for the creation and verification of + the owner. + example: '01773247000103' + is_local_resident: + type: boolean + description: > + Boolean to indicate if the individual is a local resident of the + country. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: true + document_id: + $ref: '#/components/schemas/OwnerDocumentIdOpenFinanceBrazil' + additional_documents: + type: array + description: > + Detailed information regarding additional documents provided to + prove the individuals ID. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + minItems: 1 + items: + $ref: '#/components/schemas/OwnerIndividualDocumentIds' + nationalities: + type: array + nullable: true + minItems: 1 + description: > + Detailed information regarding the individual's nationalities. + + + Only required to be returned when `is_local_resident` is set to + `false`. + items: + $ref: '#/components/schemas/OwnerNationalities' + email: + type: string + nullable: true + format: email + maxLength: 320 + description: > + The account owner's registered email address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: johndoe@belvo.com + emails: + type: array + minItems: 0 + description: > + Additional list of emails the owner provided. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerEmails' + address: + type: string + nullable: true + description: > + The account owner's registered address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + type: array + minItems: 1 + description: > + Detailed information regarding the owner's addresses. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerAddresses' + phone_number: + type: string + nullable: true + description: > + The account owner's registered phone number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: +52-XXX-XXX-XXXX + phone_numbers: + type: array + minItems: 0 + description: > + Detailed information regarding the owner's phone numbers. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerPhoneNumbers' + filiations: + type: array + minItems: 1 + description: > + Information regarding any familial relationships of the individual. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerFiliations' + financial_profile: + $ref: '#/components/schemas/OwnerIndividualFinancialProfile' + financial_relation: + $ref: '#/components/schemas/OwnerIndividualFinancialRelation' + OwnersIndividualPaginatedResponseOpenFinanceBrazil: + type: object + title: Owner Individual (OFDA Brazil) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of owner objects. + items: + $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + OwnerBusinessDocumentIds: + type: object + nullable: true + required: + - type + - type_additional_info + - number + - check_digit + - issue_date + - expiration_date + - country_of_issuance + - additional_info + description: >- + Detailed information regarding additional documents provided to prove + the business's ID. + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualDocumentIdType' + type_additional_info: + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + description: > + Additional information regarding the document type. + + + > Note: For Business ID documents, this field must return a value + from Brazil's open finance network. + example: EIN + number: + type: string + maxLength: 40 + pattern: ^[\w\W]{0,40}$ + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: DL-7896829-7 + check_digit: + type: string + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + description: > + The check digit of the ID document. + + + > **Note**: This field is not applicable for Business ID documents + and will return `null`. + example: null + issue_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date the the ID document was issued, in `YYYY-MM-DD` format. + + + > **Note**: This field is not applicable for Business ID documents + and will return `null`. + example: null + expiration_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + example: '2019-01-01' + country_of_issuance: + type: string + nullable: true + maxLength: 3 + pattern: ^(\w{3}){1}$ + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: CAN + additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + description: > + Additional information about the ID document. + + + > **Note**: This field is not applicable for Business ID documents + and will return `null`. + example: null + EnumOwnerPartyPersonType: + type: string + nullable: true + enum: + - INDIVIDUAL + - COMPANY + description: > + The type of person that is an ownership party of the account. We return + one of the following values: + + - `INDIVIDUAL` + - `COMPANY` + + example: INDIVIDUAL + EnumOwnerPartyType: + type: string + nullable: true + enum: + - MEMBER + - ADMINISTRATOR + description: > + The access type that the `person_type` has to the account. We return one + of the following values: + + + - `MEMBER` indicates that the `person_type` has read access to the + account. + + - `ADMINISTRATOR` indicates that the `person_type` can perform all + actions for the account (including transfers). + example: MEMBER + EnumOwnerPartyDocumentType: + type: string + nullable: true + enum: + - CPF + - CNPJ + - OTHER_TRAVEL_DOCUMENT + - PASSPORT + description: > + The type of ID document the party provided when being added to the + account. We return one of the following values: + + - `CPF` + - `CNPJ` + - `OTHER_TRAVEL_DOCUMENT` + - `PASSPORT` + example: CPF + OwnerParties: + type: object + nullable: true + required: + - person_type + - type + - display_name + - social_name + - trade_name + - start_date + - percentage_type + - document_type + - document_number + - document_issue_date + - document_expiration_date + - document_country + - document_additional_info + description: >- + Detailed information regarding the parties allowed to act on the owner's + behalf. + properties: + person_type: + $ref: '#/components/schemas/EnumOwnerPartyPersonType' + type: + $ref: '#/components/schemas/EnumOwnerPartyType' + display_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The full name of the individual, as provided by the institution. + Only applicable if the `person_type` is `INDIVIDUAL`. + example: Jack Oswald White + social_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The social name of the individual, as generally accepted by the + country. Only applicable if the `person_type` is `INDIVIDUAL`. + example: O Piadista + company_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The full (official) name of the business. Only applicable if the + `person_type` is `COMPANY`. + example: Wayne Enterprises + trade_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The trade name of the business. Only applicable if the `person_type` + is `COMPANY`. + example: WayneCorp + start_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date that the party was added to the account, in `YYYY-MM-DD` + format. + example: '2021-07-15' + percentage_type: + type: number + nullable: true + format: float + minLength: 8 + maxLength: 8 + pattern: ^[01]\.\d{6}$ + description: | + The party's equity interest. + example: 0.51 + document_type: + $ref: '#/components/schemas/EnumOwnerPartyDocumentType' + document_number: + type: string + maxLength: 40 + pattern: ^[\w\W\s]{0,40}$ + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: DL-7896829-7 + document_issue_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document was issued, in `YYYY-MM-DD` format. + example: '2019-01-01' + document_expiration_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + example: '2019-01-01' + document_country: + type: string + nullable: true + maxLength: 3 + pattern: ^(\w{3}){1}$ + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + example: CAN + document_additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + description: | + Additional information regarding the document. + example: Confirmed CPF with their driver's licence. + OwnerBusinessEconomicActivies: + type: object + nullable: true + required: + - is_main + - code + description: Details regarding the reported economic activities of the business. + properties: + is_main: + type: boolean + description: > + Boolean to indicate whether this is the business's main economic + activity. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `economic_activities` field is available. + example: true + code: + type: string + minLength: 2 + maxLength: 7 + pattern: ^\d{2,7}$ + description: > + The code of the economic activity, as given by the country. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `economic_activities` field is available. + example: '8599604' + EnumOwnerBusinessInformedRevenueFrequency: + type: string + nullable: true + enum: + - DAILY + - WEEKLY + - FORTNIGHTLY + - MONTHLY + - BIMONTHLY + - QUARTERLY + - BIANNUALLY + - ANNUALLY + - OTHERS + - null + description: > + Indicates how often the business declares their revenue. We return one + of the following values: + + - `DAILY` + - `WEEKLY` + - `FORTNIGHTLY` + - `MONTHLY` + - `BIMONTHLY` + - `QUARTERLY` + - `BIANNUALLY` + - `ANNUALLY` + - `OTHERS` + - `null` + example: MONTHLY + OwnerBusinessInformedRevenue: + type: object + nullable: true + required: + - frequency + - frequency_additional_info + - amount + - currency + - year + description: Information regarding the business's reported revenue. + properties: + frequency: + $ref: '#/components/schemas/EnumOwnerBusinessInformedRevenueFrequency' + frequency_additional_info: + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + description: | + Additional information regarding the frequency. + example: Recently switched from weekly to monthly. + amount: + type: number + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The reported revenue of the business. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `informed_revenue` field is available. + example: 45391.89 + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `informed_revenue` field is available. + example: BRL + year: + type: integer + maxLength: 4 + minimum: 1700 + maximum: 2090 + description: > + The year when revenue was last declared. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `informed_revenue` field is available. + example: 2022 + OwnerBusinessPatrimony: + type: object + nullable: true + required: + - amount + - currency + - date + description: Information regarding the individual's reported assets. + properties: + amount: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The reported assets of the business. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `patrimony` field is available. + example: 45391.89 + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `patrimony` field is available. + example: BRL + date: + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date that the reported assets applied, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `patrimony` field is available. + example: '2022-12-12' + OwnerBusinessFinancialProfile: + type: object + nullable: true + required: + - economic_activities + - informed_revenue + - patrimony + description: Information regarding the financial profile of the individual. + properties: + economic_activities: + type: array + description: Details regarding the reported economic activities of the business. + items: + $ref: '#/components/schemas/OwnerBusinessEconomicActivies' + informed_revenue: + $ref: '#/components/schemas/OwnerBusinessInformedRevenue' + patrimony: + $ref: '#/components/schemas/OwnerBusinessPatrimony' + EnumOwnerBusinessProductType: + type: string + nullable: true + enum: + - SAVINGS_ACCOUNT + - CHECKING_ACCOUNT + - null + description: > + The additional products the business has at the institution. We return + one of the following values: + + - `SAVINGS_ACCOUNT` + - `CHECKING_ACCOUNT` + - `null` + + example: SAVINGS_ACCOUNT + OwnerBusinessProducts: + type: object + nullable: true + required: + - type + - subtype + - agency + - clearing_code + - number + - check_digit + description: >- + Details regarding any additional products that the individual has with + the institution. + properties: + type: + $ref: '#/components/schemas/EnumOwnerBusinessProductType' + subtype: + type: string + description: > + The subtype of the product that the business has at the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: CONJUNTA_SIMPLES + agency: + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + description: | + The branch code where the product was opened. + example: '6272' + clearing_code: + type: string + maxLength: 3 + pattern: ^\d{3}$ + description: > + The banking clearing code for the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: '001' + number: + type: string + maxLength: 20 + pattern: ^\d{8,20}$ + description: > + The account number of the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: '24550245' + check_digit: + type: string + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + description: > + The check digit of the product's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: '7' + OwnerBusinessFinancialRelation: + type: object + nullable: true + required: + - start_date + - product_services + - procurators + - products + description: >- + Details regarding any additional relationship the business has with the + institution (for example, other accounts or products they have with the + institution). + properties: + start_date: + type: string + format: date-time + maxLength: 20 + pattern: >- + ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$ + description: > + The ISO-8601 timestamp when the financial relationship between the + business and the institution started. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '2021-05-21T08:30:00Z' + product_services: + type: array + minItems: 1 + description: > + A list of products that the business has with the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + type: string + description: | + The name of the product, according to the institution. + example: CONTA_DEPOSITO_A_VISTA + procurators: + type: array + description: >- + Information regarding any individuals or companies that can act on + behalf of the owner. + items: + $ref: '#/components/schemas/OwnerProcurators' + products: + type: array + description: >- + Details regarding any additional products that the business has with + the institution. + items: + $ref: '#/components/schemas/OwnerBusinessProducts' + OwnerBusinessOpenFinanceBrazil: + type: object + title: Owner Business (OFDA Brazil) + required: + - id + - link + - internal_identification + - collected_at + - created_at + - company_name + - trade_name + - incorporation_date + - companies_id + - document_id + - additional_documents + - email + - emails + - address + - addresses + - phone_number + - phone_numbers + - parties + - financial_profile + - financial_relation + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier used to reference the current owner. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + format: uuid + description: Belvo's unique ID for the current Link. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: + type: string + nullable: true + description: The institution's internal identifier for the owner. + example: 7e5838e4 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + company_name: + type: string + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The full (official) name of the business, as provided by the + institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Wayne Enterprises + trade_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: | + The trade name of the business. + example: WayneCorp + incorporation_date: + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date that the business was incorporated, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '1988-07-15' + companies_id: + type: array + minItems: 1 + description: > + The institutions responsible for the creation and verification of + the owner. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + type: string + maxLength: 14 + pattern: ^\d{14}$ + description: > + The institutions responsible for the creation and verification of + the owner. + example: '01773247000103' + document_id: + $ref: '#/components/schemas/OwnerDocumentIdOpenFinanceBrazil' + additional_documents: + type: array + minItems: 1 + description: > + Detailed information regarding additional documents provided to + prove the business's ID. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerBusinessDocumentIds' + email: + type: string + nullable: true + format: email + maxLength: 256 + description: The account owner's registered email address. + example: johndoe@belvo.com + emails: + type: array + minItems: 0 + description: Additional list of emails the owner provided. + items: + $ref: '#/components/schemas/OwnerEmails' + address: + type: string + nullable: true + description: The accounts owners registered address. + example: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + type: array + minItems: 1 + description: Detailed information regarding the owner's addresses. + items: + $ref: '#/components/schemas/OwnerAddresses' + phone_number: + type: string + nullable: true + description: The account owner's registered phone number. + example: +52-XXX-XXX-XXXX + phone_numbers: + type: array + minItems: 0 + description: Detailed information regarding the owner's `phone_number`s. + items: + $ref: '#/components/schemas/OwnerPhoneNumbers' + parties: + type: array + minItems: 1 + description: > + Detailed information regarding the parties allowed to act on the + owner's behalf. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerParties' + financial_profile: + $ref: '#/components/schemas/OwnerBusinessFinancialProfile' + financial_relation: + $ref: '#/components/schemas/OwnerBusinessFinancialRelation' + OwnersBusinessPaginatedResponseOpenFinanceBrazil: + type: object + title: Owner Business (OFDA Brazil) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of owner business (OFDA Brazil) objects. + items: + $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + EnumInvoiceSatInvoiceType: + type: string + nullable: true + enum: + - Egreso + - Ingreso + - Nómina + - Pago + - Traslado + description: | + The fiscal institution's classification of the invoice. + + For Mexico's SAT, we return one of the following values: + + - `Egreso` + - `Ingreso` + - `Nómina` + - `Pago` + - `Traslado` + example: Ingreso + EnumInvoiceType: + type: string + nullable: true + enum: + - OUTFLOW + - INFLOW + - null + description: | + The direction of the invoice (from the perspective of the Link owner). + - `OUTFLOW` indicates a sent invoice. + - `INFLOW` indicates a received invoice. + example: INFLOW + EnumInvoiceSatPaymentMethod: + type: string + nullable: true + enum: + - PUE + - PIP + - PPD + - null + description: > + The payment method code used for this invoice, as defined by the legal + entity of the country. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payment-method). + For Mexico, we return `PUE`, `PIP`, `PPD`, or `null`. + example: PUE + InvoiceDetailRetainedTaxSat: + type: object + required: + - tax + - tax_percentage + - retained_tax_amount + properties: + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + tax_type: + type: string + nullable: true + description: > + **Note**: This field is not applicable for SAT Mexico and will + return `null`. + example: null + tax: + type: string + nullable: true + description: The type of retained tax (for example, ISR, IVA or IEPS). + example: ISR + tax_percentage: + type: number + nullable: true + format: float + description: The percentage of tax retained. + example: 10 + retained_tax_amount: + type: number + nullable: true + format: float + description: The amount of retained tax. + example: 209.79 + InvoiceDetailSat: + type: object + required: + - description + - product_identification + - quantity + - unit_amount + - unit_description + - unit_code + - pre_tax_amount + - tax_percentage + - tax_amount + - total_amount + properties: + description: + type: string + nullable: true + description: > + The description of the invoice item (an invoice can have one or more + items). + example: December 2019 accounting fees + product_identification: + type: string + nullable: true + description: > + The identification code of the product or the service, as defined by + the legal entity in the country. + + - 🇲🇽 [Mexico](http://200.57.3.89/Pys/catPyS.aspx) + example: '84101600' + quantity: + type: number + nullable: true + format: float + description: The quantity of this invoice item. + example: 10 + unit_code: + type: string + nullable: true + description: > + The unit of measure, as defined by the legal entity in the country. + + - 🇲🇽 Mexico [SAT catalog + reference](https://developers.belvo.com/docs/sat-catalogs#unit-code) + example: E48 + unit_description: + type: string + nullable: true + description: > + The description of the item, as defined by the legal entity in the + country. + + - 🇲🇽 Mexico [SAT catalog + reference](https://developers.belvo.com/docs/sat-catalogs#unit-code) + example: Unidad de servicio + unit_amount: + type: number + nullable: true + format: float + description: The price of one a singular item. + example: 200 + tax_type: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + pre_tax_amount: + type: number + nullable: true + format: float + description: | + The total price for this item before tax is applied (`quantity` x + `unit_amount`). + example: 400 + tax_percentage: + type: number + nullable: true + format: float + description: The tax percentage to apply. + example: 16 + tax_amount: + type: number + nullable: true + format: float + description: | + The amount of tax for this invoice item (`pre_tax_amount` x + `tax_percentage`). + example: 64 + total_amount: + type: number + nullable: true + format: float + description: >- + The total price for this invoice item (`pre_tax_amount` + + `tax_amount`). + example: 464 + retained_taxes: + type: array + description: The retained tax on the invoice item. + items: + $ref: '#/components/schemas/InvoiceDetailRetainedTaxSat' + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + InvoicesPaymentsRelatedDocumentsSat: + type: object + required: + - invoice_identification + - currency + - payment_method + - previous_balance + - amount_paid + - outstanding_balance + description: List of all the related deferred invoices affected by the payment. + properties: + invoice_identification: + type: string + nullable: true + description: | + The fiscal institution's unique ID for the related deferred invoice. + example: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: + type: string + nullable: true + description: | + The currency of the related invoice. For example: + + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + + Please note that other currencies other than in the list above may be returned. + example: MXN + payment_method: + type: string + nullable: true + description: | + The payment method of the related invoice. + example: PPD + partiality_number: + type: integer + format: int32 + description: | + The payment installment number. + example: 1 + previous_balance: + type: number + nullable: true + format: float + description: | + The invoice amount before the payment. + example: 18877.84 + amount_paid: + type: number + nullable: true + format: float + description: | + The amount paid in this installment. + example: 8000 + outstanding_balance: + type: number + nullable: true + format: float + description: | + The amount remaining to be paid. + example: 10877.84 + InvoicesPaymentsSat: + type: object + required: + - date + - payment_type + - currency + - exchange_rate + - amount + - operation_number + - beneficiary_account_number + - payer_rfc + - payer_account_number + - payer_bank_name + - related_documents + properties: + date: + type: string + nullable: true + format: date-time + description: | + ISO-8601 timestamp when the payment was made. + example: '2020-03-17T12:00:00.000Z' + payment_type: + type: string + nullable: true + description: > + Payment type code used for this invoice, as defined by the country's + legal entity. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payment-type) + example: '03' + currency: + type: string + nullable: true + description: > + The currency of the payment. For example: + + + - 🇧🇷 BRL (Brazilian Real) + + - 🇨🇴 COP (Colombian Peso) + + - 🇲🇽 MXN (Mexican Peso) + + + Please note that other currencies other than in the list above may + be returned. + example: BRL + exchange_rate: + type: string + nullable: true + description: > + The `currency` to MXN currency exchange rate when the payment was + made. + example: '3.75' + amount: + type: number + nullable: true + format: float + description: | + The invoice amount, in the currency of the original invoice. + example: 8000.5 + operation_number: + type: string + nullable: true + description: | + The fiscal institution's internal identifier for the operation. + example: '831840' + beneficiary_rfc: + type: string + nullable: true + description: | + The fiscal ID of the payment beneficiary. + example: BNM840515VB1 + beneficiary_account_number: + type: string + nullable: true + description: | + The bank account number of the payment beneficiary. + example: '12343453245633' + payer_rfc: + type: string + nullable: true + description: | + The fiscal ID of the payment issuer. + example: BKJM840515VB1 + payer_account_number: + type: string + nullable: true + description: | + The bank account number of the payment issuer. + example: '13343663245699' + payer_bank_name: + type: string + nullable: true + description: | + The banking institution that was used by the payment issuer. + example: CITI BANAMEX + related_documents: + type: array + description: | + A list of all the related deferred invoices affected by the payment. + items: + $ref: '#/components/schemas/InvoicesPaymentsRelatedDocumentsSat' + InvoicesPayrollSat: + type: object + nullable: true + required: + - version + - type + - payment_date + - date_from + - date_to + - days + - amount + description: > + Details regarding the payroll payment. Only applicable for payroll + invoices. + properties: + days: + type: integer + nullable: true + format: int32 + description: | + The number of days covered by the payment. + example: 30 + type: + type: string + nullable: true + description: > + The payroll type, as defined by the legal entity of the country. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payroll-type) + example: O + amount: + type: number + format: float + description: | + The total amount of the payroll payment. + example: 20400.1 + version: + type: string + description: | + The version of the payroll object. + example: '1.2' + date_from: + type: string + nullable: true + format: date + description: | + The start date of the payment period, in `YYYY-MM-DD` format. + example: '2018-07-01' + date_to: + type: string + nullable: true + format: date + description: | + The end date of the payment period, in `YYYY-MM-DD` format. + example: '2018-07-31' + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + payment_date: + type: string + format: date + description: | + The payment date, in `YYYY-MM-DD` format. + InvoiceWarningsSat: + type: object + nullable: true + required: + - code + - message + description: > + Object containing information about any warnings related to this + invoice. + properties: + code: + type: string + nullable: true + description: | + The warning code. Can be one of: + + - `sat_xml_limit_reached` + - `sat_service_unavailable` + - `null` + example: sat_xml_limit_reached + message: + type: string + nullable: true + description: > + The description of the warning. + + + The message will depend on the warning code: + + + `sat_xml_limit_reached`
+ + The daily limit for XML downloads set by SAT was reached so this + invoice might be missing data. Please check + https://tinyurl.com/yydzhy5d for more information on this error. + + + `sat_service_unavailable`
+ + Downloading invoices details is not available. The SAT portal raised + a 503 error. + example: > + The daily limit for XML downloads set by SAT was reached so this + invoice + + might be missing data. Please check https://tinyurl.com/yydzhy5d for + more + + information on this error. + InvoiceWithIdSat: + type: object + title: 🇲🇽 SAT Mexico + required: + - type + - invoice_identification + - invoice_date + - invoice_type + - subtotal_amount + - tax_amount + - discount_amount + - total_amount + - currency + - exchange_rate + - status + - sender_name + - sender_id + - receiver_name + - receiver_id + - certification_authority + - certification_date + - cancelation_status + - cancelation_update_date + - payment_type + - payment_type_description + - invoice_details + - payroll + - payments + - collected_at + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier used to reference the current invoice. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + description: The `link.id` the invoice belongs to. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + invoice_identification: + type: string + nullable: true + description: The fiscal institution's unique ID for the invoice. + example: A1A1A1A1-2B2B-3C33-D44D-555555E55EE + invoice_date: + type: string + nullable: true + description: The date of the invoice, in `YYYY-MM-DD` format. + example: '2019-12-01' + status: + type: string + nullable: true + description: > + The status of the invoice. Can be either *Vigente* (valid) or + *Cancelado* + + (cancelled). + example: Vigente + invoice_type: + $ref: '#/components/schemas/EnumInvoiceSatInvoiceType' + type: + $ref: '#/components/schemas/EnumInvoiceType' + sender_id: + type: string + nullable: true + description: The fiscal ID of the invoice sender + example: AAA111111AA11 + sender_name: + type: string + nullable: true + description: The name of the invoice sender. + example: ACME CORP + sender_tax_fraud_status: + type: string + nullable: true + description: > + Indicates whether or not the sender is on SAT's tax fraud list for + having submitted incorrect data, having outstanding payments, or + having conducted business that is in violation of the fiscal + institution's regulations.

+ + + SAT updates the tax fraud list every three months.

+ + + For more information regarding the reason's a taxpayer can be put on + the tax fraud list, please see [Article + 69](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69.html) + and [Article + 69-B](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69B.html) + of Mexico's Código Fiscal de la Federación. + +

+ + + Possible statuses are: + + + - `INVESTIGATING`
+ + The fiscal institution has identified irregularities and open an + investigation regarding the taxpayer. + +
+ + - `DISMISSED`
+ + The fiscal institution has investigated the taxpayer and declared + them innocent. + +
+ + - `CONFIRMED`
+ + The fiscal institution has confirmed that the taxpayer is guilty. + +
+ + - `OVERTURNED`
+ + The fiscal institution has reassessed a previously confirmed + taxpayer and, based on new evidence, has taken the taxpayer off the + tax fraud list. + +
+ + - `NO_TAX_FRAUD_STATUS`
+ + The receiver or sender is not found in the list (in other words, + they are complying with the fiscal institution's regulations). + example: NO_TAX_FRAUD_STATUS + receiver_id: + type: string + nullable: true + description: The fiscal ID of the invoice receiver. + example: BBB222222BB22 + receiver_name: + type: string + nullable: true + description: The name of the invoice receiver. + example: BELVO CORP + receiver_tax_fraud_status: + type: string + nullable: true + description: > + Indicates whether or not the receiver is on SAT's tax fraud list for + having submitted incorrect data, having outstanding payments, or + having conducted business that is in violation of the fiscal + institution's regulations.

+ + + SAT updates the tax fraud list every three months.

+ + + For more information regarding the reason's a taxpayer can be put on + the tax fraud list, please see [Article + 69](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69.html) + and [Article + 69-B](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69B.html) + of Mexico's Código Fiscal de la Federación. + +

+ + + Possible statuses are: + + + - `INVESTIGATING`
+ + The fiscal institution has identified irregularities and open an + investigation regarding the taxpayer. + +
+ + - `DISMISSED`
+ + The fiscal institution has investigated the taxpayer and declared + them innocent. + +
+ + - `CONFIRMED`
+ + The fiscal institution has confirmed that the taxpayer is guilty. + +
+ + - `OVERTURNED`
+ + The fiscal institution has reassessed a previously confirmed + taxpayer and, based on new evidence, has taken the taxpayer off the + tax fraud list. + +
+ + - `NO_TAX_FRAUD_STATUS`
+ + The receiver or sender is not found in the list (in other words, + they are complying with the fiscal institution's regulations). + example: NO_TAX_FRAUD_STATUS + cancelation_status: + type: string + nullable: true + description: > + If the invoice is cancelled, this field indicates the status of the + cancellation. + cancelation_update_date: + type: string + nullable: true + format: date + description: | + The date of the invoice cancelation, in `YYYY-MM-DD` format. + example: '2019-12-02' + certification_date: + type: string + nullable: true + format: date + description: | + The date of the fiscal certification, in `YYYY-MM-DD` format. + example: '2019-12-01' + certification_authority: + type: string + nullable: true + description: | + The fiscal ID of the certification provider. + example: CCC333333CC33 + payment_type: + type: string + nullable: true + description: > + The payment type code used for this invoice, as defined by the + country legal entity. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payment-type) + example: '99' + payment_type_description: + 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.* + example: null + payment_method: + $ref: '#/components/schemas/EnumInvoiceSatPaymentMethod' + payment_method_description: + 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.* + + + *The description of the payment method used for this invoice.* + example: null + usage: + type: string + nullable: true + description: > + The invoice's usage code, as defined by the legal entity of the + country. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#usage) + example: P01 + version: + type: string + nullable: true + description: | + The CFDI version of the invoice. + example: '3.3' + place_of_issue: + type: string + nullable: true + description: | + The postcode of where the invoice was issued. + example: '01165' + invoice_details: + type: array + description: > + A list of descriptions for each item (purchased product or service + provided) in the invoice. + items: + $ref: '#/components/schemas/InvoiceDetailSat' + currency: + type: string + nullable: true + description: | + The currency of the invoice. For example: + + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + - 🇺🇸 USD (United States Dollar) + example: MXN + subtotal_amount: + type: number + nullable: true + format: float + description: > + The pretax amount of this invoice (sum of each item's + `pre_tax_amount`). + example: 400 + exchange_rate: + type: number + nullable: true + format: float + description: | + The exchange rate used in this invoice for the currency. + example: 0.052 + tax_amount: + type: number + nullable: true + format: float + description: > + The amount of tax for this invoice (sum of each item's + `tax_amount`). + example: 64 + discount_amount: + type: number + nullable: true + format: float + description: | + The total amount discounted in this invoice. + example: 10 + total_amount: + type: number + nullable: true + format: float + description: | + The total amount of the invoice (`subtotal_amount` + `tax_amount` - + `discount_amount`) + example: 454 + payments: + type: array + description: | + A list detailing all the invoice payments. + items: + $ref: '#/components/schemas/InvoicesPaymentsSat' + payroll: + $ref: '#/components/schemas/InvoicesPayrollSat' + folio: + type: string + nullable: true + description: > + The internal control number that the taxpayer assigns to the + invoice. + example: '26' + xml: + type: string + nullable: true + description: | + XML of the invoice document. + warnings: + $ref: '#/components/schemas/InvoiceWarningsSat' + sender_blacklist_status: + 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.* + + Please use `sender_tax_fraud_status` instead. + example: null + receiver_blacklist_status: + 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.* + + Please use `receiver_tax_fraud_status` instead. + example: null + EnumInvoiceDianInvoiceType: + type: string + nullable: true + enum: + - Factura Electrónica de Venta + description: | + The fiscal institution's classification of the invoice. + + For Colombia's DIAN, we return one of the following values: + + - `Factura Electrónica de Venta` + example: Factura Electrónica de Venta + InvoiceSenderDetailsDian: + type: object + nullable: true + description: | + Details regarding the sender. + properties: + collected_at: + type: string + nullable: true + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + tax_payer_type: + type: string + nullable: true + description: > + Indicates if the sender is a business or an individual. Can be + either: + + - `Persona Jurídica` + - `Persona Natural` + example: Persona Natural + regimen: + type: string + nullable: true + description: > + The sender's regimen type. + + + For detailed information regarding DIAN's regimens, please see their + [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: Régimen Simple de Tributación - SIMPLE + tax_scheme: + type: string + nullable: true + description: > + The sender's fiscal responsibilities. + + + For detailed information regarding DIAN's tax schemes, please see + their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: 01-IVA + country: + type: string + nullable: true + description: | + The country where the sender pays their taxes. + example: Colombia + address: + type: string + nullable: true + description: | + The sender's address. + example: Calle 144 No. 12-09 + phone_number: + type: string + nullable: true + description: | + The sender's phone number. + example: '576606522566' + email: + type: string + nullable: true + description: | + The sender's email address. + example: acme_colombia@gmail.com + InvoicesReceiverDetailsDian: + type: object + nullable: true + description: | + Details regarding the receiver. + properties: + collected_at: + type: string + nullable: true + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + tax_payer_type: + type: string + nullable: true + description: > + Indicates if the receiver is a business or an individual. Can be + either: + + - `Persona Jurídica` + - `Persona Natural` + example: Persona Natural + regimen: + type: string + nullable: true + description: > + The receiver's regimen type. + + + For detailed information regarding DIAN's regimens, please see their + [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: Régimen Simple de Tributación - SIMPLE + tax_scheme: + type: string + nullable: true + description: > + The receiver's fiscal responsibilities. + + + For detailed information regarding DIAN's tax schemes, please see + their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: 01-IVA + country: + type: string + nullable: true + description: | + The country where the receiver pays their taxes. + example: Colombia + address: + type: string + nullable: true + description: | + The receiver's address. + example: Calle 144 No. 12-09 + phone_number: + type: string + nullable: true + description: | + The receiver's phone number. + example: 576606522566| + email: + type: string + nullable: true + description: | + The receiver's email address. + example: acme_colombia@gmail.com + EnumInvoiceDianPaymentMethod: + type: string + nullable: true + enum: + - Contado + - Crédito + - null + description: > + The payment method used for this invoice, as defined by the legal entity + of the country. + + + For DIAN Colombia, we return one of the following values: + + - `Contado` + - `Crédito` + - `null` + example: Contado + InvoiceDetailDian: + type: object + required: + - description + - product_identification + - quantity + - unit_amount + - unit_description + - unit_code + - pre_tax_amount + - tax_percentage + - tax_amount + - total_amount + properties: + description: + type: string + nullable: true + description: | + The description of the invoice item (an invoice can have one or more + items). + example: December 2019 accounting fees + product_identification: + type: string + nullable: true + description: > + The identification code of the product or the service, as defined by + the legal entity in the country. + example: AE001 + quantity: + type: number + nullable: true + format: float + description: The quantity of this invoice item. + example: 1 + unit_code: + type: string + nullable: true + description: | + The unit of measure, as defined by the legal entity in the country. + example: EA + unit_description: + type: string + nullable: true + description: > + The description of the item, as defined by the legal entity in the + country. + example: cada + unit_amount: + type: number + nullable: true + format: float + description: The price of one singular item. + example: 5900 + tax_type: + type: string + nullable: true + description: The item's tax type. + example: IVA + pre_tax_amount: + type: number + nullable: true + format: float + description: | + The total price for this item before tax is applied (`quantity` x + `unit_amount`). + example: 5900 + tax_percentage: + type: number + nullable: true + format: float + description: The tax percentage to apply. + example: 16 + tax_amount: + type: number + nullable: true + format: float + description: | + The amount of tax for this invoice item (`pre_tax_amount` x + `tax_percentage`). + example: 64 + total_amount: + type: number + nullable: true + format: float + description: >- + The total price for this invoice item (`pre_tax_amount` + + `tax_amount`). + example: 464 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + InvoicesPaymentsRelatedDocumentsDian: + type: object + required: + - invoice_identification + - currency + - payment_method + - previous_balance + - amount_paid + - outstanding_balance + description: List of all the related deferred invoices affected by the payment. + properties: + invoice_identification: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + currency: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payment_method: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + partiality_number: + type: integer + nullable: true + format: int32 + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + previous_balance: + type: number + nullable: true + format: float + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + amount_paid: + type: number + nullable: true + format: float + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + outstanding_balance: + type: number + nullable: true + format: float + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + InvoicesPaymentsDian: + type: object + required: + - date + - payment_type + - currency + - exchange_rate + - amount + - operation_number + - beneficiary_account_number + - payer_rfc + - payer_account_number + - payer_bank_name + - related_documents + properties: + date: + type: string + nullable: true + format: date-time + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payment_type: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + currency: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + exchange_rate: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + amount: + type: number + nullable: true + format: float + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + operation_number: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + beneficiary_rfc: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + beneficiary_account_number: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payer_rfc: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payer_account_number: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payer_bank_name: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + related_documents: + type: array + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + items: + $ref: '#/components/schemas/InvoicesPaymentsRelatedDocumentsDian' + InvoicesPayrollDian: + type: object + nullable: true + required: + - version + - type + - payment_date + - date_from + - date_to + - days + - amount + description: > + **Note**: This field is not applicable for DIAN Colombia and will return + `null`. + properties: + days: + type: integer + nullable: true + format: int32 + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + type: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + amount: + type: number + nullable: true + format: float + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + version: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + date_from: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + date_to: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + collected_at: + type: string + nullable: true + format: date-time + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payment_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + InvoiceWarningsDian: + type: object + nullable: true + required: + - code + - message + description: > + **Note**: This field is not applicable for DIAN Colombia and will return + `null`. + properties: + code: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + message: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + InvoiceDian: + type: object + title: 🇨🇴 DIAN Colombia + required: + - type + - invoice_identification + - invoice_date + - invoice_type + - subtotal_amount + - tax_amount + - discount_amount + - total_amount + - currency + - exchange_rate + - status + - sender_name + - sender_id + - receiver_name + - receiver_id + - certification_authority + - certification_date + - cancelation_status + - cancelation_update_date + - payment_type + - payment_type_description + - invoice_details + - payroll + - payments + - collected_at + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier for the current invoice. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + description: The `link.id` the invoice belongs to. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + invoice_identification: + type: string + nullable: true + description: The fiscal institution's unique ID for the invoice. + example: >- + 89868fda605e6250a7ecb910dc57ed6f8147c6dc39ec90805bb655a0646e6cc3f991f93463f62e03d236b9cc9c293edc + invoice_date: + type: string + nullable: true + description: The date of the invoice, in `YYYY-MM-DD` format. + example: '2019-12-01' + status: + type: string + nullable: true + description: | + The status of the invoice. Can be one of: + + - *Aprobado* (approved) + - *Aprobado con notificación* (approved with notification) + example: Aprobado + expiration_date: + type: string + nullable: true + format: date + description: > + The date when the invoice is set to expire, in `YYYY-MM-DD` format. + + + For example: If the invoice is paid in installments, this field + indicates the date when the installment is to be paid. + example: '2022-08-19' + invoice_type: + $ref: '#/components/schemas/EnumInvoiceDianInvoiceType' + type: + $ref: '#/components/schemas/EnumInvoiceType' + sender_id: + type: string + nullable: true + description: The fiscal ID of the invoice sender. + example: YHS922233648 + sender_name: + type: string + nullable: true + description: The name of the invoice sender. + example: ACME Corp Colombia + sender_details: + $ref: '#/components/schemas/InvoiceSenderDetailsDian' + sender_tax_fraud_status: + type: string + nullable: true + description: > + Indicates whether or not the sender is on a tax fraud list for + having submitted incorrect data, having outstanding payments, or + having conducted business that is in violation of the fiscal + institution's regulations. + + + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + receiver_id: + type: string + nullable: true + description: The fiscal ID of the invoice receiver. + example: BBB222222BB22 + receiver_name: + type: string + nullable: true + description: The name of the invoice receiver. + example: Roadrunner Traps Colombia + receiver_details: + $ref: '#/components/schemas/InvoicesReceiverDetailsDian' + receiver_tax_fraud_status: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + cancelation_status: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + cancelation_update_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + certification_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + certification_authority: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payment_type: + type: string + nullable: true + description: > + The payment type code used for this invoice, as defined by the + country legal entity. + + + For detailed information regarding DIAN's payment types, please see + their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: '47' + payment_type_description: + type: string + nullable: true + description: | + The description of the payment method used for this invoice. + example: null + payment_method: + $ref: '#/components/schemas/EnumInvoiceDianPaymentMethod' + payment_method_description: + 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.* + + + *The description of the payment method used for this invoice.* + example: null + usage: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + version: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + place_of_issue: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + invoice_details: + type: array + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + items: + $ref: '#/components/schemas/InvoiceDetailDian' + currency: + type: string + nullable: true + description: | + The currency of the invoice. For example: + + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + - 🇺🇸 USD (United States Dollar) + example: COP + subtotal_amount: + type: number + nullable: true + format: float + description: > + The pretax amount of this invoice (sum of each item's + `pre_tax_amount`). + example: 400 + exchange_rate: + type: number + nullable: true + format: float + description: | + The exchange rate used in this invoice for the currency. + example: 0.053 + tax_amount: + type: number + nullable: true + format: float + description: > + The amount of tax for this invoice (sum of each item's + `tax_amount`). + example: 64 + discount_amount: + type: number + nullable: true + format: float + description: | + The total amount discounted in this invoice. + example: 10 + total_amount: + type: number + nullable: true + format: float + description: | + The total amount of the invoice (`subtotal_amount` + `tax_amount` - + `discount_amount`) + example: 454 + payments: + type: array + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + items: + $ref: '#/components/schemas/InvoicesPaymentsDian' + payroll: + $ref: '#/components/schemas/InvoicesPayrollDian' + folio: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + xml: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + warnings: + $ref: '#/components/schemas/InvoiceWarningsDian' + InvoicesResponsePaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of invoice objects. + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + InvoicesRequest: + type: object + required: + - date_from + - date_to + - link + - type + properties: + link: + type: string + format: uuid + description: The fiscal `link.id` to use. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting invoices for, in + `YYYY-MM-DD` format. + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2020-01-01' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting invoices for, in `YYYY-MM-DD` + format. + + + ⚠️ The number of days between `date_from` and `date_to` cannot be + over 365. + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2020-02-01' + type: + $ref: '#/components/schemas/EnumInvoiceType' + attach_xml: + type: boolean + default: false + description: | + When set to `true`, you will receive the XML invoice in the + response. + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + TaxReturnPersonal: + type: object + additionalProperties: true + title: Tax Return Personal + required: + - informacion_general + - sueldos_salarios + - servicios_profesionales + - dividendos + - deducciones_personales + - retenciones + - determinacion_impuesto + - pdf + - receipt_pdf + - collected_at + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: + type: string + format: uuid + description: The `link.id` the statement belongs to + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + type: object + nullable: true + description: | + General information on the tax return (year, RFC, return type, + person/company name, and so on). + sueldos_salarios: + type: object + nullable: true + description: > + Details regarding the income information together combined with + withheld + + taxes. + servicios_profesionales: + type: object + nullable: true + description: | + Details regarding the income and tax information from professional + services provided. + deducciones_personales: + type: object + nullable: true + description: List of all personal tax deductions. + determinacion_impuesto: + type: object + nullable: true + description: Details regarding the final tax return. + retenciones: + type: object + nullable: true + description: Details on the already withheld taxes. + dividendos: + type: object + nullable: true + description: Details regarding dividends. + datos_informativos: + type: object + nullable: true + description: Extra informative data on the tax return. + pdf: + type: string + nullable: true + format: binary + description: Tax return PDF as a binary. + example: '=PDF-STRING=' + receipt_pdf: + type: string + nullable: true + format: binary + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + example: '=PDF-STRING=' + TaxReturnsPersonalPaginated: + type: object + title: Tax Return Personal + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Personal Tax Return objects. + items: + $ref: '#/components/schemas/TaxReturnPersonal' + TaxReturnPersonalMonthly: + type: object + additionalProperties: true + title: Tax Return Personal Monthly + required: + - informacion_general + - pdf + - type + - isr + - iva + - collected_at + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2022-02-09T08:45:50.406032Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + type: object + nullable: true + description: > + General information regarding the tax return (year, RFC, return + type, + + person/company name, and so on). + isr: + type: object + nullable: true + description: > + Information used to calculate the monthly provisional payments of + the + + income tax. + iva: + type: object + nullable: true + description: > + Information used to calculate the monthly provisional payments of + the VAT + + tax. + pdf: + type: string + nullable: true + format: binary + description: Tax return PDF as a binary. + example: '=PDF-STRING=' + receipt_pdf: + type: string + nullable: true + format: binary + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + example: '=PDF-STRING=' + type: + type: string + description: The type of tax return. Can be either monthly or annual. + example: monthly + TaxReturnsPersonalMonthlyPaginated: + type: object + title: Tax Return Personal Monthly + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Monthly Personal Tax Return objects. + items: + $ref: '#/components/schemas/TaxReturnPersonalMonthly' + TaxReturnBusiness: + type: object + additionalProperties: true + title: Tax Return Business + required: + - id + - collected_at + - created_at + - informacion_general + - datos_adicionales + - estado_resultados + - estado_posicion_financiera_balance + - conciliacion_entre_resultado_contable_fiscal + - deducciones_autorizadas + - cifras_cierre_ejercicio + - determinacion_del_impuesto_sobre_la_renta + - dividendos_o_utilidades_distribuidos + - detalle_pago_r1_isr_personas_morales + - pdf + - receipt_pdf + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + type: object + nullable: true + description: > + General information regarding the tax return (year, RFC, return + type, + + person/company name, and so on). + datos_adicionales: + type: object + nullable: true + description: Additional data regarding the tax return. + estado_resultados: + type: object + nullable: true + description: > + Detailed information about the legal entity's yearly profit and + loss. + + + > **Note**: For tax returns submitted for the 2022 tax year and + later, this field will return null as it is no longer a required + field when submitting your tax return. + estado_posicion_financiera_balance: + type: object + nullable: true + description: > + Details regarding balance sheet of the legal entity. + + + > **Note**: For tax returns submitted for the 2022 tax year and + later, this field will return null as it is no longer a required + field when submitting your tax return. + conciliacion_entre_resultado_contable_fiscal: + type: object + nullable: true + description: > + Details regarding the accounting reconciliation. + + + > **Note**: For tax returns submitted for the 2022 tax year and + later, this field will return null as it is no longer a required + field when submitting your tax return. + deducciones_autorizadas: + type: object + nullable: true + description: Details regarding the legal entity's deductions. + cifras_cierre_ejercicio: + type: object + nullable: true + description: Details regarding key numbers at the end of the fiscal exercise. + determinacion_del_impuesto_sobre_la_renta: + type: object + nullable: true + description: Details regarding the final tax return. + dividendos_o_utilidades_distribuidos: + type: object + nullable: true + description: Details regarding distributed dividends. + detalle_pago_r1_isr_personas_morales: + type: object + nullable: true + description: Details of the tax payment. + ingressos: + type: object + nullable: true + description: > + > **Note**: Only applicable for tax return filed on or after 2022. + For tax returns filed before 2022, this field will return `null`. + + + Details regarding the total amounts earned in the fiscal year. + determinacion: + type: object + nullable: true + description: > + > **Note**: Only applicable for tax return filed on or after 2022. + For tax returns filed before 2022, this field will return `null`. + + + Details regarding the tax due or tax credit. + pdf: + type: string + nullable: true + format: binary + description: Tax return PDF as a binary. + example: '=PDF-STRING=' + receipt_pdf: + type: string + nullable: true + format: binary + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + example: '=PDF-STRING=' + TaxReturnsBusinessPaginated: + type: object + title: Tax Return Personal Business + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Business Tax Return objects. + items: + $ref: '#/components/schemas/TaxReturnBusiness' + TaxReturnBusinessMonthly: + type: object + additionalProperties: true + title: Tax Return Business Monthly + required: + - informacion_general + - determinacion_isr + - pdf + - type + - collected_at + - detalle_pago_isr + - determinacion_iva + - detalle_pago_iva + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + type: object + nullable: true + description: > + General information regarding the tax return (year, RFC, return + type, + + person/company name, and so on). + determinacion_isr: + type: object + nullable: true + description: >- + Information used to calculate the provisional income tax for the + period. + detalle_pago_isr: + type: object + nullable: true + description: Information on the monthly provisional payments for the income tax. + determinacion_iva: + type: object + nullable: true + description: >- + Information used to calculate the provisional VAT tax for the + period. + detalle_pago_iva: + type: object + nullable: true + description: Information on the monthly provisional payments for the VAT tax. + pdf: + type: string + nullable: true + format: binary + description: Tax return PDF as a binary. + example: '=PDF-STRING=' + receipt_pdf: + type: string + nullable: true + format: binary + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + example: '=PDF-STRING=' + type: + type: string + nullable: true + description: The type of tax return. Can be either monthly or annual. + example: monthly + TaxReturnsBusinessMonthlyPaginated: + type: object + title: Tax Return Personal Business Monthly + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Monthly Business Tax Return objects. + items: + $ref: '#/components/schemas/TaxReturnBusinessMonthly' + TaxReturnsMonthlyRequest: + type: object + title: Monthly Tax Returns + description: Request body for monthly tax returns + required: + - link + - type + - date_from + - date_to + properties: + link: + type: string + format: uuid + description: The fiscal `link.id` you want specific tax return information for. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + type: boolean + default: false + description: > + When this is set to `true`, you will receive the PDF as a binary + string in + + the response. + example: false + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + type: + type: string + default: monthly + description: > + The type of tax return to return. For monthly tax returns, this + field must be set to `monthly`. + date_from: + type: string + description: > + The starting date you want to get tax returns for, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2018-01-01' + date_to: + type: string + description: > + The date you want to stop getting tax returns for, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2019-01-01' + TaxReturnsYearlyRequest: + type: object + title: Yearly Tax Returns + description: Request body for yearly tax returns + required: + - link + - type + - year_to + - year_from + properties: + link: + type: string + format: uuid + description: The fiscal `link.id` you want specific tax return information for. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + type: boolean + default: false + description: > + When this is set to `true`, you will receive the PDF as a binary + string in + + the response. + example: false + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + type: + type: string + default: yearly + description: > + The type of tax return to return. For yearly tax returns this must + be set to `yearly`. + + + By default, Belvo returns the yearly (annual) tax returns. + year_from: + type: string + description: | + The starting year you want to get tax returns for, in `YYYY` format. + example: '2018' + year_to: + type: string + description: | + The year you want to stop getting tax returns for, in `YYYY` format. + example: '2019' + TaxStatusTaxPayerInformationSat: + type: object + nullable: true + required: + - rfc + - start_operations_date + - status_padron + - last_status_change_date + description: Details regarding the taxpayer. + properties: + rfc: + type: string + nullable: true + description: > + The tax payers's identification number (For Mexico, this is the + RFC). + example: BEMP12345G58 + curp: + type: string + nullable: true + description: > + The tax payers's *Clave Única de Registro de Población* (CURP) + number. + example: null + name: + type: string + nullable: true + description: The tax payers's first name. + example: JOHN + first_last_name: + type: string + nullable: true + description: The tax payers's first last name. + example: DOE + second_last_name: + type: string + nullable: true + description: The tax payers's second last name. + example: SCHMOE + start_operations_date: + type: string + nullable: true + format: date + description: > + Date when the tax payer commenced taxable commercial activities, in + `YYYY-MM-DD` format. + example: null + status_padron: + type: string + nullable: true + description: > + Status of the taxpayer in the Federal Register of Taxpayers (RFC). + Can be `ACTIVO` or `INACTIVO`. + example: null + last_status_change_date: + type: string + nullable: true + format: date + description: > + Date when `status_padron` was most recently updated, in `YYYY-MM-DD` + format. + example: null + commercial_name: + type: string + nullable: true + description: > + The name of the business designated for consumers and the general + public. + + + **Note**: Only applicable for businesses. + example: Jar Jar Transport + social_name: + type: string + nullable: true + description: > + The unique and exclusive name within the national territory that + companies + + receive for legal or administrative purposes. + + + **Note**: Only applicable for businesses. + example: John Doe SA DE CV + email: + type: string + nullable: true + description: Contact email address for the tax payer. + example: john_doe@gmail.com + phone: + type: string + nullable: true + description: Contact phone number for the tax payer. + example: '1234567890' + TaxStatusAddressBetweenStreetSat: + type: object + properties: + street_one: + type: string + nullable: true + description: The first street that `street` is located between. + example: CALLE PRINCIPE + street_two: + type: string + nullable: true + description: The second street that `street` is located between. + example: CALLE NUEVA ROMA + TaxStatusAddressSat: + type: object + nullable: true + required: + - postal_code + description: The tax payer's address details. + properties: + postal_code: + type: string + nullable: true + description: | + The postcode of the address. + example: '21255' + street_type: + type: string + nullable: true + description: The `street` type. + example: CALLE + street: + type: string + nullable: true + description: The tax payers street. + example: LA MALINCHE + exterior_number: + type: string + nullable: true + description: The street number. + example: '432' + interior_number: + type: string + nullable: true + description: Additional address information. + example: PLANTA BAJA + suburb: + type: string + nullable: true + description: | + The suburb of the tax payer. + example: BUENAVENTURA + locality: + type: string + nullable: true + description: | + The locality of the address. + example: none + municipality: + type: string + nullable: true + description: The municipality of the address. + example: CDMX DC + state: + type: string + nullable: true + description: The state that the address is in. + example: Federal + between_street: + type: array + nullable: true + description: | + Additional information about where the `street` is located. + items: + $ref: '#/components/schemas/TaxStatusAddressBetweenStreetSat' + TaxStatusEconomicActivitySat: + type: object + properties: + economic_activity: + type: string + nullable: true + description: The description of the economic activity. + example: Asalariado + initial_date: + type: string + nullable: true + description: The start date of the economic activity, in `YYYY-MM-DD` format. + example: '2020-12-06' + end_date: + type: string + nullable: true + format: date + description: | + The end date of the economic activity, in `YYYY-MM-DD` format. + example: null + order: + type: string + nullable: true + description: The order of the economic activity. + example: '2' + percentage: + type: string + nullable: true + description: | + The percentage of the economic activity. + example: '1' + TaxStatusRegimensSat: + type: object + required: + - regimen + - initial_date + - end_date + properties: + end_date: + type: string + nullable: true + format: date + description: | + The end date of the regimen, in `YYYY-MM-DD` format. + example: null + initial_date: + type: string + nullable: true + format: date + description: | + The start date of the regimen, in `YYYY-MM-DD` format. + example: '2020-12-06' + regimen: + type: string + nullable: true + description: The description of the regimen. + example: Régimen de Ingresos por Dividendos (socios y accionistas) + TaxStatusObligationsSat: + type: object + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + properties: + obligation: + type: string + nullable: true + description: | + The description of the obligation. + example: Declaración informativa de IVA con la anual de ISR + expiration: + type: string + nullable: true + description: > + The deadline to fulfill the obligation, as imposed by the tax + authority. + example: Conjuntamente con la declaración anual del ejercicio. + initial_date: + type: string + nullable: true + format: date + description: | + The date when obligation started, in `YYYY-MM-DD` format. + example: '2020-12-06' + end_date: + type: string + nullable: true + format: date + description: | + The date when obligation ended, in `YYYY-MM-DD` format. + example: null + TaxStatusSat: + type: object + title: SAT 🇲🇽 Mexico + required: + - id + - link + - collected_at + - created_at + - place_and_date_of_issuance + - official_name + - id_cif + - tax_payer_information + - address + - economic_activity + - regimes + - obligations + - digital_stamp + - digital_stamp_chain + - pdf + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Status. + example: 21e9e25b-10a8-48a5-9e6a-4072b364b53f + link: + type: string + format: uuid + description: The `link.id` that the tax status is associated with. + example: c2280c05-cbeb-4a29-ae53-8f837a77995b + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + place_and_date_of_issuance: + type: string + nullable: true + description: The place and date of that the tax status was issued. + example: TLALPAN , CIUDAD DE MEXICO A 19 DE MARZO DE 2020 + official_name: + type: string + nullable: true + description: The name of the person or business. + example: John Doe + id_cif: + type: string + nullable: true + description: | + The taxpayer's *Cédula de Identificación Fiscal* (CIF) ID. + example: '12345678901' + tax_payer_information: + $ref: '#/components/schemas/TaxStatusTaxPayerInformationSat' + address: + $ref: '#/components/schemas/TaxStatusAddressSat' + economic_activity: + type: array + nullable: true + description: | + A list of economic activity objects. + items: + $ref: '#/components/schemas/TaxStatusEconomicActivitySat' + regimes: + type: array + nullable: true + description: | + A list of regimen objects. + items: + $ref: '#/components/schemas/TaxStatusRegimensSat' + obligations: + type: array + nullable: true + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + items: + $ref: '#/components/schemas/TaxStatusObligationsSat' + digital_stamp: + type: string + nullable: true + description: The validation certificate of the document. + example: | + ||2020/04/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: + type: string + nullable: true + description: > + A data chain containing the basic structure of a fiscal digital + check. For Mexico, this is the *Comprobante Fiscal Digital por + Internet* (CFDI). + example: > + EtenSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjow= + pdf: + type: string + nullable: true + format: binary + description: Tax status PDF as a binary string. + example: '=PDF-STRING=' + TaxStatusTaxPayerInformationDian: + type: object + nullable: true + required: + - rfc + - start_operations_date + - status_padron + - last_status_change_date + description: Details regarding the taxpayer. + properties: + rfc: + type: string + nullable: true + description: | + The tax payers's identification number (NIT). + example: BEMP12345G58 + curp: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + name: + type: string + nullable: true + description: The tax payers's first name. + example: JOHN + first_last_name: + type: string + nullable: true + description: The tax payers's first last name. + example: DOE + second_last_name: + type: string + nullable: true + description: The tax payers's second last name. + example: SCHMOE + start_operations_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + status_padron: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + last_status_change_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + commercial_name: + type: string + nullable: true + description: > + The name of the business designated for consumers and the general + public. + + + **Note**: Only applicable for businesses. + example: Jar Jar Transport + social_name: + type: string + nullable: true + description: > + The unique and exclusive name within the national territory that + companies + + receive for legal or administrative purposes. + + + **Note**: Only applicable for businesses. + example: John Doe SA DE CV + email: + type: string + nullable: true + description: Contact email address for the tax payer. + example: john_doe@gmail.com + phone: + type: string + nullable: true + description: Contact phone number for the tax payer. + example: '1234567890' + TaxStatusAddressBetweenStreetDian: + type: object + properties: + street_one: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + street_two: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + TaxStatusAddressDian: + type: object + nullable: true + required: + - postal_code + description: The tax payer's address details. + properties: + postal_code: + type: string + nullable: true + description: | + The postcode of the address. + example: 332-55 + street_type: + type: string + nullable: true + description: The `street` type. + example: CALLE + street: + type: string + nullable: true + description: The tax payers street. + example: LA MALINCHE + exterior_number: + type: string + nullable: true + description: The street number. + example: '432' + interior_number: + type: string + nullable: true + description: Additional address information. + example: AP 306 + suburb: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + locality: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + municipality: + type: string + nullable: true + description: The municipality of the address. + example: Bogota DC + state: + type: string + nullable: true + description: The state that the address is in. + example: Bogota DC + between_street: + type: array + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + items: + $ref: '#/components/schemas/TaxStatusAddressBetweenStreetDian' + TaxStatusEconomicActivityDian: + type: object + properties: + economic_activity: + type: string + nullable: true + description: > + The economic activity code, according to the fiscal institution. + + + For detailed information regarding DIAN's economic activities, + please see their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: '112' + initial_date: + type: string + nullable: true + description: The start date of the economic activity, in `YYYY-MM-DD` format. + example: '2020-12-06' + end_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + order: + type: string + nullable: true + description: The order of the economic activity. + example: '1' + percentage: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + TaxStatusRegimensDian: + type: object + required: + - regimen + - initial_date + - end_date + properties: + end_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + initial_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + regimen: + type: string + nullable: true + description: The description of the regimen. + example: 49-No responsable de IVA + TaxStatusObligationsDian: + type: object + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + properties: + obligation: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + expiration: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + initial_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + end_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + TaxStatusDian: + type: object + title: DIAN 🇨🇴 Colombia + required: + - id + - link + - collected_at + - created_at + - place_and_date_of_issuance + - official_name + - id_cif + - tax_payer_information + - address + - economic_activity + - regimes + - obligations + - digital_stamp + - digital_stamp_chain + - pdf + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Status. + example: 21e9e25b-10a8-48a5-9e6a-4072b364b53f + link: + type: string + format: uuid + description: The `link.id` that the tax status is associated with. + example: c2280c05-cbeb-4a29-ae53-8f837a77995b + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + place_and_date_of_issuance: + type: string + nullable: true + description: >- + The date when the tax status was issued. For example, + `2020-08-05/18:55:16`. + example: 2020-08-05/18:55:16 + official_name: + type: string + nullable: true + description: | + The name of the business. + + Note: For individuals in Colombia, this field will return `null`. + example: Jar Jar Transport + id_cif: + type: string + nullable: true + description: > + The taxpayer's *Cédula de ciudadanía* (CC) ID. Only applicable for + individuals. + example: '12345678901' + tax_payer_information: + $ref: '#/components/schemas/TaxStatusTaxPayerInformationDian' + address: + $ref: '#/components/schemas/TaxStatusAddressDian' + economic_activity: + type: array + nullable: true + description: | + A list of economic activity objects. + items: + $ref: '#/components/schemas/TaxStatusEconomicActivityDian' + regimes: + type: array + nullable: true + description: | + A list of regimen objects. + items: + $ref: '#/components/schemas/TaxStatusRegimensDian' + obligations: + type: array + nullable: true + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + items: + $ref: '#/components/schemas/TaxStatusObligationsDian' + digital_stamp: + type: string + nullable: true + description: The validation certificate of the document. + example: | + "44701362691" + digital_stamp_chain: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + pdf: + type: string + nullable: true + format: binary + description: Tax status PDF as a binary string. + example: '=PDF-STRING=' + TaxStatusPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of tax status objects. + items: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + TaxStatusRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The fiscal `link.id` to use. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + type: boolean + default: false + description: | + When set to `true`, you will receive the PDF in binary format in + the response. + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + EnumTaxComplianceStatusOutcome: + type: string + nullable: true + enum: + - POSITIVE + - NEGATIVE + - NO_OBLIGATIONS + description: | + Indicates whether the taxpayer is complying to all their tax obligations + (`POSITIVE`), if they are not (`NEGATIVE`), or have none to comply to + (`NO_OBLIGATIONS`). + example: NEGATIVE + TaxComplianceStatus: + type: object + required: + - pdf + - collected_at + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Compliance Status. + example: 91106968-1abd-4d64-85c1-4e73d96fb997 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2022-02-09T08:45:50.406032Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + internal_identification: + type: string + nullable: true + description: The institution’s internal identification number for the document. + example: 20NE1234567 + pdf: + type: string + nullable: true + format: binary + description: Tax compliance status PDF as a binary. + example: '=PDF-STRING=' + rfc: + type: string + nullable: true + description: >- + The account holder's RFC (Registro Federal de Contribuyentes) + number. + example: KDFC211118IS0 + outcome: + $ref: '#/components/schemas/EnumTaxComplianceStatusOutcome' + TaxComplianceStatusPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of tax compliance status objects. + items: + $ref: '#/components/schemas/TaxComplianceStatus' + TaxComplianceStatusRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The fiscal `link.id` to use. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + type: boolean + default: false + description: | + When set to `true`, you will receive the PDF in binary format in + the response. + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + EnumIncomeStreamType: + type: string + enum: + - SALARY + - GOVERNMENT + - INTEREST + - RENT + - RETIREMENT + - FREELANCE + - ALTERNATIVE_INCOME + - TRANSFER + - DEPOSIT + - UNKNOWN + description: | + The type of income used in the calculations. + + We return one of the following enum values: + + - `SALARY` + - `GOVERNMENT` + - `INTEREST` + - `RENT` + - `RETIREMENT` + - `FREELANCE` + - `ALTERNATIVE_INCOME` + - `TRANSFER` + - `DEPOSIT` + - `UNKNOWN` + example: SALARY + EnumIncomeStreamFrequency: + type: string + enum: + - MONTHLY + - FORTNIGHTLY + - WEEKLY + - IRREGULAR + - SINGLE + description: | + How often the income is received. + + We return one of the following enum values: + + - `MONTHLY` - For transactions that occur once per month. + - `FORTNIGHTLY` - For transactions that occur once every two weeks. + - `WEEKLY` - For transactions that occur once per week. + - `IRREGULAR` - For transactions that do not occur on a defined frequency pattern. + - `SINGLE` - For transactions that occur only once and do not repeat. + example: MONTHLY + EnumIncomeStreamConfidence: + type: string + enum: + - HIGH + - MEDIUM + - LOW + description: | + Belvo's level of confidence for future incomes. + + We return one of the following enum values: + + - `HIGH` + - `MEDIUM` + - `LOW` + example: HIGH + IncomeStreamsBody: + type: object + required: + - account_id + - income_type + - frequency + - monthly_average + - average_income_amount + - last_income_amount + - currency + - last_income_description + - last_income_date + - stability + - regularity + - trend + - lookback_periods + - full_periods + - periods_with_income + - number_of_incomes + - confidence + description: | + A list of income streams for the account. + + For each income stream, we provide additional insights such as: + - Frequency, stability, and confidence level of the income transactions. + - Key metrics about the transaction amounts. + ℹ️ If no income sources are found, we return an empty array. + properties: + account_id: + type: string + description: Unique ID for the bank account to be verified for income streams. + example: EBACA-89077589 + income_type: + $ref: '#/components/schemas/EnumIncomeStreamType' + frequency: + $ref: '#/components/schemas/EnumIncomeStreamFrequency' + monthly_average: + type: number + format: float + description: > + The average amount of income received from the source over + `lookback_periods`. + example: 2500 + average_income_amount: + type: number + format: float + description: | + The average income transaction amount from the source. + example: 2500 + last_income_amount: + type: number + format: float + description: | + The amount of the most recent income received from the source. + example: 2500 + currency: + type: string + description: | + The three-letter currency code of the income. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + example: BRL + last_income_description: + type: string + description: | + The description of the most recent income from the stream. + example: Salário + last_income_date: + type: string + format: date + description: > + The date when the most recent income from the stream was received, + in `YYYY-MM-DD` format. + example: '2023-02-09' + stability: + type: number + nullable: true + format: float + description: > + The stability of the income based on its amount, with a range from 0 + to 1, where 1 represents perfect stability. + + + **Note:** For transactions with `frequency`=`SINGLE`, this value + returns `null`. + example: 1 + regularity: + type: number + nullable: true + format: float + description: > + The regularity of the income based in its frequency, with a range + from 0 to 1, where 1 represents perfect regularity. + + + **Note:** For transactions with `frequency`=`SINGLE`, this value + returns `null`. + example: 1 + trend: + type: number + nullable: true + format: float + description: > + The income trend during a period of time calculated between last + income and first income received, where: + - a negative float means that the income trend is decreasing during the time period. + - a positive float means that the income trend is increasing during the time period. + + **Note:** For transactions with `frequency`=`SINGLE`, this value + returns `null`. + example: 0 + lookback_periods: + type: integer + format: int32 + description: > + Number of period units (based on *rolling months*) used to generate + insights and calculations. + + + **Note:** A *rolling month* is a period of 30 days. For example, + 2023-01-15 to 2023-02-15. + example: 9 + full_periods: + type: integer + format: int32 + description: > + Number of period units (based on *rolling months*) with data to + perform calculations. + + + **Note:** A *rolling month* is a period of 30 days. For example, + 2023-01-15 to 2023-02-15. + example: 9 + periods_with_income: + type: integer + format: int32 + description: > + Number of period units (based on *rolling months*) with at least one + income available. + + + **Note:** A *rolling month* is a period of 30 days. For example, + 2023-01-15 to 2023-02-15. + example: 9 + number_of_incomes: + type: integer + format: int32 + description: | + Number of income transactions over the `lookback_periods`. + example: 9 + confidence: + $ref: '#/components/schemas/EnumIncomeStreamConfidence' + EnumIncomeSourceType: + type: string + enum: + - BANK + description: | + The type of source we generate income insights from. + We return one of the following enum values: + + - `BANK` + example: BANK + Income: + type: object + description: Income insights + required: + - id + - link + - created_at + - income_streams + - income_source_type + - first_transaction_date + - last_transaction_date + - number_of_income_streams + - monthly_average + - monthly_average_regular + - monthly_average_irregular + - monthly_average_low_confidence + - monthly_average_medium_confidence + - monthly_average_high_confidence + - total_income_amount + - total_regular_income_amount + - total_low_confidence + - total_medium_confidence + - total_high_confidence + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier for the current income. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + link: + type: string + format: uuid + description: The `link.id` the income analysis belongs to. + example: f4621548-2f9e-440e-9ebd-ae8decac8c02 + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was created in Belvo's + database. + example: '2022-02-09T08:45:50.406032Z' + income_streams: + type: array + description: An array of enriched income stream objects. + items: + $ref: '#/components/schemas/IncomeStreamsBody' + income_source_type: + $ref: '#/components/schemas/EnumIncomeSourceType' + first_transaction_date: + type: string + nullable: true + format: date + description: > + The date when the first transaction occurred, in `YYYY-MM-DD` + format. + example: '2022-06-09' + last_transaction_date: + type: string + format: date + description: > + The date when when the last transaction occurred, in `YYYY-MM-DD` + format. + example: '2023-02-09' + number_of_income_streams: + type: integer + format: int32 + description: | + Number of total income streams analized. + example: 1 + monthly_average: + type: number + format: float + description: > + Average amount of income received per month across all the accounts + for the specific user. + example: 2500 + monthly_average_regular: + type: number + format: float + description: > + Average amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, or `WEEKLY`) received per month for the specific + user. + example: 2500 + monthly_average_irregular: + type: number + format: float + description: > + Average amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) received per month for the specific user. + example: 0 + monthly_average_low_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `LOW` confidence. + example: 0 + monthly_average_medium_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `MEDIUM` confidence. + example: 0 + monthly_average_high_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `HIGH` confidence. + example: 2500 + total_income_amount: + type: number + format: float + description: | + Total amount of all income received for the specific user. + example: 22500 + total_regular_income_amount: + type: number + format: float + description: > + Total amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, `WEEKLY`) for the specific user. + example: 22500 + total_irregular_income_amount: + type: number + format: float + description: > + Total amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) for the specific user. + example: 0 + total_low_confidence: + type: number + format: float + description: | + Total amount of income for the specific user with `LOW` confidence. + example: 0 + total_medium_confidence: + type: number + format: float + description: > + Total amount of income for the specific user with `MEDIUM` + confidence. + example: 0 + total_high_confidence: + type: number + format: float + description: | + Total amount of income for the specific user with `HIGH` confidence. + example: 22500 + IncomesPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of income objects. + items: + $ref: '#/components/schemas/Income' + EnumInvoiceAllowedIncomeTypesRequest: + type: string + enum: + - SALARY + - GOVERNMENT + - INTEREST + - RENT + - RETIREMENT + - FREELANCE + - ALTERNATIVE_INCOME + - TRANSFER + - DEPOSIT + - UNKNOWN + description: | + The categories of the incomes you want to get information for. + + You can send through one or more of the following values: + - `SALARY` + - `GOVERNMENT` + - `INTEREST` + - `RENT` + - `RETIREMENT` + - `FREELANCE` + - `ALTERNATIVE_INCOME` + - `TRANSFER` + - `DEPOSIT` + - `UNKNOWN` + example: SALARY + EnumIncomeMinimumConfidenceLevelRequest: + type: string + enum: + - HIGH + - MEDIUM + - LOW + description: > + The minimum confidence level of the incomes you want to get information + for. + + + You can send through one of the following values: + + - `HIGH` + - `MEDIUM` + - `LOW` + example: HIGH + IncomesRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + allowed_income_types: + type: array + description: The categories of the incomes you want to get information for. + items: + $ref: '#/components/schemas/EnumInvoiceAllowedIncomeTypesRequest' + minimum_confidence_level: + $ref: '#/components/schemas/EnumIncomeMinimumConfidenceLevelRequest' + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting incomes for, in + `YYYY-MM-DD` format, within the last 365 days. When you use this + parameter, you must also send `date_to`. + + + + ⚠️ You must have at least 90 days between `date_from` and `date_to`. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2020-08-01' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting incomes for, in `YYYY-MM-DD` + format, within the last 365 days. When you use this parameter, you + must also send `date_from`. + + + + ⚠️ You must have at least 90 days between `date_from` and `date_to`. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2020-12-30' + token: + type: string + description: The OTP token generated by the bank. + example: 1234ab + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + InvalidPeriodError: + type: object + title: Invalid Period + description: > + This error occurs when you request incomes for a link within a given + date range, however, the period between `date_from` and `date_to` is + less than 90 days. + properties: + code: + type: string + description: > + A unique error code (`invalid_period`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_period errors. + example: invalid_period + message: + type: string + description: | + A short description of the error. + + + For `invalid_period` errors, the description is: + + - `The number of days between date_from and date_to must be at least 90 days`. + example: >- + The number of days between date_from and date_to must be at least 90 + days + 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 + RecurringExpenseSourceTransaction: + type: object + nullable: true + required: + - amount + - description + - value_date + description: >- + An array of minified transaction objects used to evaluate the recurring + expense. If no transactions were found, we return an empty array. + properties: + amount: + type: number + format: float + description: The transaction amount. + example: 2145.45 + description: + type: string + nullable: true + description: > + The description of the transaction provided by the institution. + Usually, this is the text that the end user would see in the bank + statement. The description can be an empty string. + + + > **Note:** For EYOD Risk Insights, the description is the one that + you provided in the initial request. + example: Netflix.com/march + value_date: + type: string + format: date + description: The date when the transaction occurred, in `YYYY-MM-DD` format. + example: '2019-10-23' + EnumRecurringExpenseFrequency: + type: string + enum: + - MONTHLY + default: MONTHLY + description: | + The frequency at which this recurring expense occurs. + + + ℹ️ **Note:** Belvo only identifies `MONTHLY` frequencies. + example: MONTHLY + EnumRecurringExpenseCategory: + type: string + enum: + - Bills & Utilities + - Credits & Loans + - Insurance + - Online Platforms & Leisure + - Transport & Travel + - Taxes + description: > + The transaction category for the recurring expense. For more information + on the available categories, please see our [Transaction categorization + documentation](https://developers.belvo.com/docs/banking#categorizing-transactions). + + + - `Online Platforms & Leisure` (Netflix, Spotify, Gym Memberships) + + - `Bills & Utilities` (electricity, telephone, internet) + + - `Credits & Loans` (credit card cash advances, student loan, watercraft + lease) + + - `Insurance` (home, car, and health & life insurance) + + - `Transport & Travel` (Uber trip, airbnb, parking) + + - `Taxes` (service fee, donation, court taxes) + example: Online Platforms & Leisure + EnumRecurringExpensePaymentType: + type: string + nullable: true + enum: + - SUBSCRIPTION + - REGULAR + description: | + The type of recurring expense. We return one of the following values: + + - `SUBSCRIPTION` + - `REGULAR` + example: SUBSCRIPTION + RecurringExpenses: + type: object + required: + - account + - name + - transactions + - frequency + - average_transaction_amount + - median_transaction_amount + - days_since_last_transaction + - category + - payment_type + description: | + Recurring expense insights. + + + ℹ️ If no recurring expense insights are found, we return an empty array. + properties: + id: + type: string + format: uuid + description: >- + Belvo's unique identifier used to reference the current recurring + expense. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + account: + $ref: '#/components/schemas/Account' + name: + type: string + nullable: true + default: null + description: > + The name for the recurring expense. + + + ℹ️ **Note**: This information is taken from the description section + of a transaction and then normalized to provide you with an + easy-to-read name. As such, sometimes the name will reflect the + merchant the payment is made to (for example, Netflix.com), while + for other recurring expenses, this could be something like "Monthly + payment to John". + example: Netflix + transactions: + type: array + description: >- + An array of minified transaction objects used to evaluate the + recurring expense. If no transactions were found, we return an empty + array. + items: + $ref: '#/components/schemas/RecurringExpenseSourceTransaction' + frequency: + $ref: '#/components/schemas/EnumRecurringExpenseFrequency' + average_transaction_amount: + type: number + format: float + description: The average transaction amount of the recurring expense. + example: 32.9 + median_transaction_amount: + type: number + format: float + description: The median transaction amount of the recurring expense. + example: 32.9 + days_since_last_transaction: + type: integer + format: int32 + description: > + Number of days since the last recurring expense occurred. + + + Based on the frequency, you can infer how many days until the next + charge will occur. + example: 5 + category: + $ref: '#/components/schemas/EnumRecurringExpenseCategory' + payment_type: + $ref: '#/components/schemas/EnumRecurringExpensePaymentType' + RecurringExpensesPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of recurring expense objects. + items: + $ref: '#/components/schemas/RecurringExpenses' + RecurringExpensesRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + token: + type: string + description: The OTP token generated by the bank. + example: 1234ab + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting recurring expenses + for, in `YYYY-MM-DD` format, within the last 365 days. When you use + this parameter, you must also send `date_to`. + + + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2022-08-01' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting recurring expenses for, in + `YYYY-MM-DD` format, within the last 365 days. When you use this + parameter, you must also send `date_from`. + + + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2022-12-30' + RiskInsightsAssetMetrics: + type: object + nullable: true + description: > + Aggregate details regarding the assets used in the risk insight + analysis. For asset metrics, we only consider checking and savings + accounts. + + + + > Asset metrics can provide a snapshot of your user's wealth and liquid + assets, indicating how they manage their wealth and their current + financial status. + required: + - institutions + - num_accounts + - num_checking_accounts + - num_savings_accounts + - checking_accounts_balance + - savings_accounts_balance + properties: + institutions: + type: array + nullable: true + description: > + An array of institutions from which account information was + retrieved for the user. + + + > **Note**: For most use cases, this array will only return one + item. + items: + type: string + description: The name of the institution + example: erebor_mx_retail + example: + - erebor_mx_retail + num_assets_accounts: + type: integer + nullable: true + format: int32 + description: | + The total number of accounts found for the user. + example: 1 + num_checking_accounts: + type: integer + nullable: true + format: int32 + description: | + The total number of checking accounts found for the user. + example: 1 + num_savings_accounts: + type: integer + nullable: true + format: int32 + description: | + The total number of savings accounts found for the user. + example: 1 + checking_accounts_balance: + type: number + nullable: true + format: float + description: | + The total closing balance of all checking accounts. + example: 35901.46 + savings_accounts_balance: + type: number + nullable: true + format: float + description: | + The total closing balance of all savings accounts. + example: 300.02 + RiskInsightsCreditCardMetrics: + type: object + nullable: true + required: + - num_accounts + - sum_credit_limit + - sum_credit_used + - credit_card_limit_utilization + description: > + Aggregated metrics calculated based on the user's credit card accounts. + + + > Credit card metrics illustrate a customer's credit card habits, + revealing how many credit card accounts a customer has, their total + credit limit, how much of that limit they're using, and the rate of + their credit card limit utilization. + properties: + num_accounts: + type: integer + format: int32 + minimum: 0 + description: | + Number of credit cards accounts associated to the user. + example: 2 + sum_credit_limit: + type: number + nullable: true + format: float + description: | + Sum total of all credit cards' limits. + example: 106560 + sum_credit_used: + type: number + nullable: true + format: float + description: | + Sum total of all credit used. + example: 101020.14 + credit_card_limit_utilization: + type: number + nullable: true + format: float + description: | + The percentage of the credit card limit used. + example: 0.95 + RiskInsightsLoansMetrics: + type: object + nullable: true + description: > + Aggregated metrics calculated based on the user's loan accounts and + checking accounts that have an overdraft. + + + > Loan metrics help in understanding a customer's borrowing and + repayment behavior, which can help in assessing their ability to take on + additional credit and potential default risks. + required: + - num_accounts + - sum_loans_principal + - sum_loans_outstanding_principal + - sum_loans_monthly_payment + - loan_limit_utilization + - overdraft_limit + - overdraft_limit_utilization + properties: + num_accounts: + type: integer + format: int32 + description: | + The number of loan accounts associated with the user. + example: 1 + sum_loans_principal: + type: number + nullable: true + format: float + description: | + Sum total of the principal for all of the user's loan accounts. + example: 5000 + sum_loans_outstanding_principal: + type: number + nullable: true + format: float + description: > + Sum total of the outstanding principal for all the user's loan + accounts. + example: 2000 + sum_loans_monthly_payment: + type: number + nullable: true + format: float + description: | + Sum total of the monthly payments for all the user's loan accounts. + example: 400 + loan_limit_utilization: + type: number + nullable: true + format: float + description: | + The percentage of the loan limit used. + example: 0.3 + overdraft_limit: + type: number + nullable: true + format: float + description: | + The total overdraft limit of all checking and savings accounts. + example: 900 + overdraft_limit_utilization: + type: number + nullable: true + format: float + description: | + The percentage of the overdraft limit used. + example: 0.4 + RiskInsightsBalanceMetrics: + type: object + nullable: true + description: >- + Balance metrics calculated based on the user's balances from checking + and savings accounts. + required: + - closing_balance + - min_balance_3d + - min_balance_1w + - min_balance_1m + - min_balance_3m + - min_balance_6m + - min_balance_12m + - mean_balance_3d + - mean_balance_1w + - mean_balance_1m + - mean_balance_3m + - mean_balance_6m + - mean_balance_12m + - max_balance_3d + - max_balance_1w + - max_balance_1m + - max_balance_3m + - max_balance_6m + - max_balance_12m + - std_balance_3d + - std_balance_1w + - std_balance_1m + - std_balance_3m + - std_balance_6m + - std_balance_12m + - balance_trend_3d + - balance_trend_1w + - balance_trend_1m + - balance_trend_3m + - balance_trend_6m + - balance_trend_12m + - days_balance_below_0_3d + - days_balance_below_0_1w + - days_balance_below_0_1m + - days_balance_below_0_3m + - days_balance_below_0_6m + - days_balance_below_0_12m + - days_balance_below_mean_3d + - days_balance_below_mean_1w + - days_balance_below_mean_1m + - days_balance_below_mean_3m + - days_balance_below_mean_6m + - days_balance_below_mean_12m + - days_balance_below_x_3d + - days_balance_below_x_1w + - days_balance_below_x_1m + - days_balance_below_x_3m + - days_balance_below_x_6m + - days_balance_below_x_12m + - balance_threshold_x + properties: + closing_balance: + type: number + nullable: true + format: float + description: | + The balance of all the accounts at the `collected_at` time. + example: 35901.46 + min_balance_3d: + type: number + nullable: true + format: float + description: | + The minimum balance in the last three days. + example: 35417.68 + min_balance_1w: + type: number + nullable: true + format: float + description: | + The minimum balance in the last week). + example: 34150.5 + min_balance_1m: + type: number + nullable: true + format: float + description: | + The minimum balance in the last month. + example: 33990.59 + min_balance_3m: + type: number + nullable: true + format: float + description: | + The minimum balance in the last three months. + example: 33990.59 + min_balance_6m: + type: number + nullable: true + format: float + description: | + The minimum balance in the six last months. + example: 33990.59 + min_balance_12m: + type: number + nullable: true + format: float + description: | + The minimum balance in the last twelve months. + example: 33990.59 + mean_balance_3d: + type: number + nullable: true + format: float + description: | + The mean balance in the last three days. + example: 35659.57 + mean_balance_1w: + type: number + nullable: true + format: float + description: | + The mean balance in the last week. + example: 35077.1 + mean_balance_1m: + type: number + nullable: true + format: float + description: | + The mean balance in the last month. + example: 34816.08 + mean_balance_3m: + type: number + nullable: true + format: float + description: | + The mean balance in the last three months. + example: 34816.08 + mean_balance_6m: + type: number + nullable: true + format: float + description: | + The mean balance in the last six months. + example: 34816.08 + mean_balance_12m: + type: number + nullable: true + format: float + description: | + The mean balance in the last twelve months. + example: 34816.08 + max_balance_3d: + type: number + nullable: true + format: float + description: | + The maximum balance in the last three days. + example: 35901.46 + max_balance_1w: + type: number + nullable: true + format: float + description: | + The maximum balance in the last week. + example: 35901.46 + max_balance_1m: + type: number + nullable: true + format: float + description: | + The maximum balance in the last month. + example: 35901.46 + max_balance_3m: + type: number + nullable: true + format: float + description: | + The maximum balance in the last three months. + example: 35901.46 + max_balance_6m: + type: number + nullable: true + format: float + description: | + The maximum balance in the last six months. + example: 35901.46 + max_balance_12m: + type: number + nullable: true + format: float + description: | + The maximum balance in the last twelve months. + example: 35901.46 + std_balance_3d: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last three days. + example: 279.31 + std_balance_1w: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last week. + example: 764.03 + std_balance_1m: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last month. + example: 586.55 + std_balance_3m: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last three months. + example: 586.55 + std_balance_6m: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last six months. + example: 586.55 + std_balance_12m: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last twelve months. + example: 586.55 + balance_trend_3d: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last three days. + example: 193.51 + balance_trend_1w: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last week. + example: 290.18 + balance_trend_1m: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last month. + example: 22.6 + balance_trend_3m: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last three months. + example: 22.6 + balance_trend_6m: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last six months. + example: 22.6 + balance_trend_12m: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last twelve months. + example: 22.6 + days_balance_below_0_3d: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last three days. + example: 0 + days_balance_below_0_1w: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last week. + example: 0 + days_balance_below_0_1m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last month. + example: 0 + days_balance_below_0_3m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last three months. + example: 0 + days_balance_below_0_6m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last six months. + example: 0 + days_balance_below_0_12m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last twelve months. + example: 0 + days_balance_below_mean_3d: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_3d`. + example: 2 + days_balance_below_mean_1w: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_1w`. + example: 3 + days_balance_below_mean_1m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_1m`. + example: 17 + days_balance_below_mean_3m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_3m`. + example: 17 + days_balance_below_mean_6m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_6m`. + example: 17 + days_balance_below_mean_12m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_12m`. + example: 17 + days_balance_below_x_3d: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last three days. + example: 0 + days_balance_below_x_1w: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last week. + example: 0 + days_balance_below_x_1m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last month. + example: 0 + days_balance_below_x_3m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last three months. + example: 0 + days_balance_below_x_6m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last six months. + example: 0 + days_balance_below_x_12m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last twelve months. + example: 0 + balance_threshold_x: + type: number + format: float + description: > + The threshold used to compute `days_balance_below_x_period`. Please + note, this is value is country specific (both in terms of the amount + and the currency). + example: 1000 + RiskInsightsTransactionMetrics: + type: object + nullable: true + description: > + Aggregated metrics calculated based on the user's transactions from + checking, savings, credit card, and loan accounts. + + + + > ℹ️ **Note** + + > + + > If there is not enough transactional data for a given period, we + return `null` for calculated fields and `0` for 'count-based' fields. + For example, if the account has only been open for five days (or you + have provided data just for five days), we return values for `_3d`, + `_1w`, and `_1m`, however: + + > + + > - `mean_num_transactions_3m` will return `null` as there is no data + for months two and three (calculated field). + + > - `num_transactions_3m` will return `0` as there is no data for months + two and three ('count-based' field) + required: + - num_transactions_3d + - num_transactions_1w + - num_transactions_1m + - num_transactions_3m + - num_transactions_6m + - num_transactions_12m + - max_num_transactions_3d + - max_num_transactions_1w + - max_num_transactions_1m + - max_num_transactions_3m + - max_num_transactions_6m + - max_num_transactions_12m + - mean_num_transactions_3d + - mean_num_transactions_1w + - mean_num_transactions_1m + - mean_num_transactions_3m + - mean_num_transactions_6m + - mean_num_transactions_12m + - num_incoming_transactions_3d + - num_incoming_transactions_1w + - num_incoming_transactions_1m + - num_incoming_transactions_3m + - num_incoming_transactions_6m + - num_incoming_transactions_12m + - max_num_incoming_transactions_3d + - max_num_incoming_transactions_1w + - max_num_incoming_transactions_1m + - max_num_incoming_transactions_3m + - max_num_incoming_transactions_6m + - max_num_incoming_transactions_12m + - mean_num_incoming_transactions_3d + - mean_num_incoming_transactions_1w + - mean_num_incoming_transactions_1m + - mean_num_incoming_transactions_3m + - mean_num_incoming_transactions_6m + - mean_num_incoming_transactions_12m + - sum_incoming_amount_3d + - sum_incoming_amount_1w + - sum_incoming_amount_1m + - sum_incoming_amount_3m + - sum_incoming_amount_6m + - sum_incoming_amount_12m + - max_incoming_amount_3d + - max_incoming_amount_1w + - max_incoming_amount_1m + - max_incoming_amount_3m + - max_incoming_amount_6m + - max_incoming_amount_12m + - mean_incoming_amount_3d + - mean_incoming_amount_1w + - mean_incoming_amount_1m + - mean_incoming_amount_3m + - mean_incoming_amount_6m + - mean_incoming_amount_12m + - num_outgoing_transactions_3d + - num_outgoing_transactions_1w + - num_outgoing_transactions_1m + - num_outgoing_transactions_3m + - num_outgoing_transactions_6m + - num_outgoing_transactions_12m + - max_num_outgoing_transactions_3d + - max_num_outgoing_transactions_1w + - max_num_outgoing_transactions_1m + - max_num_outgoing_transactions_3m + - max_num_outgoing_transactions_6m + - max_num_outgoing_transactions_12m + - mean_num_outgoing_transactions_3d + - mean_num_outgoing_transactions_1w + - mean_num_outgoing_transactions_1m + - mean_num_outgoing_transactions_3m + - mean_num_outgoing_transactions_6m + - mean_num_outgoing_transactions_12m + - sum_outgoing_amount_3d + - sum_outgoing_amount_1w + - sum_outgoing_amount_1m + - sum_outgoing_amount_3m + - sum_outgoing_amount_6m + - sum_outgoing_amount_12m + - max_outgoing_amount_3d + - max_outgoing_amount_1w + - max_outgoing_amount_1m + - max_outgoing_amount_3m + - max_outgoing_amount_6m + - max_outgoing_amount_12m + - mean_outgoing_amount_3d + - mean_outgoing_amount_1w + - mean_outgoing_amount_1m + - mean_outgoing_amount_3m + - mean_outgoing_amount_6m + - mean_outgoing_amount_12m + - days_without_transactions_3d + - days_without_transactions_1w + - days_without_transactions_1m + - days_without_transactions_3m + - days_without_transactions_6m + - days_without_transactions_12m + - days_since_last_transaction + - days_since_last_incoming_transaction + - days_since_last_outgoing_transaction + - days_history + properties: + num_transactions_3d: + type: integer + format: int32 + default: 0 + description: > + The total number of transactions analyzed to determine the risk + insights for the last three days (incoming and outgoing). + example: 26 + num_transactions_1w: + type: integer + format: int32 + default: 0 + description: > + The total number of transactions analyzed to determine the risk + insights for the last week (incoming and outgoing). + example: 46 + num_transactions_1m: + type: integer + format: int32 + default: 0 + description: > + The total number of transactions analyzed to determine the risk + insights for the last month (incoming and outgoing). + example: 168 + num_transactions_3m: + type: integer + format: int32 + default: 0 + description: > + The total number of transactions analyzed to determine the risk + insights for the last three months (incoming and outgoing). + example: 460 + num_transactions_6m: + type: integer + format: int32 + default: 670 + description: > + The total number of transactions analyzed to determine the risk + insights for the last six months (incoming and outgoing). + example: 472 + num_transactions_12m: + type: integer + format: int32 + default: 0 + description: > + The total number of transactions analyzed to determine the risk + insights for the last twelve months (incoming and outgoing). + example: 496 + max_num_transactions_3d: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last three days. + example: 10 + max_num_transactions_1w: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last week. + example: 10 + max_num_transactions_1m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last month. + example: 18 + max_num_transactions_3m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last three months. + example: 18 + max_num_transactions_6m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last six months. + example: 18 + max_num_transactions_12m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last twelve months. + example: 18 + mean_num_transactions_3d: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last three days. + example: 6.5 + mean_num_transactions_1w: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last week. + example: 5.75 + mean_num_transactions_1m: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last month. + example: 5.42 + mean_num_transactions_3m: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last three months. + example: 5.05 + mean_num_transactions_6m: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last six months. + example: 2.61 + mean_num_transactions_12m: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last twelve months. + example: 1.37 + num_incoming_transactions_3d: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last three days. + example: 12 + num_incoming_transactions_1w: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last week. + example: 21 + num_incoming_transactions_1m: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last month. + example: 80 + num_incoming_transactions_3m: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last three months. + example: 229 + num_incoming_transactions_6m: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last six months. + example: 238 + num_incoming_transactions_12m: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last twelve months. + example: 256 + max_num_incoming_transactions_3d: + type: integer + format: int32 + default: 0 + description: | + The maximum number of inflow transactions for the last three days. + example: 6 + max_num_incoming_transactions_1w: + type: integer + format: int32 + default: 0 + description: | + The maximum number of inflow transactions for the last week. + example: 6 + max_num_incoming_transactions_1m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of inflow transactions for the last month. + example: 10 + max_num_incoming_transactions_3m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of inflow transactions for the last three months. + example: 10 + max_num_incoming_transactions_6m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of inflow transactions for the last six months. + example: 10 + max_num_incoming_transactions_12m: + type: integer + format: int32 + default: 0 + description: > + The maximum number of inflow transactions for the last twelve + months. + example: 10 + mean_num_incoming_transactions_3d: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last three days. + example: 3 + mean_num_incoming_transactions_1w: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last week. + example: 2.62 + mean_num_incoming_transactions_1m: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last month. + example: 2.58 + mean_num_incoming_transactions_3m: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last three months. + example: 2.52 + mean_num_incoming_transactions_6m: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last six months. + example: 1.31 + mean_num_incoming_transactions_12m: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last twelve months. + example: 0.71 + sum_incoming_amount_3d: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last three days. + example: 17142.16 + sum_incoming_amount_1w: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last week. + example: 24825.92 + sum_incoming_amount_1m: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last month. + example: 75993.36 + sum_incoming_amount_3m: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last three months. + example: 198197.28 + sum_incoming_amount_6m: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last six months. + example: 223697.28 + sum_incoming_amount_12m: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last twelve months. + example: 274697.28 + max_incoming_amount_3d: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last three days. + example: 3000 + max_incoming_amount_1w: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last week. + example: 3000 + max_incoming_amount_1m: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last month. + example: 3000 + max_incoming_amount_3m: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last three months. + example: 3000 + max_incoming_amount_6m: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last six months. + example: 3000 + max_incoming_amount_12m: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last twelve months. + example: 3000 + mean_incoming_amount_3d: + type: number + nullable: true + format: float + description: | + The mean incoming value of all transactions in the last three days. + example: 1428.51 + mean_incoming_amount_1w: + type: number + nullable: true + format: float + description: | + The mean incoming value of all transactions in the last week. + example: 1182.19 + mean_incoming_amount_1m: + type: number + nullable: true + format: float + description: | + The mean incoming value of all transactions in the last month. + example: 949.92 + mean_incoming_amount_3m: + type: number + nullable: true + format: float + description: > + The mean incoming value of all transactions in the last three + months. + example: 865.49 + mean_incoming_amount_6m: + type: number + nullable: true + format: float + description: | + The mean incoming value of all transactions in the last six months. + example: 939.9 + mean_incoming_amount_12m: + type: number + nullable: true + format: float + description: > + The mean incoming value of all transactions in the last twelve + months. + example: 1073.04 + num_outgoing_transactions_3d: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last three days. + example: 14 + num_outgoing_transactions_1w: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last week. + example: 25 + num_outgoing_transactions_1m: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last month. + example: 88 + num_outgoing_transactions_3m: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last three months. + example: 231 + num_outgoing_transactions_6m: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last six months. + example: 234 + num_outgoing_transactions_12m: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last twelve months. + example: 240 + max_num_outgoing_transactions_3d: + type: integer + format: int32 + default: 0 + description: | + The maximum number of outflow transactions for the last three days. + example: 6 + max_num_outgoing_transactions_1w: + type: integer + format: int32 + default: 0 + description: | + The maximum number of outflow transactions for the last week. + example: 6 + max_num_outgoing_transactions_1m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of outflow transactions for the last month. + example: 8 + max_num_outgoing_transactions_3m: + type: integer + format: int32 + default: 0 + description: > + The maximum number of outflow transactions for the last three + months. + example: 9 + max_num_outgoing_transactions_6m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of outflow transactions for the last six months. + example: 9 + max_num_outgoing_transactions_12m: + type: integer + format: int32 + default: 0 + description: > + The maximum number of outflow transactions for the last twelve + months. + example: 9 + mean_num_outgoing_transactions_3d: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last three days. + example: 3.5 + mean_num_outgoing_transactions_1w: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last week. + example: 3.12 + mean_num_outgoing_transactions_1m: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last month. + example: 2.84 + mean_num_outgoing_transactions_3m: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last three months. + example: 2.54 + mean_num_outgoing_transactions_6m: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last six months. + example: 1.29 + mean_num_outgoing_transactions_12m: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last twelve months. + example: 0.66 + sum_outgoing_amount_3d: + type: number + nullable: true + format: float + description: | + The total sum of all outflow transactions for the last three days. + example: 18246.95 + sum_outgoing_amount_1w: + type: number + nullable: true + format: float + description: | + The total sum of all outflow transactions for the last week. + example: 26362.25 + sum_outgoing_amount_1m: + type: number + nullable: true + format: float + description: | + The total sum of all outflow transactions for the last month. + example: 78243.82 + sum_outgoing_amount_3m: + type: number + nullable: true + format: float + description: | + The total sum of all outflow transactions for the last three months. + example: 192608.77 + sum_outgoing_amount_6m: + type: number + nullable: true + format: float + description: | + The total sum of all outflow transactions for the last six months. + example: 201608.77 + sum_outgoing_amount_12m: + type: number + nullable: true + format: float + description: > + The total sum of all outflow transactions for the last twelve + months. + example: 219608.77 + max_outgoing_amount_3d: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last three days. + example: 3000 + max_outgoing_amount_1w: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last week. + example: 3000 + max_outgoing_amount_1m: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last month. + example: 3000 + max_outgoing_amount_3m: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last three months. + example: 3000 + max_outgoing_amount_6m: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last six months. + example: 3000 + max_outgoing_amount_12m: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last twelve months. + example: 3000 + mean_outgoing_amount_3d: + type: number + nullable: true + format: float + description: | + The mean outgoing value of all transaction in the last three days. + example: 1303.35 + mean_outgoing_amount_1w: + type: number + nullable: true + format: float + description: | + The mean outgoing value of all transaction in the last week. + example: 1054.49 + mean_outgoing_amount_1m: + type: number + nullable: true + format: float + description: | + The mean outgoing value of all transaction in the last month. + example: 889.13 + mean_outgoing_amount_3m: + type: number + nullable: true + format: float + description: | + The mean outgoing value of all transaction in the last three months. + example: 833.8 + mean_outgoing_amount_6m: + type: number + nullable: true + format: float + description: | + The mean outgoing value of all transaction in the last six months. + example: 861.58 + mean_outgoing_amount_12m: + type: number + nullable: true + format: float + description: > + The mean outgoing value of all transaction in the last twelve + months. + example: 915.04 + days_without_transactions_3d: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last + three days. + example: 0 + days_without_transactions_1w: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last + week. + example: 0 + days_without_transactions_1m: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last + month. + example: 0 + days_without_transactions_3m: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last + three months. + example: 0 + days_without_transactions_6m: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last six + months. + example: 87 + days_without_transactions_12m: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last + twelve months. + example: 261 + days_since_last_transaction: + type: integer + format: int32 + default: 0 + description: | + The number of days since the last transaction occurred. + example: 0 + days_since_last_incoming_transaction: + type: integer + format: int32 + default: 0 + description: | + The number of days since the last inflow transaction occurred. + example: 0 + days_since_last_outgoing_transaction: + type: integer + format: int32 + default: 0 + description: | + The number of days since the last outflow transaction occurred. + example: 0 + days_history: + type: integer + format: int32 + default: 0 + description: > + The number of days between when the risk insight request was made + and the first transaction. + example: 365 + RiskInsightsCashflowMetrics: + type: object + nullable: true + description: > + Aggregate metrics calculated based on the user's transactions from + checking, savings, credit, and loan accounts. However, internal + transfers (transfers between accounts belonging to the same link) are + not used in the calculation. + + + + > ℹ️ **Note** + + > + + > If there is not enough transactional data for a given period, we + return `null`. For example, if the account has only been open for 15 + days (or you have only provided data for just 15 days), we return values + for `_3d`, `_1w`, and `_1m`, however for `_3m` we will return `null` as + there is no data for months two and three. + required: + - max_positive_3d + - max_positive_1w + - max_positive_1m + - max_positive_3m + - max_positive_6m + - max_positive_12m + - max_negative_3d + - max_negative_1w + - max_negative_1m + - max_negative_3m + - max_negative_6m + - max_negative_12m + - mean_positive_3d + - mean_positive_1w + - mean_positive_1m + - mean_positive_3m + - mean_positive_6m + - mean_positive_12m + - mean_negative_3d + - mean_negative_1w + - mean_negative_1m + - mean_negative_3m + - mean_negative_6m + - mean_negative_12m + - sum_positive_3d + - sum_positive_1w + - sum_positive_1m + - sum_positive_3m + - sum_positive_6m + - sum_positive_12m + - sum_positive_trend_3d + - sum_positive_trend_1w + - sum_positive_trend_1m + - sum_positive_trend_3m + - sum_positive_trend_6m + - sum_positive_trend_12m + - sum_negative_3d + - sum_negative_1w + - sum_negative_1m + - sum_negative_3m + - sum_negative_6m + - sum_negative_12m + - sum_negative_trend_3d + - sum_negative_trend_1w + - sum_negative_trend_1m + - sum_negative_trend_3m + - sum_negative_trend_6m + - sum_negative_trend_12m + - positive_to_negative_ratio_3d + - positive_to_negative_ratio_1w + - positive_to_negative_ratio_1m + - positive_to_negative_ratio_3m + - positive_to_negative_ratio_6m + - positive_to_negative_ratio_12m + - net_cashflow_3d + - net_cashflow_1w + - net_cashflow_1m + - net_cashflow_3m + - net_cashflow_6m + - net_cashflow_12m + - net_cashflow_trend_3d + - net_cashflow_trend_1w + - net_cashflow_trend_1m + - net_cashflow_trend_3m + - net_cashflow_trend_6m + - net_cashflow_trend_12m + properties: + max_positive_3d: + type: number + nullable: true + format: float + description: > + The highest value of positive cash flow transactions in the last + three days. + example: 1850.12 + max_positive_1w: + type: number + nullable: true + format: float + description: | + The highest value of positive cash flow transactions the last week. + example: 3808.99 + max_positive_1m: + type: number + nullable: true + format: float + description: | + The highest value of positive cash flow transactions the last month. + example: 4012.61 + max_positive_3m: + type: number + nullable: true + format: float + description: > + The highest value of positive cash flow transactions the last three + months. + example: 5001.08 + max_positive_6m: + type: number + nullable: true + format: float + description: > + The highest value of positive cash flow transactions the last six + months. + example: 8500 + max_positive_12m: + type: number + nullable: true + format: float + description: > + The highest value of positive cash flow transactions the last twelve + months. + example: 8500 + max_negative_3d: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last + three days. + example: 3375.43 + max_negative_1w: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last + week. + example: 3375.43 + max_negative_1m: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last + month. + example: 5305.92 + max_negative_3m: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last + three months. + example: 7535.85 + max_negative_6m: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last six + months. + example: 7535.85 + max_negative_12m: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last + twelve months. + example: 7535.85 + mean_positive_3d: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + three days. + example: 1410.54 + mean_positive_1w: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + week. + example: 1665.74 + mean_positive_1m: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + month. + example: 1827.36 + mean_positive_3m: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + three months. + example: 1881.58 + mean_positive_6m: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + six months. + example: 2102.19 + mean_positive_12m: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + twelve months. + example: 2502.06 + mean_negative_3d: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + three days. + example: 3373.48 + mean_negative_1w: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + week. + example: 2477.04 + mean_negative_1m: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + month. + example: 1904.96 + mean_negative_3m: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + three months. + example: 1838.47 + mean_negative_6m: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + six months. + example: 1877.63 + mean_negative_12m: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + twelve months. + example: 1948.51 + sum_positive_3d: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last three days. + example: 5642.16 + sum_positive_1w: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last week. + example: 13325.92 + sum_positive_1m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last month. + example: 52993.36 + sum_positive_3m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last three months. + example: 163697.28 + sum_positive_6m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last six months. + example: 189197.28 + sum_positive_12m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last twelve months. + example: 240197.28 + sum_positive_trend_3d: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last three days. + example: 98.902 + sum_positive_trend_1w: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last week. + example: -84.0393 + sum_positive_trend_1m: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last month. + example: 22.7315 + sum_positive_trend_3m: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last three months. + example: 1.8398 + sum_positive_trend_6m: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last six months. + example: -17.1869 + sum_positive_trend_12m: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last twelve months. + example: -25.9856 + sum_negative_3d: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last three days. + example: 6746.95 + sum_negative_1w: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last week. + example: 14862.25 + sum_negative_1m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last month. + example: 55243.82 + sum_negative_3m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last three months. + example: 158108.77 + sum_negative_6m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last six months. + example: 167108.77 + sum_negative_12m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last twelve months. + example: 185108.77 + sum_negative_trend_3d: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last three days. + example: -3.91 + sum_negative_trend_1w: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last week. + example: 254.2517 + sum_negative_trend_1m: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last month. + example: 58.376 + sum_negative_trend_3m: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last three months. + example: 2.5895 + sum_negative_trend_6m: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last six months. + example: -1.4824 + sum_negative_trend_12m: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last twelve months. + example: -4.2394 + positive_to_negative_ratio_3d: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last three days.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 0.84 + positive_to_negative_ratio_1w: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last week.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 0.9 + positive_to_negative_ratio_1m: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last month.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 0.96 + positive_to_negative_ratio_3m: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last three months.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 1.04 + positive_to_negative_ratio_6m: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last six months.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 1.13 + positive_to_negative_ratio_12m: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last twelve months.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 1.3 + net_cashflow_3d: + type: number + nullable: true + format: float + description: | + The net cash flow in the last three days. + example: -1104.79 + net_cashflow_1w: + type: number + nullable: true + format: float + description: | + The net cash flow in the last week. + example: -1536.33 + net_cashflow_1m: + type: number + nullable: true + format: float + description: | + The net cash flow in the last month. + example: -2250.46 + net_cashflow_3m: + type: number + nullable: true + format: float + description: | + The net cash flow in the last three months. + example: 5588.51 + net_cashflow_6m: + type: number + nullable: true + format: float + description: | + The net cash flow in the last six months. + example: 22088.51 + net_cashflow_12m: + type: number + nullable: true + format: float + description: | + The net cash flow in the last twelve months. + example: 55088.51 + net_cashflow_trend_3d: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last three days months. + example: 1448.683 + net_cashflow_trend_1w: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last week. + example: 163.8856 + net_cashflow_trend_1m: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last month. + example: 1.3034 + net_cashflow_trend_3m: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last three months. + example: -0.472 + net_cashflow_trend_6m: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last six months. + example: -15.1286 + net_cashflow_trend_12m: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last twelve months. + example: -21.5511 + RiskInsightsCategoryMetrics: + type: object + properties: + category: + $ref: '#/components/schemas/EnumTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumTransactionSubcategory' + net_amount_3m: + type: number + nullable: true + format: float + description: >- + The net amount of the transactions for this category in the last + three months (calculated as the total incoming - total outgoing + transactions for this category). + example: 642.76 + category_inflow_ratio_3m: + type: number + nullable: true + format: float + description: > + The ratio of `net_amount_3m` divided by the sum of all incoming + categorized transactions (including the current category) for the + same period. + + + Note: If there are no inflow transactions for the period, this value + will return `null`. + example: 1 + trend_3m: + type: number + nullable: true + format: float + description: >- + The net category transaction trend (incoming - outgoing transactions + for the category) for the period. + example: 0 + RiskInsights: + type: object + required: + - id + - link + - created_at + - accounts + - assets_metrics + - transactions_metrics + - balances_metrics + - cashflow_metrics + - credit_cards_metrics + - loans_metrics + - category_metrics + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the risk insights request. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + link: + type: string + format: uuid + description: The `link.id` the risk insights analysis belongs to. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-01T20:25:47.307911Z' + accounts: + type: array + nullable: true + description: >- + An array of Belvo-generated account numbers (UUIDs) that were used + during the risk insights analysis. If no accounts were found, we + return an empty array. + items: + type: string + format: uuid + description: The Belvo-generated ID for the account. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + example: + - 0d3ffb69-f83b-456e-ad8e-208d0998d71d + - 00293c8e-1152-440b-9892-3c071fb88672 + - cf638fba-ef45-4c10-bc6f-adecc4b2bf4e + - 3861a5da-ae9b-4f20-a632-a9294489d5ac + - 1f60315b-236d-498e-be7a-92bc613d329b + - a2c8da63-ed51-41e6-891a-4ae7e784463a + assets_metrics: + $ref: '#/components/schemas/RiskInsightsAssetMetrics' + credit_cards_metrics: + $ref: '#/components/schemas/RiskInsightsCreditCardMetrics' + loans_metrics: + $ref: '#/components/schemas/RiskInsightsLoansMetrics' + balances_metrics: + $ref: '#/components/schemas/RiskInsightsBalanceMetrics' + transactions_metrics: + $ref: '#/components/schemas/RiskInsightsTransactionMetrics' + cashflow_metrics: + $ref: '#/components/schemas/RiskInsightsCashflowMetrics' + category_metrics: + type: array + description: > + An array of aggregate metrics regarding the transaction categories + and subcategories that Belvo has identified within the user's + transaction history. + + + In the array, Belvo only returns categories that have been + identified. + items: + $ref: '#/components/schemas/RiskInsightsCategoryMetrics' + RiskInsightsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of risk insights objects. + items: + $ref: '#/components/schemas/RiskInsights' + EnumTaxRetentionReceiverNationality: + type: string + nullable: true + enum: + - NATIONAL + - FOREIGN + description: > + Whether the invoice receiver is a Mexican national or not. If the + receiver is not considered a Mexican national, the retained taxes can be + calculated differently. Possible values: + - `NATIONAL` + - `FOREIGN` + example: NATIONAL + EnumTaxRetentionPaymentStatus: + type: string + nullable: true + enum: + - PAID + - PROVISIONED + description: | + Indicates whether or not the tax has been paid or not. Can be either: + - `PAID` + - `PROVISIONED` + example: PAID + RetentionBreakdown: + type: object + required: + - base_amount + - tax_type + - retained_amount + - payment_status + description: A breakdown of the retained taxes + properties: + base_amount: + type: number + nullable: true + format: float + description: | + The base amount that was used to calculate the tax retention. + example: 0.03 + tax_type: + type: string + nullable: true + description: > + Optional attribute to indicate the type of tax withheld for the + period or year according to the [SAT + catalog](https://developers.belvo.com/docs/sat-catalogs#retention-code). + example: '01' + retained_amount: + type: number + nullable: true + format: float + description: | + The amount retained. + example: 0 + payment_status: + $ref: '#/components/schemas/EnumTaxRetentionPaymentStatus' + TaxRetentions: + type: object + required: + - collected_at + - invoice_identification + - version + - code + - issued_at + - certified_at + - cancelled_at + - sender_id + - sender_name + - receiver_nationality + - receiver_id + - receiver_name + - total_invoice_amount + - total_taxable_amount + - total_exempt_amount + - total_retained_amount + - retention_breakdown + - xml + properties: + id: + type: string + format: uuid + description: >- + Belvo's unique identifier used to reference the current tax + retention statement. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + format: uuid + description: The `link.id` the tax retention belongs to. + example: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp of when the data point was collected. + example: '2022-02-09T08:45:50.406032Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:46:20.406032Z' + invoice_identification: + type: string + nullable: true + format: uuid + description: > + The fiscal institution's unique ID for the invoice that the tax + retention relates to. + example: def404af-5eef-4112-aa99-d1ec8493b89a + version: + type: string + nullable: true + description: | + The CFDI version of the tax retentions. + example: '1.0' + code: + type: integer + nullable: true + format: int32 + description: > + The tax retention code. For more information, see our [SAT Catalogs + DevPortal + article](https://developers.belvo.com/docs/sat-catalogs#retention-code). + example: 25 + issued_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp of when the tax retention was issued. + example: '2019-01-03T21:10:40.000Z' + certified_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp of when the tax retention was certified. + example: '2019-01-03T21:10:41.000Z' + cancelled_at: + type: string + nullable: true + format: date-time + description: > + The ISO-8601 timestamp of when the tax retention was canceled (if + applicable). + example: null + sender_id: + type: string + nullable: true + description: | + The fiscal ID of the invoice sender. + example: JKUF980404P0 + sender_name: + type: string + nullable: true + description: | + The name of the invoice sender. + example: Roberto Nunez Batman + receiver_nationality: + $ref: '#/components/schemas/EnumTaxRetentionReceiverNationality' + receiver_id: + type: string + nullable: true + description: | + The fiscal ID of the invoice receiver. + example: GYGK3207809L1 + receiver_name: + type: string + nullable: true + description: | + The name of the invoice receiver. + example: ACME LTD + total_invoice_amount: + type: number + nullable: true + format: float + description: | + The total amount of the invoice that the tax retention relates to. + example: 53249.8 + total_exempt_amount: + type: number + nullable: true + format: float + description: | + Total amount that is exempt from taxation. + example: 1000.8 + total_retained_amount: + type: number + nullable: true + format: float + description: | + Total tax retained. + example: 1550.7 + total_taxable_amount: + type: number + nullable: true + format: float + description: > + The total amount that can be taxed. Calculated as + `total_invoice_amount` - `total_exempt_amount`. + example: 43249 + retention_breakdown: + type: array + nullable: true + description: | + A breakdown of the retained taxes. + items: + $ref: '#/components/schemas/RetentionBreakdown' + xml: + type: string + nullable: true + description: | + The tax retention document in XML form. + example: '=XML-STRING=' + TaxRetentionsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of tax retentions objects. + items: + $ref: '#/components/schemas/TaxRetentions' + EnumTaxRetentionType: + type: string + enum: + - OUTFLOW + - INFLOW + description: > + The type of tax retention in relation to the invoice (from the + perspective of the Link owner). + + + - `OUTFLOW` relates to a tax retention for a sent invoice. + + - `INFLOW` related to a tax retention for a received invoice. + example: INFLOW + TaxRetentionsRequest: + type: object + required: + - link + - date_from + - date_to + - type + properties: + link: + type: string + format: uuid + description: | + The `link.id` that you want to get information for. + example: 9e432f18-36ca-4bd6-a3f3-1971e58dc1e8 + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting tax retentions for, in + `YYYY-MM-DD` format. + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2020-01-01' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting tax retentions for, in + `YYYY-MM-DD` format. + + + ⚠️ The number of days between `date_from` and `date_to` cannot be + over 365. + example: '2020-02-01' + type: + $ref: '#/components/schemas/EnumTaxRetentionType' + attach_xml: + type: boolean + default: true + description: | + When set to `true`, you will receive the XML tax retention in the + response. + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + DocumentInformationIndividual: + type: object + required: + - name + - type + - form_number + - year + description: Object containing detailed information about the fiscal document. + properties: + name: + type: string + description: The name of the tax document. + example: >- + Declaracion de Renta y Complementario o de Ingresos y Patrimonio + para Personas Juridicas y Asimiladas y Personas Naturales y + Asimiladas no Residentes y Sucesiones Iliquidas de Causantes no + Residentes + type: + type: string + description: >- + The type of tax declaration form. For DIAN, this will be either + `110` or `210`. + example: '110' + form_number: + type: string + description: Institution-provided identifier for the tax declaration. + example: '2117680087604' + year: + type: integer + nullable: true + description: | + The year of this tax declaration. + example: 2021 + DocumentIdIndividual: + type: object + required: + - document_type + - document_number + description: Object containing information about the ID document of the tax payer. + properties: + document_type: + type: string + description: The type of ID document. + example: NIT + document_number: + type: string + description: The number of the ID document. + example: '7113223466' + ReportingId: + type: object + required: + - reporting_type + - reporting_value + description: >- + Object containing information about where the tax payer reports their + income. + properties: + reporting_type: + type: string + description: >- + The type of reporting ID. For DIAN, this is the sectional address + code (*Codigo Dirrecion Seccional*) + example: sectional_address_code + reporting_value: + type: string + description: The value of the reporting ID. + example: '32' + TaxPayerInformationIndividual: + type: object + required: + - first_last_name + - second_last_name + - first_name + - other_names + - main_economic_activity + - document_id + - reporting_id + description: Object containing information about the tax payer. + properties: + first_last_name: + type: string + description: The tax payer's first last name. + example: Restrepo + second_last_name: + type: string + description: The tax payer's second last name. + example: Vives + first_name: + type: string + description: The tax payer's first name. + example: Carlos + other_names: + type: string + description: Additional names of the tax payer. + example: Alberto + main_economic_activity: + type: string + description: The main economic activity the tax payer is involved in. + example: '0010' + document_id: + $ref: '#/components/schemas/DocumentIdIndividual' + reporting_id: + $ref: '#/components/schemas/ReportingId' + EquityStatementIndividual: + type: object + required: + - total_gross_equity + - total_debts + - total_net_equity + description: Object containing the general fiscal situation of the taxpayer. + properties: + total_gross_equity: + type: number + format: float + description: The total gross equity of the tax payer. + example: 4648000 + total_debts: + type: number + format: float + description: The total debts of the tax_payer + example: 77626000 + total_net_equity: + type: number + format: float + description: The total net equity value of the taxpayer. + example: 0 + GrossIncomeIndividual: + type: object + required: + - earned_income + - fee_based_income + - capital_income + - non_labor_income + description: Object containing the declared gross income of the tax payer. + properties: + earned_income: + type: number + format: float + description: Income received from employment. + example: 115004000 + fee_based_income: + type: number + format: float + description: >- + Income received from emitted invoices (for example, income that + independent contractors or freelancers receive). + example: 0 + capital_income: + type: number + format: float + description: >- + Income received from an investment (such as dividends or from + renting a property). + example: 0 + non_labor_income: + type: number + format: float + description: >- + Income that cannot be classified into the other three fields (such + as income from cryptocurrencies or regular transfers from parents). + example: 0 + NonTaxableIncomeIndividual: + type: object + required: + - earned_income + - fee_based_income + - capital_income + - non_labor_income + description: Object containing the declared non-taxable income of the tax payer. + properties: + earned_income: + type: number + format: float + description: Income received from employment. + example: 115004000 + fee_based_income: + type: number + format: float + description: >- + Income received from emitted invoices (for example, income + independent contractors or freelancers receive). + example: 0 + capital_income: + type: number + format: float + description: >- + Income received from an investment (such as dividends or from + renting a property). + example: 0 + non_labor_income: + type: number + format: float + description: >- + Income that cannot be classified into the other three fields (such + as income from cryptocurrencies or regular transfers from parents). + example: 0 + NetIncomeIndividual: + type: object + required: + - earned_income + - fee_based_income + - capital_income + - non_labor_income + description: >- + Object containing the declared net income of the tax payer. The values + are calculated as the `gross_income` - `non_taxable_income`. + properties: + earned_income: + type: number + format: float + description: Income received from employment. + example: 115004000 + fee_based_income: + type: number + format: float + description: >- + Income received from emitted invoices (for example, income + independent contractors or freelancers receive). + example: 0 + capital_income: + type: number + format: float + description: >- + Income received from an investment (such as dividends or from + renting a property). + example: 0 + non_labor_income: + type: number + format: float + description: >- + Income that cannot be classified into the other three fields (such + as income from cryptocurrencies or regular transfers from parents). + example: 0 + AnnualTotalsIndividual: + type: object + required: + - total_exempt_income + - total_applicable_deductions + - total_exemptions_and_deductions + - total_ordinary_net_income + description: >- + Object containing the tax payers total exempt, deducted, and ordinary + net incomes. + properties: + total_exempt_income: + type: number + format: float + description: Total income that is not taxable, according to the institution. + example: 115004000 + total_applicable_deductions: + type: number + format: float + description: >- + Total deductions that the taxpayer can apply to their income, + according to the institution. + example: 0 + total_exemptions_and_deductions: + type: number + format: float + description: >- + Sum total of all exempt and deductions that can be applied to the + taxpayer's income. + example: 0 + total_ordinary_net_income: + type: number + format: float + description: >- + Sum total of the taxpayer's income (gross income - exemptions - + deductions). + example: 0 + AnnualIncomeStatementIndividual: + type: object + required: + - gross_income + - non_taxable_income + - net_income + - annual_totals + description: >- + Object containing the reported annual incomes, deductions, and final + balances of the tax payer. + properties: + gross_income: + $ref: '#/components/schemas/GrossIncomeIndividual' + non_taxable_income: + $ref: '#/components/schemas/NonTaxableIncomeIndividual' + net_income: + $ref: '#/components/schemas/NetIncomeIndividual' + annual_totals: + $ref: '#/components/schemas/AnnualTotalsIndividual' + PensionIncomeStatementIndividual: + type: object + required: + - net_pension_income + - net_taxable_pension_income + description: Object containing the tax payer's total pension income. + properties: + net_pension_income: + type: number + format: float + description: The total net pension of the taxpayer. + example: 0 + net_taxable_pension_income: + type: number + format: float + description: The total taxable pension income of the taxpayer. + example: 0 + TaxAssessmentIndividual: + type: object + required: + - fortuitous_profit_tax + - total_tax_on_taxable_net_income + - net_income_tax + - total_tax_due + - previous_year_balance + - total_withheld_tax + - balance_payable + - balance_refundable + - total_payment + description: >- + Object containing the calculated tax assessment of the tax payer. This + includes the total taxable income, the income tax applied, and taxes + already withheld. + properties: + fortuitous_profit_tax: + type: number + format: float + description: >- + The tax applied on your unexpected income (such as lottery wins or + house sales). + example: 0 + total_tax_on_taxable_net_income: + type: number + format: float + description: >- + The calculated total tax that can be applied on the tax payer's + taxable income (total income - exemptions - deductions). + example: 9144000 + net_income_tax: + type: number + format: float + description: >- + After additional deductions that you can apply, this will be the net + income tax. If not further deduction are identified, this value will + be the same as `total_tax_on_taxable_net_income`. + example: 9144000 + total_tax_due: + type: number + format: float + description: >- + After further deductions, this is the final calculated tax that the + taxpayer is required to pay. + example: 9144000 + previous_year_balance: + type: number + format: float + description: > + Only applicable for DIAN. + + + + The amount the tax payer has as a "credit" fromt he previous year + (this is equal to the `balance_refundable`) of the previous year. + example: 1514000 + total_withheld_tax: + type: number + format: float + description: The total tax already withheld in the current fiscal year. + example: 7714000 + balance_payable: + type: number + format: float + description: How much the tax payer is required to pay. + example: 0 + balance_refundable: + type: number + format: float + description: >- + How much the tax payer is expected to receive. For DIAN, this will + count as credit for the next fiscal year (see + `previous_year_balance`). + example: 84000 + total_payment: + type: number + format: float + description: >- + The total the tax payer is required to pay, taking into account + deductions and fiscal credits. + example: 0 + TaxDeclarationIndividual: + type: object + title: Individual Tax Declaration + required: + - id + - link + - collected_at + - created_at + - document_information + - tax_payer_information + - equity_statement + - annual_income_statement + - pension_income_statement + - tax_assessment + - date_issued + - pdf + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the current tax declaration. + example: 1c83ead8-6665-429c-a17a-ddc76cb3a95e + link: + type: string + format: uuid + description: >- + Belvo's unique ID of the user that this tax declaration is + associated with. + example: 8a95ca1a-1a7a-4ce0-8599-f8ff1dc792ac + collected_at: + type: string + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + created_at: + type: string + format: date-time + description: >- + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2020-04-23T21:30:20.336854+00:00' + document_information: + $ref: '#/components/schemas/DocumentInformationIndividual' + tax_payer_information: + $ref: '#/components/schemas/TaxPayerInformationIndividual' + equity_statement: + $ref: '#/components/schemas/EquityStatementIndividual' + annual_income_statement: + $ref: '#/components/schemas/AnnualIncomeStatementIndividual' + pension_income_statement: + $ref: '#/components/schemas/PensionIncomeStatementIndividual' + tax_assessment: + $ref: '#/components/schemas/TaxAssessmentIndividual' + date_issued: + type: string + format: date + description: The date the tax declaration was issued by the fiscal institution. + example: '2022-09-02' + pdf: + type: string + nullable: true + description: The PDF of the tax declaration, as a binary string. + example: '==BINARY-STRING==' + TaxDeclarationIndividualPaginated: + type: object + title: Tax Declaration Individual + additionalProperties: false + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Individual Tax Declaration objects. + items: + $ref: '#/components/schemas/TaxDeclarationIndividual' + DocumentInformationBusiness: + type: object + required: + - name + - type + - form_number + - year + description: Object containing detailed information about the fiscal document. + properties: + name: + type: string + description: The name of the tax document. + example: >- + Declaracion de Renta y Complementario o de Ingresos y Patrimonio + para Personas Juridicas y Asimiladas y Personas Naturales y + Asimiladas no Residentes y Sucesiones Iliquidas de Causantes no + Residentes + type: + type: string + description: >- + The type of tax declaration form. For DIAN, this will be either + `110` or `210`. + example: '110' + form_number: + type: string + description: The institution-provided identifier for the tax declaration. + example: '2117680087604' + year: + type: integer + nullable: true + description: | + The year of this tax declaration. + example: 2021 + DocumentIdBusiness: + type: object + required: + - document_type + - document_number + description: Object containing information about the ID document of the tax payer. + properties: + document_type: + type: string + description: The type of ID document. + example: NIT + document_number: + type: string + description: The number of the ID document. + example: '8312224477' + TaxPayerInformationBusiness: + type: object + required: + - first_last_name + - second_last_name + - first_name + - other_names + - company_name + - main_economic_activity + - document_id + - reporting_id + description: Object containing information about the tax payer. + properties: + first_last_name: + type: string + nullable: true + description: The tax payer's first last name. + example: Restrepo + second_last_name: + type: string + nullable: true + description: The tax payer's second last name. + example: Vives + first_name: + type: string + nullable: true + description: The tax payer's first name. + example: Carlos + other_names: + type: string + nullable: true + description: Additional names of the tax payer. + example: Alberto + company_name: + type: string + description: The name of the company, as registered at the institution. + example: Trusty Spanners + main_economic_activity: + type: string + description: The main economic activity the tax payer is involved in. + example: '0032' + document_id: + $ref: '#/components/schemas/DocumentIdBusiness' + reporting_id: + $ref: '#/components/schemas/ReportingId' + EquityStatementBusiness: + type: object + required: + - cash_and_cash_equivalents + - investments_and_derivative_financial_instruments + - accounts_documents_and_finance_leases_receivable + - inventory + - property_plant_and_equipment_investment_properties + - total_gross_equity + - debts + - total_net_equity + description: Object containing the general fiscal situation of the taxpayer. + properties: + cash_and_cash_equivalents: + type: number + format: float + description: >- + Total cash (or cash equivalents) that the business currently holds + at the end of the fiscal year. + example: 4648000 + investments_and_derivative_financial_instruments: + type: number + format: float + description: >- + Total value of all investments, stocks, or similar, that the company + has. + example: 77626000 + accounts_documents_and_finance_leases_receivable: + type: number + format: float + description: >- + Total of all payments the company expects to receive (for example, + from partial invoices that have not been paid yet). + example: 0 + inventory: + type: number + format: float + description: Total financial value of the company's sellable inventory. + example: 0 + property_plant_and_equipment_investment_properties: + type: number + format: float + description: >- + Total value of real estate, plant infrastructure, or equipment that + has been purchased. + example: 0 + total_gross_equity: + type: number + format: float + description: Total gross equity. + example: 220860000 + debts: + type: number + format: float + description: Total debts that the company currently has. + example: 207030000 + total_net_equity: + type: number + format: float + description: >- + The total net equity of the company (`total_gross_equity` - + `debts`). + example: 13830000 + AnnualIncomeStatementBusiness: + type: object + required: + - gross_income_from_ordinary_activities + - dividends + - other_income + - total_gross_income + - returns_rebates_and_discounts_on_sales + - total_net_income + description: >- + Object containing the reported annual incomes, deductions, and final + balances of the tax payer. + properties: + gross_income_from_ordinary_activities: + type: number + format: float + description: >- + Total gross income that the company generated from their main + economic activity. + example: 210043000 + dividends: + type: number + format: float + description: Total income that the company generated from dividends. + example: 0 + other_income: + type: number + format: float + description: >- + Total income that the company generated from activities not + associated with their main economic activity. + example: 0 + total_gross_income: + type: number + format: float + description: Total gross income the company generated. + example: 210043000 + returns_rebates_and_discounts_on_sales: + type: number + format: float + description: >- + Total value of cancelled orders, corrected invoices, or similar, + that can be discounted from the `total_gross_income`. + example: 0 + total_net_income: + type: number + format: float + description: >- + Total net income of the company, taking into account + `returns_rebates_and_discounts_on_sales`. + example: 210043000 + AnnualCostsAndDeductionsStatementBusiness: + type: object + required: + - costs + - administration_expenses + - distribution_and_sales_expenses + - financial_expenses + - total_costs_and_deductible_expenses + description: Object containing the reported annual costs and applicable deductions. + properties: + costs: + type: number + format: float + description: Total costs for the company to operate. + example: 1881843000 + administration_expenses: + type: number + format: float + description: >- + Total costs of the company related to training, company offsites, or + similar. + example: 3266000 + distribution_and_sales_expenses: + type: number + format: float + description: >- + Total costs the company incurred in order to distribute or sell + their product. + example: 0 + financial_expenses: + type: number + format: float + description: >- + Total value of any fees incurred by the company to operate (such as + bank fees). + example: 0 + total_costs_and_deductible_expenses: + type: number + format: float + description: Total value of all costs and dedictible expenses. + example: 191449000 + TaxAssessmentBusiness: + type: object + required: + - net_income_taxable + - fortuitous_profit_tax + - total_tax_on_taxable_net_income + - net_income_tax + - total_tax_due + - total_withholdings_for_the_taxable_year_to_be_declared + - total_withheld_tax + - total_balance_payable + - total_balance_in_favor + - total_payment + description: >- + Object containing the calculated tax assessment of the tax payer. This + includes the total taxable income, the income tax applied, and taxes + already withheld. + properties: + net_income_taxable: + type: number + format: float + description: The net income on which tax can be applied. + example: 18594000 + fortuitous_profit_tax: + type: number + format: float + description: >- + The tax applied on your unexpected income (such as lottery wins or + house sales). + example: 0 + total_tax_on_taxable_net_income: + type: number + format: float + description: >- + The calculated total tax that can be applied on the tax payer's + taxable income (total income - exemptions - deductions). + example: 5764000 + net_income_tax: + type: number + format: float + description: >- + After additional deductions that you can apply, this will be the net + income tax. If no further deduction are identified, this value will + be the same as `total_tax_on_taxable_net_income`. + example: 5764000 + total_tax_due: + type: number + format: float + description: >- + After further deductions, this is the final calculated tax that the + taxpayer is required to pay. + example: 5764000 + total_withholdings_for_the_taxable_year_to_be_declared: + type: number + format: float + description: How much the tax payer has already paid througout the fiscal year. + example: 7361000 + total_balance_payable: + type: number + format: float + description: How much the tax payer is required to pay. + example: 0 + total_balance_in_favor: + type: number + format: float + description: How much the tax payer is expected to receive. + example: 1889000 + total_payment: + type: number + format: float + description: >- + The total the tax payer is required to pay, taking into account + deductions and fiscal credits. + example: 0 + TaxDeclarationBusiness: + type: object + title: Business Tax Declaration + required: + - id + - link + - collected_at + - created_at + - document_information + - tax_payer_information + - equity_statement + - annual_income_statement + - annual_costs_and_deductions_statement + - tax_assessment + - date_issued + - pdf + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the current tax declaration. + example: 1c83ead8-6665-429c-a17a-ddc76cb3a95e + link: + type: string + format: uuid + description: >- + Belvo's unique ID of the user that this tax declaration is + associated with. + example: 8a95ca1a-1a7a-4ce0-8599-f8ff1dc792ac + collected_at: + type: string + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + created_at: + type: string + format: date-time + description: >- + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2020-04-23T21:30:20.336854+00:00' + document_information: + $ref: '#/components/schemas/DocumentInformationBusiness' + tax_payer_information: + $ref: '#/components/schemas/TaxPayerInformationBusiness' + equity_statement: + $ref: '#/components/schemas/EquityStatementBusiness' + annual_income_statement: + $ref: '#/components/schemas/AnnualIncomeStatementBusiness' + annual_costs_and_deductions_statement: + $ref: '#/components/schemas/AnnualCostsAndDeductionsStatementBusiness' + tax_assessment: + $ref: '#/components/schemas/TaxAssessmentBusiness' + date_issued: + type: string + format: date + description: The date the tax declaration was issued by the fiscal institution. + example: '2022-09-02' + pdf: + type: string + nullable: true + description: The PDF of the tax declaration, as a binary string. + example: '==BINARY-STRING==' + TaxDeclarationBusinessPaginated: + type: object + title: Tax Declaration Business + additionalProperties: false + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Business Tax Declaration objects. + items: + $ref: '#/components/schemas/TaxDeclarationBusiness' + TaxDeclarationsRequest: + type: object + title: Tax Declarations + description: Request body for tax declrarations + required: + - link + - type + - year_to + - year_from + properties: + link: + type: string + format: uuid + description: >- + The fiscal `link.id` you want specific tax declaration information + for. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + year_from: + type: string + description: > + The starting year you want to get tax declaration for, in `YYYY` + format. + example: '2018' + year_to: + type: string + description: > + The year you want to stop getting tax declaration for, in `YYYY` + format. + example: '2019' + attach_pdf: + type: boolean + default: false + description: > + When this is set to `true`, you will receive the PDF as a binary + string in + + the response. + example: false + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + EnumEmploymentRecordStatus: + type: string + nullable: true + enum: + - EMPLOYED + - UNEMPLOYED + description: > + Indicates whether or not the individual is currently `EMPLOYED` or + `UNEMPLOYED`. + example: EMPLOYED + EmploymentRecordEntitlement: + type: object + description: Details regarding the benefits the individual is entitled to. + properties: + entitled_to_health_insurance: + type: boolean + description: > + Indicated whether or not the individual is entitled to health + insurance. + example: true + entitled_to_company_benefits: + type: boolean + description: > + Indicates whether or not the individual is entitled to company + benefits. + example: true + valid_until: + type: string + nullable: true + format: date + description: > + Date until when the individual is covered by health insurance and/or + company benefits. If `null` the employee is currently working and no + end date is required. + example: null + status: + $ref: '#/components/schemas/EnumEmploymentRecordStatus' + EnumEmploymentRecordDocumentType: + type: string + nullable: true + enum: + - NSS + - CURP + description: > + The type of document related to the individual. We return one of the + following values: + + - `NSS` + - `CURP` + + example: NSS + EmploymentRecordDocumentId: + type: object + description: Details regarding the individual's ID documents. + properties: + document_type: + $ref: '#/components/schemas/EnumEmploymentRecordDocumentType' + document_number: + type: string + nullable: true + description: | + The ID document's number (as a string). + example: '10277663582' + EmploymentRecordPersonalData: + type: object + description: Details regarding the personal information of the individual. + properties: + official_name: + type: string + nullable: true + description: | + The legal name of the individual + example: Bruce Banner del Torro + first_name: + type: string + nullable: true + description: | + The first name of the individual. + example: Bruce + last_name: + type: string + nullable: true + description: | + The last name of the individual. + example: Banner del Torro + email: + type: string + nullable: true + deprecated: true + description: | + The email address of the individual. + example: bruce.banner@avengers.com + birth_date: + type: string + nullable: true + format: date + description: | + The date of birth of the individual, in `YYYY-MM-DD` format. + example: '2022-02-09' + entitlements: + $ref: '#/components/schemas/EmploymentRecordEntitlement' + document_ids: + type: array + description: Details regarding the individual's ID documents. + items: + $ref: '#/components/schemas/EmploymentRecordDocumentId' + EmploymentRecordSocialSecuritySummary: + type: object + description: Details regarding the individual's social security contributions. + properties: + weeks_redeemed: + type: integer + nullable: true + format: int32 + description: | + Number of weeks the individual needed to take out of their pension. + example: 0 + weeks_reinstated: + type: integer + nullable: true + format: int32 + description: > + Number of weeks the individual has paid back into their pension + (*AFORE*), after having redeemed them previously. + example: 0 + weeks_contributed: + type: integer + nullable: true + format: int32 + description: > + Number of weeks the individual has contributed to their social + security, based on the number of weeks the individual has worked + according to IMSS. + example: 188 + EnumEmploymentRecordStatusUpdateEvents: + type: string + enum: + - DISMISSED_RESIGNED + - SALARY_MODIFICATION + - HIRED + - VOLUNTARY_CONTRIBUTION + - ABSENCE + - SICK_LEAVE + description: > + The event that caused the change in employment status or salary. We + return one of the following values: + + - `DISMISSED_RESIGNED` + - `SALARY_MODIFICATION` + - `HIRED` + - `VOLUNTARY_CONTRIBUTION` + - `ABSENCE` + - `SICK_LEAVE` + + example: HIRED + EmploymentRecordEmploymentStatusUpdates: + type: object + description: Details regarding any employment changes of the individual. + properties: + event: + $ref: '#/components/schemas/EnumEmploymentRecordStatusUpdateEvents' + base_salary: + type: number + format: float + description: | + The base salary of the individual, current as of the `update_date`. + example: 1033.09 + update_date: + type: string + format: date + description: | + The date that the employment event occurred, in `YYYY-MM-DD` format. + example: '2021-09-01' + EmploymentRecordDetail: + type: object + description: Details regarding the individual's employment history. + properties: + collected_at: + type: string + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + employer: + type: string + description: | + The official name of the employer. + example: Batman Enterprises CDMX + employer_id: + type: string + description: | + The official ID of the employer, according to the country. + example: 780-BAT-88769-CDMX + start_date: + type: string + format: date + description: | + Date when employment started, in `YYYY-MM-DD` format. + example: '2019-10-10' + end_date: + type: string + nullable: true + format: date + description: | + Date when employment finished, in `YYYY-MM-DD` format. + example: '2019-12-31' + weeks_employed: + type: integer + format: int32 + description: | + Number of weeks that the individual was employed. + example: 12 + state: + type: string + description: > + In what geographical state the individual was employed, according to + the country. + example: DISTRITO FEDERAL + most_recent_base_salary: + type: number + format: float + description: > + The most recent base salary the individual earned. + + + For Mexico, this is the *daily* rate that the individual earned, + including the perks that the individual is entitled to throughout + the year. + example: 762.54 + monthly_salary: + type: number + format: float + description: > + The monthly salary of the individual, including any additional + perks. + currency: + type: string + description: | + The three-letter currency code in which the salary is paid. + example: MXN + employment_status_updates: + type: array + description: Details regarding any employment changes of the individual. + items: + $ref: '#/components/schemas/EmploymentRecordEmploymentStatusUpdates' + EmploymentRecordFile: + type: object + description: Additional PDF binary files relating to the individual's employment. + properties: + type: + type: string + description: | + The title of the document. + example: ReporteSemanasCotizadas_190123 + value: + type: string + nullable: true + description: > + The PDF binary of the file (as a string). + + + > **Note**: In our sandbox environment, this field will return + `null`. + example: '=PDF_BINARY=' + EmploymentRecord: + type: object + description: Employment record response payload + properties: + id: + type: string + format: uuid + description: >- + The unique identifier created by Belvo for the current IMSS + statement. + example: fef05fc8-7357-4a4a-9d29-55038ea31a04 + link: + type: string + format: uuid + description: The unique identifier created by Belvo for the current user. + example: 27c1d5cf-e8fb-433a-a2f7-d246de199c01 + created_at: + type: string + format: date-time + description: >- + The ISO-8601 timestamp of when the data point was initially created + in Belvo's database. + example: '2020-04-23T21:32:55.336854+00:00' + collected_at: + type: string + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + report_date: + type: string + format: date + description: >- + The date when the employment record report was generated, in + `YYYY-MM-DD` format. + example: '2023-01-19' + internal_identification: + type: string + description: >- + Unique ID for user according to the institution. For IMSS Mexico, + this is the CURP. + example: BLPM951331IONVGR54 + personal_data: + $ref: '#/components/schemas/EmploymentRecordPersonalData' + social_security_summary: + $ref: '#/components/schemas/EmploymentRecordSocialSecuritySummary' + employment_records: + type: array + description: Details regarding the individual's employment history. + items: + $ref: '#/components/schemas/EmploymentRecordDetail' + files: + type: array + nullable: true + description: Additional PDF binary files relating to the individual's employment. + items: + $ref: '#/components/schemas/EmploymentRecordFile' + EmploymentRecordsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of employment record objects. + items: + $ref: '#/components/schemas/EmploymentRecord' + EmploymentRecordRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The `link.id` you want to retrieve employment records for. + example: d686c617-6d9e-4bc6-9801-5ac276ccb6a2 + attach_pdf: + type: boolean + default: false + description: > + When set to `true`, you will receive the PDF in binary format in the + response. + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + EnumIncomeVerificationAccountHolderType: + type: string + enum: + - INDIVIDUAL + description: | + The type of account holder. Can be: + + - `INDIVIDUAL` + example: INDIVIDUAL + EnumIncomeVerificationAccountCategory: + type: string + enum: + - CHECKING_ACCOUNT + - SAVINGS_ACCOUNT + description: | + The type of account. + + Can be either: + - `CHECKING_ACCOUNT` + - `SAVINGS_ACCOUNT` + example: CHECKING_ACCOUNT + EnumIncomeVerificationType: + type: string + nullable: true + enum: + - INFLOW + description: | + The direction of the transaction: + + - `INFLOW` indicates money coming into the account. + example: INFLOW + EyodIncomeVerificationBodyRequest: + type: object + required: + - transaction_id + - account_holder_type + - account_holder_id + - account_id + - account_category + - value_date + - description + - type + - amount + - currency + - institution + properties: + transaction_id: + type: string + description: Your unique ID for the income. + example: 3CWE4927CF15355 + account_holder_type: + $ref: '#/components/schemas/EnumIncomeVerificationAccountHolderType' + account_holder_id: + type: string + format: uuid + description: | + Your unique ID for the account holder, in UUID format. + example: a61bc801-9fa5-457b-88ad-850c96eaca30 + account_id: + type: string + description: | + Your unique ID for the account where the transaction occurred. + example: EBACA-89077589 + account_category: + $ref: '#/components/schemas/EnumIncomeVerificationAccountCategory' + value_date: + type: string + format: date + description: > + The date when the income transaction occurred, in `YYYY-MM-DD` + format. + example: '2022-11-18' + description: + type: string + description: | + The description of the income. + example: SALÁRIO MENSAL + type: + $ref: '#/components/schemas/EnumIncomeVerificationType' + amount: + type: number + format: float + description: | + The income amount. + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + type: string + description: | + The three-letter currency code of the income. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + example: BRL + institution: + type: string + description: > + The institution where the account is registered. + + + + **Note:** This is the name that you use in your system to identify + the institution. For example Erebor Retail Brasil Retail. + example: Erebor Retail Brasil + EyodIncomeVerificationRequest: + type: object + required: + - language + - transactions + properties: + language: + type: string + description: | + Two-letter ISO 639-1 code for the language of the transaction. + example: pt + transactions: + type: array + description: > + An array of transaction objects that you want enriched. + + + + **Note:** Each object corresponds to one, unique transaction and you + can send through up to 10,000 transactions per request. + items: + $ref: '#/components/schemas/EyodIncomeVerificationBodyRequest' + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting incomes for, in + `YYYY-MM-DD` format, within the last 365 days. When you use this + parameter, you must also send `date_to`. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2022-08-01' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting incomes for, in `YYYY-MM-DD` + format, within the last 365 days. When you use this parameter, you + must also send `date_from`. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2022-12-30' + allowed_income_types: + type: array + description: The categories of the incomes you want to get information for. + items: + $ref: '#/components/schemas/EnumInvoiceAllowedIncomeTypesRequest' + minimum_confidence_level: + $ref: '#/components/schemas/EnumIncomeMinimumConfidenceLevelRequest' + IncomeEyod: + type: object + description: Income insights + required: + - account_holder_id + - income_streams + - income_source_type + - first_transaction_date + - last_transaction_date + - number_of_income_streams + - monthly_average + - monthly_average_regular + - monthly_average_irregular + - monthly_average_low_confidence + - monthly_average_medium_confidence + - monthly_average_high_confidence + - total_income_amount + - total_regular_income_amount + - total_low_confidence + - total_medium_confidence + - total_high_confidence + properties: + account_holder_id: + type: string + description: >- + The unique `account_holder_id` the account belongs to, as you + provided in the Income Verification request. + example: f4621548-2f9e-440e-9ebd-ae8decac8c02 + income_streams: + type: array + description: An array of enriched income stream objects. + items: + $ref: '#/components/schemas/IncomeStreamsBody' + income_source_type: + $ref: '#/components/schemas/EnumIncomeSourceType' + first_transaction_date: + type: string + nullable: true + format: date + description: > + The date when the first transaction occurred, in `YYYY-MM-DD` + format. + example: '2022-06-09' + last_transaction_date: + type: string + format: date + description: > + The date when when the last transaction occurred, in `YYYY-MM-DD` + format. + example: '2023-02-09' + number_of_income_streams: + type: integer + format: int32 + description: | + Number of total income streams analized. + example: 1 + monthly_average: + type: number + format: float + description: > + Average amount of income received per month across all the accounts + for the specific user. + example: 2500 + monthly_average_regular: + type: number + format: float + description: > + Average amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, or `WEEKLY`) received per month for the specific + user. + example: 2500 + monthly_average_irregular: + type: number + format: float + description: > + Average amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) received per month for the specific user. + example: 0 + monthly_average_low_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `LOW` confidence. + example: 0 + monthly_average_medium_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `MEDIUM` confidence. + example: 0 + monthly_average_high_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `HIGH` confidence. + example: 2500 + total_income_amount: + type: number + format: float + description: | + Total amount of all income received for the specific user. + example: 22500 + total_regular_income_amount: + type: number + format: float + description: > + Total amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, `WEEKLY`) for the specific user. + example: 22500 + total_irregular_income_amount: + type: number + format: float + description: > + Total amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) for the specific user. + example: 0 + total_low_confidence: + type: number + format: float + description: | + Total amount of income for the specific user with `LOW` confidence. + example: 0 + total_medium_confidence: + type: number + format: float + description: > + Total amount of income for the specific user with `MEDIUM` + confidence. + example: 0 + total_high_confidence: + type: number + format: float + description: | + Total amount of income for the specific user with `HIGH` confidence. + example: 22500 + 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 403 access_to_resource_denied. + example: access_to_resource_denied + message: + type: string + description: | + A short description of the error. + + + For `access_to_resource_denied` errors, the description is: + + - `You don't have access to this resource.`. + example: You don't have access to this resource. + 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 + EnumCategorizationAccountHolderType: + type: string + enum: + - INDIVIDUAL + - BUSINESS + description: | + The type of account holder. + + Can be either: + + - `INDIVIDUAL` + - `BUSINESS` + example: INDIVIDUAL + EnumCategorizationAccountCategory: + type: string + enum: + - CHECKING_ACCOUNT + - CREDIT_CARD + - LOAN_ACCOUNT + - SAVINGS_ACCOUNT + description: | + The type of account. + + Can be either: + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `LOAN_ACCOUNT` + - `SAVINGS_ACCOUNT` + example: CREDIT_CARD + EnumCategorizationTransactionType: + type: string + enum: + - INFLOW + - OUTFLOW + description: | + The direction of the transaction. + + Can be either: + + - `INFLOW` indicates a received transaction. + - `OUTFLOW` indicates a sent transaction. + example: OUTFLOW + CategorizationBodyRequest: + type: object + required: + - transaction_id + - account_holder_type + - account_holder_id + - account_id + - account_category + - value_date + - description + - type + - amount + - currency + - institution + properties: + transaction_id: + type: string + description: Your unique ID for the transaction. + example: 3CWE4927CF15355 + account_holder_type: + $ref: '#/components/schemas/EnumCategorizationAccountHolderType' + account_holder_id: + type: string + description: | + Your unique ID for the account holder. + example: '7890098789087' + account_id: + type: string + description: | + Your unique ID for the account where the transaction occurred. + example: EREB-89077589 + account_category: + $ref: '#/components/schemas/EnumCategorizationAccountCategory' + value_date: + type: string + format: date + description: | + The date when the transaction occurred, in `YYYY-MM-DD` format. + example: '2022-11-18' + description: + type: string + description: | + The description of the transaction. + example: APPL3STORE + type: + $ref: '#/components/schemas/EnumCategorizationTransactionType' + amount: + type: number + format: float + description: | + The transaction amount. + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + type: string + description: | + The currency of the account, in ISO-4217 format. For example: + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + example: BRL + institution: + type: string + description: > + The institution where the account is registered. + + + + >**Note:** This is the name that you use in your system to identify + an institution. + example: Erebor Retail Brasil + mcc: + type: integer + nullable: true + format: int32 + description: | + The four-digit ISO 18245 Merchant Category Code (MCC). + example: 2345 + CategorizationRequest: + type: object + required: + - language + - transactions + properties: + language: + type: string + description: | + Two-letter ISO 639-1 code for the language of the transaction. + example: pt + transactions: + type: array + description: > + An array of transaction objects that you want categorized. + + + + **Note:** Each object corresponds to one, unique transaction and you + can send through up to 10,000 transactions per request. + items: + $ref: '#/components/schemas/CategorizationBodyRequest' + EnumCategorizationTransactionCategory: + type: string + nullable: true + enum: + - Bills & Utilities + - Credits & Loans + - Deposits + - Fees & Charges + - Food & Groceries + - Home & Life + - Income & Payments + - Insurance + - Investments & Savings + - Online Platforms & Leisure + - Personal Shopping + - Taxes + - Transfers + - Transport & Travel + - Unknown + - Withdrawal & ATM + - null + description: > + The name of the category to which this transaction belongs. For more + info about this feature, check our [Transaction + categorization](https://developers.belvo.com/docs/banking#categorizing-transactions) + article. + + + We return one of the following enum values: + + - `Bills & Utilities` + - `Credits & Loans` + - `Deposits` + - `Fees & Charges` + - `Food & Groceries` + - `Home & Life` + - `Income & Payments` + - `Insurance` + - `Investments & Savings` + - `Online Platforms & Leisure` + - `Personal Shopping` + - `Taxes` + - `Transfers` + - `Transport & Travel` + - `Unknown` + - `Withdrawal & ATM` + - `null` + example: Income & Payments + EnumCategorizationTransactionSubcategory: + type: string + nullable: true + enum: + - Electricity & Energy + - Rent + - Telecommunications + - Water + - Auto + - Credit Card + - Instalment + - Interest & Charges + - Mortgage + - Pay Advance + - Personal + - Adjustments + - Bank Fees + - Chargeback + - Refund + - Blocked Balances + - Alimony + - Alcohol & Tobacco + - Bakery & Coffee + - Bars & Nightclubs + - Convenience Store + - Delivery + - Groceries + - Restaurants + - Education + - Gyms & Fitness + - Hair & Beauty + - Health + - Home Decor & Appliances + - Laundry & Dry Cleaning + - Pharmacies + - Professional Services + - Veterinary Services + - Freelance + - Interest + - Retirement + - Salary + - Government + - Home Insurance + - Auto Insurance + - Health & Life Insurance + - Savings + - Fixed income + - Equity + - Investment Funds + - Derivatives + - Cryptocurrencies + - Apps, Software and Cloud Services + - Events, Parks and Museums + - Gambling + - Gaming + - Lottery + - Movie & Audio + - Books & News + - Clothing & Accessories + - Department Store + - Electronics + - E-commerce + - Gifts + - Office Supplies + - Pet Supplies + - Auto Tax & Fees + - Donation + - Government Fees + - Income Tax + - Real Estate Tax & Fees + - Tax Return + - Accommodation + - Auto Expenses + - Auto Rental + - Flights + - Gas + - Mileage Programs + - Parking & Tolls + - Public Transit + - Taxis & Rideshares + - Other + - null + description: > + The transactions subcategory. For more info about this feature, check + our [Transaction + categorization](https://developers.belvo.com/docs/banking#categorizing-transactions) + article. + + + + We return one of the following enum values: + + - `Electricity & Energy` + - `Rent` + - `Telecommunications` + - `Water` + - `Auto` + - `Credit Card` + - `Instalment` + - `Interest & Charges` + - `Mortgage` + - `Pay Advance` + - `Personal` + - `Adjustments` + - `Bank Fees` + - `Chargeback` + - `Refund` + - `Blocked Balances` + - `Alimony` + - `Alcohol & Tobacco` + - `Bakery & Coffee` + - `Bars & Nightclubs` + - `Convenience Store` + - `Delivery` + - `Groceries` + - `Restaurants` + - `Education` + - `Gyms & Fitness` + - `Hair & Beauty` + - `Health` + - `Home Decor & Appliances` + - `Laundry & Dry Cleaning` + - `Pharmacies` + - `Professional Services` + - `Veterinary Services` + - `Freelance` + - `Interest` + - `Retirement` + - `Salary` + - `Government` + - `Home Insurance` + - `Auto Insurance` + - `Health & Life Insurance` + - `Savings` + - `Fixed income` + - `Equity` + - `Investment Funds` + - `Derivatives` + - `Cryptocurrencies` + - `Apps, Software and Cloud Services` + - `Events, Parks and Museums` + - `Gambling` + - `Gaming` + - `Lottery` + - `Movie & Audio` + - `Books & News` + - `Clothing & Accessories` + - `Department Store` + - `Electronics` + - `E-commerce` + - `Gifts` + - `Office Supplies` + - `Pet Supplies` + - `Auto Tax & Fees` + - `Donation` + - `Government Fees` + - `Income Tax` + - `Real Estate Tax & Fees` + - `Tax Return` + - `Accommodation` + - `Auto Expenses` + - `Auto Rental` + - `Flights` + - `Gas` + - `Mileage Programs` + - `Parking & Tolls` + - `Public Transit` + - `Taxis & Rideshares` + - `Other` + - `null` + example: Freelance + CategorizationMerchantData: + type: object + nullable: true + description: | + Additional data regarding the merchant involved in the transaction. + properties: + logo: + type: string + nullable: true + description: The URL to the merchant's logo. + example: >- + https://www.apple.com/ac/structured-data/images/open_graph_logo.png?202110180743 + website: + type: string + nullable: true + description: The URL to the merchant's website. + example: https://www.apple.com/br/ + merchant_name: + type: string + description: The name of the merchant. + example: Apple, Inc + CategorizationBody: + type: object + required: + - transaction_id + - account_holder_type + - account_holder_id + - account_id + - account_category + - value_date + - description + - type + - amount + - currency + - institution + - category + - merchant + properties: + transaction_id: + type: string + description: The unique ID for the transaction in your system. + example: 3CWE4927CF15355 + account_holder_type: + $ref: '#/components/schemas/EnumCategorizationAccountHolderType' + account_holder_id: + type: string + description: | + The unique ID for the account holder in your system. + example: '7890098789087' + account_id: + type: string + description: > + The unique ID for the account where the transaction occurred in your + system. + example: EREB-89077589 + account_category: + $ref: '#/components/schemas/EnumCategorizationAccountCategory' + value_date: + type: string + format: date + description: | + The date when the transaction occurred, in `YYYY-MM-DD` format. + example: '2022-11-18' + description: + type: string + description: | + The description of the transaction. + example: APPL3STORE + type: + $ref: '#/components/schemas/EnumCategorizationTransactionType' + amount: + type: number + format: float + description: | + The transaction amount. + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + type: string + description: |- + The currency of the account, in ISO-4217 format. For example: + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + example: BRL + institution: + type: string + description: > + The institution where the account is registered. + + + + >**Note:** This is the name that you use in your system to identify + an institution. + + example: Erebor Brazil + mcc: + type: integer + nullable: true + format: int32 + description: | + The four-digit ISO 18245 Merchant Category Code (MCC). + example: 2345 + category: + $ref: '#/components/schemas/EnumCategorizationTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumCategorizationTransactionSubcategory' + merchant: + $ref: '#/components/schemas/CategorizationMerchantData' + Categorization: + type: object + properties: + transactions: + type: array + description: An array of enriched transaction objects. + items: + $ref: '#/components/schemas/CategorizationBody' + CreditScoreReasonCode: + type: object + description: An array of codes that explain the reason behind the credit score. + properties: + code: + type: string + pattern: '[A-Z][0-9]{2}' + description: | + The reason code for the credit score. + example: C06 + description: + type: string + minLength: 1 + maxLength: 160 + pattern: ^.{1,160}$ + description: | + A description of the reason code. + example: Out of Pattern transaction checking deposit day + CreditScore: + type: object + description: Credit Score response + properties: + id: + type: string + format: uuid + description: | + The unique ID for the credit score analysis. + example: a4e0d6f8-aa0b-45e4-9cd2-38cc741a64ad + user_id: + type: string + description: | + Your unique ID for the user. + example: AGH7890098789087 + created_at: + type: string + format: date-time + description: | + The ISO-8601 timestamp when the credit score analysis was created. + example: '2023-06-01T12:00:00.000Z' + score: + type: integer + format: int32 + description: | + The credit score of the user. + example: 400 + date_to: + type: string + format: date + description: > + The date that the credit score analysis ends, in `YYYY-MM-DD` + format. + example: '2023-06-01' + reason_codes: + type: array + minItems: 1 + description: An array of codes that explain the reason behind the credit score. + items: + $ref: '#/components/schemas/CreditScoreReasonCode' + CreditScorePaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of credit score objects. + items: + $ref: '#/components/schemas/CreditScore' + CreditScoreRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date until when you want to calculate the credit score for, in + `YYYY-MM-DD` format. + + + If not provided, we calculate the credit score using from the time + of the request and use up to 365 days of data (if available). + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2023-02-28' + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + EnumRiskInsightTransactionType: + type: string + nullable: true + enum: + - INFLOW + - OUTFLOW + description: | + The direction of the transaction: + + - `INFLOW` indicates money coming into the account. + - `OUTFLOW` indicates money leaving the account. + example: INFLOW + EyodCreditScoreTransactionBody: + type: object + description: | + The EYOD Risk Insight transaction object + required: + - transaction_id + - account_id + - value_date + - type + - amount + - currency + - description + properties: + transaction_id: + type: string + description: Your unique ID for the transaction. + example: 3CWE4927CF15355 + account_id: + type: string + description: > + Your unique ID for the account where the transaction occurred. + + + **Note:** You must provide the details of this account in the + `accounts` array of the Risk Insights request. Otherwise, we return + an error. + example: AGH7890098789087-Checking-Erebor + value_date: + type: string + format: date + description: > + The date when the transaction occurred, in `YYYY-MM-DD` format. + + + **Note:** Transactions that occur after the `reference_date` are not + considered in the risk insight analysis. + example: '2023-05-18' + type: + $ref: '#/components/schemas/EnumRiskInsightTransactionType' + amount: + type: number + format: float + description: | + The transaction amount. + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + type: string + description: > + The three-letter currency code of the transaction. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + **Note:** Ensure that the currency of the transaction and the + account associated with it are the same. For example, if the + currency of the account is `MXN`, then all the transactions + associated with that account should also be in `MXN`. + + example: BRL + description: + type: string + maxLength: 500 + description: | + The description of the transaction. + example: Pagamento Netflix Maio 2023 + EyodCreditScoreAccountBody: + type: object + description: | + EYOD Risk Insight account object. + required: + - id + - category + - balance + - balance_date + - currency + properties: + id: + type: string + description: | + Your unique ID for the user's account. + example: AGH7890098789087-Checking-Erebor + category: + type: string + enum: + - CHECKING_ACCOUNT + - CREDIT_CARD + - LOAN_ACCOUNT + - SAVINGS_ACCOUNT + description: | + The category of the bank account. Can be either: + + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `LOAN_ACCOUNT` + - `SAVINGS_ACCOUNT` + example: CHECKING_ACCOUNT + balance: + type: number + format: float + description: The balance of the account. + example: 12540.67 + balance_date: + type: string + format: date + description: > + The date that the `balance` amount was retrieved, in `YYYY-MM-DD` + format. + + + **Note:** For each account you wish to have analyzed, try to provide + the same date when the balance was available. + example: '2023-06-01' + currency: + type: string + description: > + The three-letter currency code of the `balance`. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + **Note:** Ensure that the currency of the account and the + transactions associated with it are the same. For example, if the + currency of the account is `MXN`, then all the transactions + associated with that account should also be in `MXN`. + + example: BRL + EyodCreditScoreRequest: + type: object + description: > + EYOD Credit Score request object. + + + **Note:** You can only send through information for **one** user at a + time. + required: + - user_id + - date_to + - language + - transactions + - accounts + properties: + user_id: + type: string + description: | + Your unique ID for the user. + example: AGH7890098789087 + date_to: + type: string + format: date + description: > + The date from which you want Belvo to start performing the credit + score analysis, in `YYYY-MM-DD` format. If you do not specify a + `date_to`, we use the current date at the time of your request. + + + > **Note:** + + > + + > We recommend you use `date_to` if you do not have an account + balance for the past few days. + + > + + > For example, if the last account balance date that you have a + value for was last week, set the `date_to` parameter to that date. + The credit score that you receive will be **relative** to the + `date_to` parameter. + example: '2023-06-01' + language: + type: string + description: > + The two-letter ISO 639-1 code for the language of the transaction. + For example: + + - `pt` for Portugese + + > **Note**: At present, we only support `pt` for Portuguese. + example: pt + transactions: + type: array + maxItems: 10000 + description: > + An array of transaction objects that you want analyzed for the + credit score analysis. + + + + **Note:** Each object corresponds to one unique transaction and you + can send through up to 10,000 transactions per request. + items: + $ref: '#/components/schemas/EyodCreditScoreTransactionBody' + accounts: + type: array + description: > + An array of account objects that the transactions are associated + with. + + + + Each transaction you provide in the `transactions` array must have + an associated account. If you provide transactions without an + associated account, we return an error. + + + **Note:** Each object corresponds to one unique account. + items: + $ref: '#/components/schemas/EyodCreditScoreAccountBody' + examples: + AccountsBankingChecking: + summary: Checking Account + description: Example of a checking account. + value: + - id: c21f3914-bcbe-44c4-a2e8-a5e33f6888d4 + link: 57f212dc-1ba4-407f-b7f0-15a5e5ff17ae + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CHECKING_ACCOUNT + balance_type: ASSET + type: Cuentas de efectivo + name: Cuenta Perfiles- M.N.- - ERB-237 + number: '2180700688677950' + balance: + available: 4523.48 + current: 4523.48 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: CLABE + public_identification_value: '2180700008677950' + last_accessed_at: '2022-02-01T20:25:47.307911Z' + credit_data: null + loan_data: null + funds_data: null + AccountsBankingCreditCard: + summary: Credit Card Account + description: Example of a credit card account. + value: + - id: 0f82c5db-13a2-43c7-a69a-e036160aba3a + link: 57f212dc-1ba4-407f-b7f0-15a5e5ff17ae + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + balance_type: LIABILITY + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + available: 1550.15 + current: 4049.85 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2022-02-01T20:25:47.307911Z' + credit_data: + collected_at: '2022-02-09T08:45:50.406032Z' + credit_limit: 15600 + cutting_date: '2021-04-11' + next_payment_date: '2021-03-31' + minimum_payment: 690 + no_interest_payment: 11550.15 + interest_rate: 4 + monthly_payment: null + last_payment_date: null + loan_data: null + funds_data: null + AccountsBankingLoan: + summary: Loan Account + description: Example of a loan account. + value: + - id: 0f82c5db-13a2-43c7-a69a-e036160aba3a + link: 57f212dc-1ba4-407f-b7f0-15a5e5ff17ae + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: LOAN_ACCOUNT + balance_type: LIABILITY + type: Créditos + name: Cuenta nómina + number: '72964044' + balance: + available: 34708.36 + current: 34708.36 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: ACCOUNT_NUMBER + public_identification_value: '217035843284091420' + last_accessed_at: '2022-02-01T20:25:47.307911Z' + credit_data: null + loan_data: + collected_at: '2022-02-09T08:45:50.406032Z' + loan_type: SFH + contract_amount: 202000 + principal: 192000 + outstanding_principal: 142000 + outstanding_balance: 164000 + payment_day: '17' + interest_rates: + - name: jurosEfetivo + type: MONTHLY + value: 7.85 + fees: + - type: OPERATION_FEE + value: 5.6 + monthly_payment: 1000 + number_of_installments_total: 50 + number_of_installments_outstanding: 41 + contract_start_date: '2018-01-01' + contract_end_date: '2027-10-01' + contract_number: ER8072930097 + funds_data: null + AccountsBankingPension: + summary: Pension Account + description: Example of a pension account. + value: + - id: 3d5b0f90-90df-455d-a647-5b74feb746f6 + link: fbbb5ea7-4605-437f-b5c5-667fd037a303 + institution: + name: erebor_br_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: PENSION_FUND_ACCOUNT + balance_type: ASSET + type: Contas + name: Conta corrente + number: '37903487' + balance: + available: 26305.33 + current: 26305.33 + currency: BRL + bank_product_id: null + internal_identification: null + public_identification_name: PENSION_PLAN_ID + public_identification_value: '626249048387247512' + last_accessed_at: '2021-03-09T08:19:05.000Z' + credit_data: null + loan_data: null + funds_data: + - collected_at: '2022-02-09T08:45:50.406032Z' + name: CICLO DE VIDA 2040 I + type: PGBL + balance: 94793 + percentage: 9 + public_identifications: + - name: CNPJ + value: 11.233.333/4424-01 + - name: SUSEP + value: 13311.2333222/3333-44 + - collected_at: '2022-02-09T08:45:50.406032Z' + name: CICLO DE VIDA 2020 I + type: PGBL + balance: 50834 + percentage: 91 + public_identifications: + - name: CNPJ + value: 11.222.333/4444-02 + - name: SUSEP + value: 11111.222222/3333-44 + AccountsBankingSavings: + summary: Savings Account + description: Example of a savings account. + value: + - id: 3d5b0f90-90df-455d-a647-5b74feb746f6 + link: fbbb5ea7-4605-437f-b5c5-667fd037a303 + institution: + name: erebor_co_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: SAVINGS_ACCOUNT + balance_type: ASSET + type: Cuenta de Ahorro + name: Cuenta de Ahorro + number: '13166008' + balance: + available: 4978436.05 + current: 4978436.05 + currency: COP + bank_product_id: null + internal_identification: null + public_identification_name: ACCOUNT_NUMBER + public_identification_value: '260825906' + last_accessed_at: '2021-03-09T10:28:40.000Z' + credit_data: null + loan_data: null + funds_data: null + AccountsOfdaChecking: + summary: Checking OFDA Brazil + description: Example of an checking account (OFDA Brazil). + value: + - id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CHECKING_ACCOUNT + balance_type: ASSET + overdraft: + used: 10000.99 + arranged: 99.99 + unarranged: 99.99 + type: CONTA_DEPOSITO_A_VISTA + subtype: INDIVIDUAL + name: null + number: '11188222' + agency: '6272' + check_digit: '4' + balance: + current: 999.99 + available: 15000 + blocked: 41233.07 + automatically_invested: 15000 + currency: BRL + public_identification_name: AGENCY/NUMBER + public_identification_value: 6272/11188222 + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: null + funds_data: null + AccountsOfdaCreditCard: + summary: Credit Card OFDA Brazil + description: Example of an credit card account (OFDA Brazil). + value: + - id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CREDIT_CARD + balance_type: LIABILITY + overdraft: null + type: GRAFITE + subtype: Dinners Elo Grafite + name: Dinners Grafite + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 60.32 + automatically_invested: 131.5 + currency: BRL + public_identification_name: CREDIT_CARD_NUMBER + public_identification_value: '8921' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: + cards: + - is_multiple: false + identification_number: '8921' + limits: + - type: LIMITE_CREDITO_TOTAL + line_name: CREDITO_A_VISTA + card_number: '8921' + used_amount: 7500.05 + credit_limit: 23000.98 + available_amount: 15500.93 + is_limit_flexible: true + consolidation_type: CONSOLIDADO + line_name_additional_info: NA + network: DINERS_CLUB + collected_at: '2023-07-24T00:46:24.431038Z' + credit_limit: 23000.98 + cutting_date: null + interest_rate: null + minimum_payment: 0 + monthly_payment: null + last_payment_date: null + next_payment_date: null + last_period_balance: null + no_interest_payment: null + network_additional_info: null + loan_data: null + funds_data: null + AccountsOfdaLoanData: + summary: Loan OFDA Brazil + description: Example of an loan account (OFDA Brazil). + value: + - id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: LOAN_ACCOUNT + balance_type: LIABILITY + overdraft: null + type: EMPRESTIMOS + subtype: CREDITO_PESSOAL_SEM_CONSIGNACAO + name: Aquisição de equipamentos + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 0 + automatically_invested: 0 + currency: BRL + public_identification_name: NUMBER + public_identification_value: '90847453264' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: + fees: + - code: ADMNISTRACAO + name: Taxa de administracao + rate: 0 + type: null + value: 200.5 + fee_charge: FIXED + fee_charge_type: SINGLE + loan_code: '01181521040211011740907325668478542336597' + loan_type: CREDITO_PESSOAL_SEM_CONSIGNACAO + principal: null + limit_date: null + collaterals: + - type: CESSAO_DIREITOS_CREDITORIOS + amount: 15000.31 + subtype: ACOES_DEBENTURES + currency: BRL + cutting_day: null + payment_day: null + collected_at: '2023-07-24T00:46:44.756806Z' + consignee_id: '13832718000196' + credit_limit: null + cutting_date: null + interest_rate: null + interest_rates: + - name: NOMINAL + type: YEARLY + value: 0.015 + interest_rate_data: + type: AA + tax_type: NOMINAL_TAX + rate_type: SIMPLE_RATE + pre_fixed_rate: 0.015 + additional_info: NA + post_fixed_rate: 0 + calculation_base: 21/252 + reference_index_info: null + reference_index_type: PRE_FIXED + reference_index_subtype: PRE_FIXADO + contract_amount: 12070.6 + contract_number: '90847453264' + monthly_payment: null + payment_due_day: null + settlement_date: '2021-06-21' + balloon_payments: + - amount: 0 + currency: BRL + due_date: '2020-01-10' + contract_end_date: '2023-01-08' + last_payment_date: null + next_payment_date: null + contracted_charges: + - info: NA + rate: 0.06 + type: LATE_PAYMENT_PENALTY_FEE + disbursement_dates: + - '2022-01-08' + contract_start_date: '2022-01-08' + last_period_balance: null + no_interest_payment: null + outstanding_balance: 14402.379 + total_effective_cost: 0.015 + amortization_schedule: PRICE + installment_frequency: OTHER + outstanding_principal: null + contract_remaining_total: 727 + amortization_schedule_info: NA + first_installment_due_date: '2022-01-08' + installment_frequency_info: DIA + number_of_installments_paid: 3 + contract_remaining_frequency: DAY + number_of_installments_total: 730 + number_of_installments_past_due: 1 + number_of_installments_outstanding: 727 + installments_contract_term_frequency: DAY + funds_data: null + AccountsOfdaCheckingDetail: + summary: Checking OFDA Brazil + description: Example of an checking account (OFDA Brazil). + value: + id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CHECKING_ACCOUNT + balance_type: ASSET + overdraft: + used: 10000.99 + arranged: 99.99 + unarranged: 99.99 + type: CONTA_DEPOSITO_A_VISTA + subtype: INDIVIDUAL + name: null + number: '11188222' + agency: '6272' + check_digit: '4' + balance: + current: 999.99 + available: 15000 + blocked: 41233.07 + automatically_invested: 15000 + currency: BRL + public_identification_name: AGENCY/NUMBER + public_identification_value: 6272/11188222 + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: null + funds_data: null + AccountsOfdaCreditCardDetail: + summary: Credit Card OFDA Brazil + description: Example of an credit card account (OFDA Brazil). + value: + id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CREDIT_CARD + balance_type: LIABILITY + overdraft: null + type: GRAFITE + subtype: Dinners Elo Grafite + name: Dinners Grafite + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 60.32 + automatically_invested: 131.5 + currency: BRL + public_identification_name: CREDIT_CARD_NUMBER + public_identification_value: '8921' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: + cards: + - is_multiple: false + identification_number: '8921' + limits: + - type: LIMITE_CREDITO_TOTAL + line_name: CREDITO_A_VISTA + card_number: '8921' + used_amount: 7500.05 + credit_limit: 23000.98 + available_amount: 15500.93 + is_limit_flexible: true + consolidation_type: CONSOLIDADO + line_name_additional_info: NA + network: DINERS_CLUB + collected_at: '2023-07-24T00:46:24.431038Z' + credit_limit: 23000.98 + cutting_date: null + interest_rate: null + minimum_payment: 0 + monthly_payment: null + last_payment_date: null + next_payment_date: null + last_period_balance: null + no_interest_payment: null + network_additional_info: null + loan_data: null + funds_data: null + AccountsOfdaLoanDataDetail: + summary: Loan OFDA Brazil + description: Example of an loan account (OFDA Brazil). + value: + id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: LOAN_ACCOUNT + balance_type: LIABILITY + overdraft: null + type: EMPRESTIMOS + subtype: CREDITO_PESSOAL_SEM_CONSIGNACAO + name: Aquisição de equipamentos + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 0 + automatically_invested: 0 + currency: BRL + public_identification_name: NUMBER + public_identification_value: '90847453264' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: + fees: + - code: ADMNISTRACAO + name: Taxa de administracao + rate: 0 + type: null + value: 200.5 + fee_charge: FIXED + fee_charge_type: SINGLE + loan_code: '01181521040211011740907325668478542336597' + loan_type: CREDITO_PESSOAL_SEM_CONSIGNACAO + principal: null + limit_date: null + collaterals: + - type: CESSAO_DIREITOS_CREDITORIOS + amount: 15000.31 + subtype: ACOES_DEBENTURES + currency: BRL + cutting_day: null + payment_day: null + collected_at: '2023-07-24T00:46:44.756806Z' + consignee_id: '13832718000196' + credit_limit: null + cutting_date: null + interest_rate: null + interest_rates: + - name: NOMINAL + type: YEARLY + value: 0.015 + interest_rate_data: + type: AA + tax_type: NOMINAL_TAX + rate_type: SIMPLE_RATE + pre_fixed_rate: 0.015 + additional_info: NA + post_fixed_rate: 0 + calculation_base: 21/252 + reference_index_info: null + reference_index_type: PRE_FIXED + reference_index_subtype: PRE_FIXADO + contract_amount: 12070.6 + contract_number: '90847453264' + monthly_payment: null + payment_due_day: null + settlement_date: '2021-06-21' + balloon_payments: + - amount: 0 + currency: BRL + due_date: '2020-01-10' + contract_end_date: '2023-01-08' + last_payment_date: null + next_payment_date: null + contracted_charges: + - info: NA + rate: 0.06 + type: LATE_PAYMENT_PENALTY_FEE + disbursement_dates: + - '2022-01-08' + contract_start_date: '2022-01-08' + last_period_balance: null + no_interest_payment: null + outstanding_balance: 14402.379 + total_effective_cost: 0.015 + amortization_schedule: PRICE + installment_frequency: OTHER + outstanding_principal: null + contract_remaining_total: 727 + amortization_schedule_info: NA + first_installment_due_date: '2022-01-08' + installment_frequency_info: DIA + number_of_installments_paid: 3 + contract_remaining_frequency: DAY + number_of_installments_total: 730 + number_of_installments_past_due: 1 + number_of_installments_outstanding: 727 + installments_contract_term_frequency: DAY + funds_data: null + TransactionsCheckingPaginated: + summary: Checking Account Transaction + description: An example of a checking account transaction + value: + count: 198 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: CUENTA NARANJA LITE + + number: '996685090015' + type: CUENTA NARANJA LITE + + category: CHECKING_ACCOUNT + bank_product_id: '46' + public_identification_name: CLABE + public_identification_value: '058597000010485108' + currency: MXN + balance: + current: 0 + available: 0 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 932.5 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: '085904452810319225' + value_date: '2022-07-11' + description: Transferencia interbancaria + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: LCzHexIyHi + TransactionsSavingsPaginated: + summary: Savings Account Transaction + description: An example of a savings account transaction + value: + count: 198 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: Mi ahorro Erebor + number: '997468860036' + type: null + category: SAVINGS_ACCOUNT + bank_product_id: null + public_identification_name: CLABE + public_identification_value: '058597000011543422' + currency: MXN + balance: + current: 4.09 + available: 4.09 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 4.09 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: null + value_date: '2022-07-11' + description: Interes + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: '0089608418' + TransactionsCreditCardPaginated: + summary: Credit Card Transaction + description: An example of a credit card transaction + value: + count: 198 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + current: 5874.13 + available: 5621.12 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2021-03-09T10:28:40.000Z' + balance_type: LIABILITY + credit_data: + credit_limit: 192000 + collected_at: '2022-02-09T08:45:50.406032Z' + cutting_date: '2019-12-11' + next_payment_date: '2019-12-01' + minimum_payment: 2400 + no_interest_payment: 37390.83 + monthly_payment: null + end_date: null + last_payment_date: null + interest_rate: 4 + loan_data: null + funds_data: null + collected_at: '2022-02-09T08:45:50.406032Z' + value_date: '2019-10-23' + accounting_date: '2019-10-23T13:01:41.941Z' + amount: 2145.45 + balance: 16907.96 + currency: MXN + description: SEVEN BUDDHAS RFC:XXXXXXXXXX + observations: OPTIONAL OBSERVATIONS + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + reference: '8703' + type: OUTFLOW + status: PROCESSED + credit_card_data: + bill_name: apr-2020 + previous_bill_total: '2000.00' + collected_at: '2022-02-09T08:45:50.406032Z' + TransactionsChecking: + summary: Checking Account Transaction + description: An example of a checking account transaction + value: + - id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: CUENTA NARANJA LITE + + number: '996685090015' + type: CUENTA NARANJA LITE + + category: CHECKING_ACCOUNT + bank_product_id: '46' + public_identification_name: CLABE + public_identification_value: '058597000010485108' + currency: MXN + balance: + current: 0 + available: 0 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 932.5 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: '085904452810319225' + value_date: '2022-07-11' + description: Transferencia interbancaria + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: LCzHexIyHi + TransactionsSavings: + summary: Savings Account Transaction + description: An example of a savings account transaction + value: + - id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: Mi ahorro Erebor + number: '997468860036' + type: null + category: SAVINGS_ACCOUNT + bank_product_id: null + public_identification_name: CLABE + public_identification_value: '058597000011543422' + currency: MXN + balance: + current: 4.09 + available: 4.09 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 4.09 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: null + value_date: '2022-07-11' + description: Interes + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: '0089608418' + TransactionsCreditCard: + summary: Credit Card Transaction + description: An example of a credit card transaction + value: + - id: 9e432f18-36ca-4bd6-a3f3-1971e58dc1e8 + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + current: 5874.13 + available: 5621.12 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2021-03-09T10:28:40.000Z' + balance_type: LIABILITY + credit_data: + credit_limit: 192000 + collected_at: '2022-02-09T08:45:50.406032Z' + cutting_date: '2019-12-11' + next_payment_date: '2019-12-01' + minimum_payment: 2400 + no_interest_payment: 37390.83 + monthly_payment: null + end_date: null + last_payment_date: null + interest_rate: 4 + loan_data: null + funds_data: null + collected_at: '2022-02-09T08:45:50.406032Z' + value_date: '2019-10-23' + accounting_date: '2019-10-23T13:01:41.941Z' + amount: 2145.45 + balance: 16907.96 + currency: MXN + description: SEVEN BUDDHAS RFC:XXXXXXXXXX + observations: OPTIONAL OBSERVATIONS + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + reference: '8703' + type: OUTFLOW + status: PROCESSED + credit_card_data: + bill_name: apr-2020 + previous_bill_total: '2000.00' + collected_at: '2022-02-09T08:45:50.406032Z' + TransactionsCheckingOfda: + summary: Transaction OFDA Brazil (Checking) + description: Example of an checking account transaction (OFDA Brazil). + value: + - id: 2ccf4372-a091-403e-bc00-3afeec91419b + account: + id: 73f52d7c-49ea-4903-8e91-764eb05c4f8c + link: a288f663-92dd-4a57-8a36-a00c192822dd + institution: + name: oferebor_br_retail + type: bank + created_at: '2023-11-07T13:13:10.781520Z' + collected_at: '2023-11-07T13:13:07.707609Z' + internal_identification: 6C9b3e7f09d8a411e982fbb2e6f5a3d77acbf15e8b9473629d9f78 + category: CHECKING_ACCOUNT + bank_product_id: null + balance_type: ASSET + credit_data: null + loan_data: null + balance: + current: 360 + available: 360 + automatically_invested: 360 + name: null + number: '09009570' + agency: '7632' + type: CONTA_DEPOSITO_A_VISTA + currency: BRL + last_accessed_at: null + public_identification_name: AGENCY/NUMBER + public_identification_value: 7632/09009570 + subtype: INDIVIDUAL + check_digit: '9' + overdraft: + arranged: '0.0000' + used: '0.0000' + unarranged: '0.0000' + created_at: '2023-11-01T16:16:37.910619Z' + category: null + subcategory: null + merchant: null + mcc: null + type: OUTFLOW + amount: 100 + status: PROCESSED + balance: null + currency: BRL + reference: null + value_date: '2023-09-21' + transacted_at: '2023-09-21T12:29:03.374Z' + description: PIX EMITIDO OUTRA IF + collected_at: '2023-11-07T13:13:10.350717Z' + counterparty: + document_number: '32187940563' + type: INDIVIDUAL + clearing_code: '160' + agency: '3201' + number: '73916428' + check_digit: '4' + observations: null + payment_type: null + operation_type: OUTROS + operation_type_additional_info: null + accounting_date: '2023-09-21' + credit_card_data: null + local_currency_amount: null + internal_identification: 15a1498f-392e-4cb7-9f63-0e06ac827794 + TransactionsCheckingDetail: + summary: Checking Account Transaction + description: An example of a checking account transaction + value: + id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: CUENTA NARANJA LITE + + number: '996685090015' + type: CUENTA NARANJA LITE + + category: CHECKING_ACCOUNT + bank_product_id: '46' + public_identification_name: CLABE + public_identification_value: '058597000010485108' + currency: MXN + balance: + current: 0 + available: 0 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 932.5 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: '085904452810319225' + value_date: '2022-07-11' + description: Transferencia interbancaria + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: LCzHexIyHi + TransactionsSavingsDetail: + summary: Savings Account Transaction + description: An example of a savings account transaction + value: + id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: Mi ahorro Erebor + number: '997468860036' + type: null + category: SAVINGS_ACCOUNT + bank_product_id: null + public_identification_name: CLABE + public_identification_value: '058597000011543422' + currency: MXN + balance: + current: 4.09 + available: 4.09 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 4.09 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: null + value_date: '2022-07-11' + description: Interes + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: '0089608418' + TransactionsCreditCardDetail: + summary: Credit Card Transaction + description: An example of a credit card transaction + value: + id: 9e432f18-36ca-4bd6-a3f3-1971e58dc1e8 + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + current: 5874.13 + available: 5621.12 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2021-03-09T10:28:40.000Z' + balance_type: LIABILITY + credit_data: + credit_limit: 192000 + collected_at: '2022-02-09T08:45:50.406032Z' + cutting_date: '2019-12-11' + next_payment_date: '2019-12-01' + minimum_payment: 2400 + no_interest_payment: 37390.83 + monthly_payment: null + end_date: null + last_payment_date: null + interest_rate: 4 + loan_data: null + funds_data: null + collected_at: '2022-02-09T08:45:50.406032Z' + value_date: '2019-10-23' + accounting_date: '2019-10-23T13:01:41.941Z' + amount: 2145.45 + balance: 16907.96 + currency: MXN + description: SEVEN BUDDHAS RFC:XXXXXXXXXX + observations: OPTIONAL OBSERVATIONS + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + category: Income & Payments + subcategory: Freelance + reference: '8703' + type: OUTFLOW + status: PROCESSED + credit_card_data: + bill_name: apr-2020 + previous_bill_total: '2000.00' + collected_at: '2022-02-09T08:45:50.406032Z' + TransactionsCheckingOfdaDetail: + summary: Transaction OFDA Brazil (Checking) + description: Example of an checking account transaction (OFDA Brazil). + value: + id: 2ccf4372-a091-403e-bc00-3afeec91419b + account: + id: 73f52d7c-49ea-4903-8e91-764eb05c4f8c + link: a288f663-92dd-4a57-8a36-a00c192822dd + institution: + name: oferebor_br_retail + type: bank + created_at: '2023-11-07T13:13:10.781520Z' + collected_at: '2023-11-07T13:13:07.707609Z' + internal_identification: 6C9b3e7f09d8a411e982fbb2e6f5a3d77acbf15e8b9473629d9f78 + category: CHECKING_ACCOUNT + bank_product_id: null + balance_type: ASSET + credit_data: null + loan_data: null + balance: + current: 360 + available: 360 + automatically_invested: 360 + name: null + number: '09009570' + agency: '7632' + type: CONTA_DEPOSITO_A_VISTA + currency: BRL + last_accessed_at: null + public_identification_name: AGENCY/NUMBER + public_identification_value: 7632/09009570 + subtype: INDIVIDUAL + check_digit: '9' + overdraft: + arranged: '0.0000' + used: '0.0000' + unarranged: '0.0000' + created_at: '2023-11-01T16:16:37.910619Z' + category: null + subcategory: null + merchant: null + mcc: null + type: OUTFLOW + amount: 100 + status: PROCESSED + balance: null + currency: BRL + reference: null + value_date: '2023-09-21' + description: PIX EMITIDO OUTRA IF + collected_at: '2023-11-07T13:13:10.350717Z' + counterparty: + document_number: '32187940563' + type: INDIVIDUAL + clearing_code: '160' + agency: '3201' + number: '73916428' + check_digit: '4' + observations: null + payment_type: null + operation_type: OUTROS + operation_type_additional_info: null + accounting_date: '2023-09-21' + credit_card_data: null + local_currency_amount: null + internal_identification: 15a1498f-392e-4cb7-9f63-0e06ac827794 + BalancesExamplePaginated: + summary: Balance Example (Checking Account) + description: Example of a balance paginated response. + value: + count: 385 + next: https://sandbox.belvo.com/api/balances/?page=2 + previous: null + results: + - id: b834e69b-1aa4-465d-969c-07c886a4fbed + account: + id: 26428311-7108-40b8-a22b-c310187dd005 + link: b834e69b-1aa4-465d-969c-07c886a4fbed + institution: + name: erebor_br_retail + type: bank + created_at: '2021-10-27T16:18:15.591647Z' + name: Erebor Gold + type: null + number: 7889044-1 + balance: + current: 146.81 + available: 146.81 + category: CHECKING_ACCOUNT + currency: BRL + loan_data: null + credit_data: null + balance_type: ASSET + collected_at: '2022-06-17T03:20:41.300075Z' + bank_product_id: null + last_accessed_at: null + internal_identification: 9fa5fab9-e2b7-4bd7-8413-71ed9bb94b4c + public_identification_name: AGENCY/ACCOUNT + public_identification_value: 0009/7889044-1 + collected_at: '2022-04-06T23:30:51.282174+00:00' + statement: null + value_date: '2022-04-04' + current_balance: 4.25 + balance: 4.25 + BalancesExample: + summary: Balance Example (Checking Account) + description: Example of a balance response. + value: + - id: b834e69b-1aa4-465d-969c-07c886a4fbed + account: + id: 26428311-7108-40b8-a22b-c310187dd005 + link: b834e69b-1aa4-465d-969c-07c886a4fbed + institution: + name: erebor_br_retail + type: bank + created_at: '2021-10-27T16:18:15.591647Z' + name: Erebor Gold + type: null + number: 7889044-1 + balance: + current: 146.81 + available: 146.81 + category: CHECKING_ACCOUNT + currency: BRL + loan_data: null + credit_data: null + balance_type: ASSET + collected_at: '2022-06-17T03:20:41.300075Z' + bank_product_id: null + last_accessed_at: null + internal_identification: 9fa5fab9-e2b7-4bd7-8413-71ed9bb94b4c + public_identification_name: AGENCY/ACCOUNT + public_identification_value: 0009/7889044-1 + collected_at: '2022-04-06T23:30:51.282174+00:00' + statement: null + value_date: '2022-04-04' + current_balance: 4.25 + balance: 4.25 + BalancesExampleDetail: + summary: Balance Example (Checking Account) + description: Example of a balance response. + value: + id: b834e69b-1aa4-465d-969c-07c886a4fbed + account: + id: 26428311-7108-40b8-a22b-c310187dd005 + link: b834e69b-1aa4-465d-969c-07c886a4fbed + institution: + name: erebor_br_retail + type: bank + created_at: '2021-10-27T16:18:15.591647Z' + name: Erebor Gold + type: null + number: 7889044-1 + balance: + current: 146.81 + available: 146.81 + category: CHECKING_ACCOUNT + currency: BRL + loan_data: null + credit_data: null + balance_type: ASSET + collected_at: '2022-06-17T03:20:41.300075Z' + bank_product_id: null + last_accessed_at: null + internal_identification: 9fa5fab9-e2b7-4bd7-8413-71ed9bb94b4c + public_identification_name: AGENCY/ACCOUNT + public_identification_value: 0009/7889044-1 + collected_at: '2022-04-06T23:30:51.282174+00:00' + statement: null + value_date: '2022-04-04' + current_balance: 4.25 + balance: 4.25 + OwnerBankingAccountPaginated: + summary: Banking + description: An example of a banking account owner. + value: + count: 108 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: b617120c-fbd0-4296-b03c-6473bbbeeee6 + link: c38fb126-fc98-4d6c-8c80-587a97dd56cf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + display_name: Maria Martinez Martin + first_name: null + last_name: null + second_last_name: null + email: maria@acme.com + phone_number: '90090508357' + address: |- + Retorno Gran Canaria 453 723 + Cancun, COL 10447 + document_id: + document_type: CPF + document_number: 235578435-S + internal_identification: null + OwnerBankingAccount: + summary: Banking + description: An example of a banking account owner. + value: + - id: 2b22f123-7c3a-4518-9ac2-863eb5d4613c + link: c38fb126-fc98-4d6c-8c80-587a97dd56cf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + display_name: Maria Martinez Martin + first_name: null + last_name: null + second_last_name: null + email: maria@acme.com + phone_number: '90090508357' + address: |- + Retorno Gran Canaria 453 723 + Cancun, COL 10447 + document_id: + document_type: CPF + document_number: 235578435-S + internal_identification: null + OwnerOfdaIndividual: + summary: Individual OFDA Brazil + description: Example of an individual (OFDA Brazil). + value: + - id: c749315b-eec2-435d-a458-06912878564f + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + display_name: Jack Oswald White + social_name: O Piadista + birth_date: '1988-07-15' + marital_status: SINGLE + marital_status_additional_info: It's complicated + gender: MALE + companies_id: + - '01773247000103' + is_local_resident: true + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: DRIVERS_LICENCE + type_additional_info: Learner's licence + number: DL-7896829-7 + check_digit: '7' + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + nationalities: + - info: CAN + documents: + - type: DRIVERS_LICENCE + number: DL-7896829-7 + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + filiations: + - type: MOTHER + civil_name: Bruce Wayne + social_name: The Dark Knight + financial_profile: + company_id: '50685362000135' + occuptation_code: BRAZIL_OCCUPATION_CODE + occupation_description: '01' + informed_income: + frequency: MONTHLY + amount: 45391.89 + currency: BRL + date: '2020-03-19' + patrimony: + amount: 45391.89 + currency: BRL + year: 2020 + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + product_services_additional_info: Joint account with Robin + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + OwnerOfdaBusiness: + summary: Business OFDA Brazil + description: Example of a business (OFDA Brazil). + value: + - id: c749315b-eec2-435d-a458-06912878564f + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + company_name: Wayne Enterprises + trade_name: WayneCorp + incorporation_date: '1988-07-15' + companies_id: + - '01773247000103' + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: EIN + number: DL-7896829-7 + expiration_date: '2019-01-01' + country_of_issuance: CAN + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + parties: + - person_type: INDIVIDUAL + type: MEMBER + display_name: Jack Oswald White + social_name: O Piadista + company_name: Wayne Enterprises + trade_name: WayneCorp + start_date: '2021-07-15' + percentage_type: 0.51 + document_type: CPF + document_number: DL-7896829-7 + document_issue_date: '2019-01-01' + document_expiration_date: '2019-01-01' + document_country: CAN + document_additional_info: Confirmed CPF with their driver's licence. + financial_profile: + economic_activities: + - is_main: true + code: '8599604' + informed_revenue: + frequency: MONTHLY + frequency_additional_info: Recently switched from weekly to monthly. + amount: 45391.89 + currency: BRL + year: 2022 + patrimony: + amount: 45391.89 + currency: BRL + date: '2022-12-12' + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + OwnerBankingAccountDetail: + summary: Banking + description: An example of a banking account owner. + value: + id: 2b22f123-7c3a-4518-9ac2-863eb5d4613c + link: c38fb126-fc98-4d6c-8c80-587a97dd56cf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + display_name: Maria Martinez Martin + first_name: null + last_name: null + second_last_name: null + email: maria@acme.com + phone_number: '90090508357' + address: |- + Retorno Gran Canaria 453 723 + Cancun, COL 10447 + document_id: + document_type: CPF + document_number: 235578435-S + internal_identification: null + OwnerOfdaIndividuaDetail: + summary: Individual OFDA Brazil + description: Example of an individual (OFDA Brazil). + value: + id: c749315b-eec2-435d-a458-06912878564f + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + display_name: Jack Oswald White + social_name: O Piadista + birth_date: '1988-07-15' + marital_status: SINGLE + marital_status_additional_info: It's complicated + gender: MALE + companies_id: + - '01773247000103' + is_local_resident: true + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: DRIVERS_LICENCE + type_additional_info: Learner's licence + number: DL-7896829-7 + check_digit: '7' + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + nationalities: + - info: CAN + documents: + - type: DRIVERS_LICENCE + number: DL-7896829-7 + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + filiations: + - type: MOTHER + civil_name: Bruce Wayne + social_name: The Dark Knight + financial_profile: + company_id: '50685362000135' + occuptation_code: BRAZIL_OCCUPATION_CODE + occupation_description: '01' + informed_income: + frequency: MONTHLY + amount: 45391.89 + currency: BRL + date: '2020-03-19' + patrimony: + amount: 45391.89 + currency: BRL + year: 2020 + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + product_services_additional_info: Joint account with Robin + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + OwnerOfdaBusinessDetail: + summary: Business OFDA Brazil + description: Example of a business (OFDA Brazil). + value: + id: c749315b-eec2-435d-a458-06912878564f + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + company_name: Wayne Enterprises + trade_name: WayneCorp + incorporation_date: '1988-07-15' + companies_id: + - '01773247000103' + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: EIN + number: DL-7896829-7 + expiration_date: '2019-01-01' + country_of_issuance: CAN + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + parties: + - person_type: INDIVIDUAL + type: MEMBER + display_name: Jack Oswald White + social_name: O Piadista + company_name: Wayne Enterprises + trade_name: WayneCorp + start_date: '2021-07-15' + percentage_type: 0.51 + document_type: CPF + document_number: DL-7896829-7 + document_issue_date: '2019-01-01' + document_expiration_date: '2019-01-01' + document_country: CAN + document_additional_info: Confirmed CPF with their driver's licence. + financial_profile: + economic_activities: + - is_main: true + code: '8599604' + informed_revenue: + frequency: MONTHLY + frequency_additional_info: Recently switched from weekly to monthly. + amount: 45391.89 + currency: BRL + year: 2022 + patrimony: + amount: 45391.89 + currency: BRL + date: '2022-12-12' + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + InvoiceIngresoPaginated: + summary: Invoice Ingreso + description: Example of an *Igreso* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Ingreso + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Servicios de mensajería. + product_identification: '78102206' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoicePagoPaginated: + summary: Invoice Pago + description: Example of a *Pago* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Pago + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago + product_identification: '84111506' + quantity: 1 + unit_amount: 0 + unit_code: ACT + unit_description: null + pre_tax_amount: 0 + tax_percentage: 0 + tax_amount: 0 + total_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: null + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: + - date: '2020-03-17T12:00:00.000Z' + payment_type: '03' + currency: BRL + exchange_rate: '3.75' + amount: 8000.5 + operation_number: '831840' + beneficiary_rfc: BNM840515VB1 + beneficiary_account_number: '12343453245633' + payer_rfc: BKJM840515VB1 + payer_account_number: '13343663245699' + payer_bank_name: CITI BANAMEX + related_documents: + - invoice_identification: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: MXN + payment_method: PPD + previous_balance: 18877.84 + amount_paid: 8000 + outstanding_balance: 10877.84 + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceNominaPaginated: + summary: Invoice Nomina + description: Example of a *Nomina* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Nómina + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: Roberto Martinez Diaz + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '99' + payment_type_description: null + payment_method: PUE + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago de nómina + product_identification: '84111505' + quantity: 1 + unit_code: ACT + unit_description: null + unit_amount: 20400.1 + total_amount: 20400.1 + pre_tax_amount: 20400.1 + tax_percentage: 0 + tax_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 20400.1 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 5000 + total_amount: 15400.1 + payments: [] + payroll: + days: 30 + type: O + amount: 20400.1 + date_to: '2020-12-31' + version: '1.2' + date_from: '2020-12-01' + collected_at: '2022-02-09T08:45:50.406032Z' + payment_date: '2020-12-24' + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceEgresoPaginated: + summary: Invoice Egreso + description: Example of an *Egreso* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Egreso + type: INFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - product_identification: '78111500' + description: Reembolso del servicio + unit_code: E48 + unit_description: Unidad de servicio + quantity: 1 + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceTrasladoPaginated: + summary: Invoice Traslado + description: Example of a *Traslado* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Traslado + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: CARGOS S.A. DE C.V. + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: FLETE + product_identification: '78101802' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 21000 + pre_tax_amount: 21000 + tax_percentage: 16 + tax_amount: 0 + total_amount: 21000 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceIngreso: + summary: Invoice Ingreso + description: Example of an *Igreso* type invoice. + value: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Ingreso + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Servicios de mensajería. + product_identification: '78102206' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoicePago: + summary: Invoice Pago + description: Example of a *Pago* type invoice. + value: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Pago + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago + product_identification: '84111506' + quantity: 1 + unit_amount: 0 + unit_code: ACT + unit_description: null + pre_tax_amount: 0 + tax_percentage: 0 + tax_amount: 0 + total_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: null + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: + - date: '2020-03-17T12:00:00.000Z' + payment_type: '03' + currency: BRL + exchange_rate: '3.75' + amount: 8000.5 + operation_number: '831840' + beneficiary_rfc: BNM840515VB1 + beneficiary_account_number: '12343453245633' + payer_rfc: BKJM840515VB1 + payer_account_number: '13343663245699' + payer_bank_name: CITI BANAMEX + related_documents: + - invoice_identification: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: MXN + payment_method: PPD + previous_balance: 18877.84 + amount_paid: 8000 + outstanding_balance: 10877.84 + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceNomina: + summary: Invoice Nomina + description: Example of a *Nomina* type invoice. + value: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Nómina + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: Roberto Martinez Diaz + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '99' + payment_type_description: null + payment_method: PUE + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago de nómina + product_identification: '84111505' + quantity: 1 + unit_code: ACT + unit_description: null + unit_amount: 20400.1 + total_amount: 20400.1 + pre_tax_amount: 20400.1 + tax_percentage: 0 + tax_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 20400.1 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 5000 + total_amount: 15400.1 + payments: [] + payroll: + days: 30 + type: O + amount: 20400.1 + date_to: '2020-12-31' + version: '1.2' + date_from: '2020-12-01' + collected_at: '2022-02-09T08:45:50.406032Z' + payment_date: '2020-12-24' + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceEgreso: + summary: Invoice Egreso + description: Example of an *Egreso* type invoice. + value: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Egreso + type: INFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - product_identification: '78111500' + description: Reembolso del servicio + unit_code: E48 + unit_description: Unidad de servicio + quantity: 1 + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceTraslado: + summary: Invoice Traslado + description: Example of a *Traslado* type invoice. + value: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Traslado + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: CARGOS S.A. DE C.V. + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: FLETE + product_identification: '78101802' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 21000 + pre_tax_amount: 21000 + tax_percentage: 16 + tax_amount: 0 + total_amount: 21000 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceIngresoDetail: + summary: Invoice Ingreso + description: Example of an *Igreso* type invoice. + value: + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Ingreso + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Servicios de mensajería. + product_identification: '78102206' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoicePagoDetail: + summary: Invoice Pago + description: Example of a *Pago* type invoice. + value: + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Pago + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago + product_identification: '84111506' + quantity: 1 + unit_amount: 0 + unit_code: ACT + unit_description: null + pre_tax_amount: 0 + tax_percentage: 0 + tax_amount: 0 + total_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: null + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: + - date: '2020-03-17T12:00:00.000Z' + payment_type: '03' + currency: BRL + exchange_rate: '3.75' + amount: 8000.5 + operation_number: '831840' + beneficiary_rfc: BNM840515VB1 + beneficiary_account_number: '12343453245633' + payer_rfc: BKJM840515VB1 + payer_account_number: '13343663245699' + payer_bank_name: CITI BANAMEX + related_documents: + - invoice_identification: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: MXN + payment_method: PPD + previous_balance: 18877.84 + amount_paid: 8000 + outstanding_balance: 10877.84 + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceNominaDetail: + summary: Invoice Nomina + description: Example of a *Nomina* type invoice. + value: + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Nómina + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: Roberto Martinez Diaz + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '99' + payment_type_description: null + payment_method: PUE + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago de nómina + product_identification: '84111505' + quantity: 1 + unit_code: ACT + unit_description: null + unit_amount: 20400.1 + total_amount: 20400.1 + pre_tax_amount: 20400.1 + tax_percentage: 0 + tax_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 20400.1 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 5000 + total_amount: 15400.1 + payments: [] + payroll: + days: 30 + type: O + amount: 20400.1 + date_to: '2020-12-31' + version: '1.2' + date_from: '2020-12-01' + collected_at: '2022-02-09T08:45:50.406032Z' + payment_date: '2020-12-24' + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceEgresoDetail: + summary: Invoice Egreso + description: Example of an *Egreso* type invoice. + value: + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Egreso + type: INFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - product_identification: '78111500' + description: Reembolso del servicio + unit_code: E48 + unit_description: Unidad de servicio + quantity: 1 + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceTrasladoDetail: + summary: Invoice Traslado + description: Example of a *Traslado* type invoice. + value: + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Traslado + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: CARGOS S.A. DE C.V. + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: FLETE + product_identification: '78101802' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 21000 + pre_tax_amount: 21000 + tax_percentage: 16 + tax_amount: 0 + total_amount: 21000 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + TaxReturnPersonalListPaginated: + summary: Tax Return Personal + description: Example of a list of personal tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T17:28:00-05:00' + numero_operacion: '00000000001' + periodo_declaracion: Del Ejercicio + rfc: ABCD111111A11 + tipo_declaracion: Normal + nombre: JOHN DOE + sueldos_salarios: + retenedores: + - rfc_retenedor: ABCD222222A22 + nombre_denominacion_razon_social: ACME CORP + ingresos_exentos: 118263 + ingreso_anual: 2265 + subsidio_empleo: 0 + impuesto_retenido: 19497 + ingreso_anual: 118263 + ingresos_acumulables: 115998 + ingresos_exentos: 2265 + subsidio_empleo: 0 + servicios_profesionales: + deducciones_autorizadas: + deducciones_autorizadas: 11870 + otras_deducciones: null + detalle_deducciones: + - tipo_deduccion: GASTOS + concepto: GASOLINA Y MANTENIMIENTO DE TRANSPORTE + monto_detallado: 9682 + - tipo_deduccion: GASTOS + concepto: COMPRAS Y GASTOS GENERALES + monto_detallado: 2188 + total_deducciones_autorizadas: 11870 + ingresos: + ingresos_acumulables: 46000 + ingresos_exentos: null + otros_ingresos: null + total_ingresos: 46000 + resultado_fiscal: + utilidad_fiscal: 34130 + ptu_pagada_ejercicio: 0 + perdidas_fiscales_ejercicios_anteriores_aplicadas: 0 + utilidad_gravable: 34130 + pagos_provisionales: + pagos_provisionales_efectuados_en_ejercicio: 0 + retenciones_isr: + isr_retenido_personas_morales: 4600 + deducciones_personales: + honorarios_medicos_dentales_hospitalarios: + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 1000 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 502.34 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A55 + monto_deducible: 14183.1 + - rfc_emisor: ABC444444A66 + monto_deducible: 1658 + - rfc_emisor: ABC444444A77 + monto_deducible: 1600 + - rfc_emisor: ABC444444A88 + monto_deducible: 1064 + - rfc_emisor: ABC444444A99 + monto_deducible: 927.57 + donativos: + - rfc_emisor: ABC555555A99 + monto_deducible: 10.03 + aportaciones_voluntarias_complementarias_al_sar: + - rfc_emisor: ABC666666A99 + monto_deducible: 12.03 + - rfc_emisor: ABC777777A99 + monto_deducible: 87.22 + primas_por_seguros_de_gasto_medico: + - rfc_emisor: ABC777777A99 + monto_deducible: 20.03 + determinacion_impuesto: + base_gravable: 126864 + deducciones_personales: 23264 + ingresos_acumulables: 150128 + isr_favorable: 10308 + isr_conforme_tarifa_final: 13789 + isr_retenido: 24097 + num_clabe: '000000000000000001' + nombre_banco: BANCO SA + pagos_provisionales: 0 + titular_clabe_permite_verificacion: SÍ + accion_saldo_a_favor: DEVOLUCIÓN + retenciones: + sueldos_salarios: + - rfc_retenedor: ABC444444A99 + monto_retenciones: 118263 + retenciones_isr: 19497 + dividendos: [] + servicios_profesionales: + - rfc_retenedor: ABC444444A00 + monto_retenciones: 46000 + retenciones_isr: 4600 + dividendos: + monto_acumulable_dividendos_utilidades: null + monto_total_isr_pagado_sociedad: null + datos_informativos: + credito_fiscal_autorizado_proyectos_investigacion_desarrollo: 0 + credito_fiscal_autorizado_proyectos_apoyo_deporte_alto_rendimiento: 0 + credito_fiscal_autorizado_proyectos_inversion_artes: 0 + credito_fiscal_autorizado_inversion_equipos_fijos: 0 + credito_fiscal_autorizado_produccion_distribucion_cinematografica: 0 + saldo_credito_fiscal_autorizado_anteriores_investigacion_desarrollo: 0 + saldo_credito_fiscal_anteriores_proyectos_inversion_artes: 0 + saldo_credito_fiscal_anteriores_produccion_distribucion_cinematografica: 0 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + type: yearly + TaxReturnPersonalListMonthlyPaginatedPFAE: + summary: Tax Return Personal Monthly (PFAe) + description: Example of a list of PFAE-type monthly personal tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListMonthlyPaginatedPFAI: + summary: Tax Return Personal Monthly (PFAI) + description: Example of a list of PFAI-type monthly personal tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + tipo_de_deduccíon: dedduccíon opicional + optas_por_el_cálculo_acumulado: 'NO' + deduccíon_opcional: 700 + impuesto_predial: 0 + total_deducciones_autorizadas: 700 + tienes_facilidades_administrativas_o_estímulos_deducibles: 'NO' + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + impuesto_a_cargo: 54 + cantidad_a_cargo: 54 + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnBusinessListPaginated: + summary: Tax Return Business + description: Example of a list of business tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T16:55:00-06:00' + numero_operacion: '000000000001' + periodo_declaracion: Del Ejercicio + rfc: ABC1111111A1 + tipo_declaracion: Normal + tipo_complementaria: null + denominacion_razon_social: ACME CORP + datos_adicionales: + indica_si_optas_por_dictaminar_tus_estados_financieros: 'NO' + estas_obligado_a_presentar_la_informacion_sobre_tu_situacion_fiscal: 'NO' + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero: SIN SELECCIÓN + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero_inferiores_100mdp: SIN SELECCIÓN + optas_por_presentar_informacion_sobre_tu_situacion_fiscal: SIN SELECCIÓN + indica_si_te_dedicas_exclisivamente_a_generacion_energia_fuentes_renovables_o_cogeneracion_electricidad_eficiente: 'NO' + estado_resultados: + ventas_servicios_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + ventas_servicios_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ingresos_netos: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + inventario_inicial: null + compras_netas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + compras_netas_importacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + inventario_final: null + costo_mercancias: null + mano_de_obra: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + maquilas: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + gastos_indirectos_fabricacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + costo_ventas_servicios: null + utilidad_bruta: 911165 + perdida_bruta: null + gastos_operacion: + partes_relacionadas: null + partes_no_relacionadas: 499540 + total: 499540 + utilidad_operacion: 411625 + perdida_operacion: null + intereses_devengados_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ganancia_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + perdida_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_favorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_desfavorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras: null + resultado_integral_financiamiento: null + otros_gastos_nacionales: null + otros_gastos_extranjero: null + otros_gastos: null + otros_productos_nacionales: null + otros_productos_extranjero: null + otros_productos: null + ingresos_partidas_discontinuas_extraordinarias: null + gastos_partidas_discontinuas_extraordinarias: null + utilidad_antes_impuesto: 411625 + perdida_antes_impuesto: null + isr: 113002 + ietu: null + impac: null + ptu: null + utilidad_participacion_subsidiaria: null + perdida_participacion_subsidiaria: null + efectos_reexpresion_favorables_excepto_resultado_posicion_monetaria: null + efectos_reexpresion_desfavorables_excepto_resultado_posicion_monetaria: null + utilidad_neta: 298623 + perdida_neta: null + estado_posicion_financiera_balance: + activo: + efectivo_caja_depositos_instituciones_credito_nacionales: 726644 + efectivo_caja_depositos_instituciones_credito_extranjero: null + inversiones_valores_instituciones_nacionales_excepto_acciones: null + inversiones_valores_instituciones_extranjero_excepto_acciones: null + cuentas_documentos_por_cobrar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + cuentas_documentos_por_cobrar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_a_favor: null + inventarios: null + otros_activos_circulantes: 13277 + inversiones_en_acciones_nacionales: null + inversiones_en_acciones_extranjero: null + inversiones_en_acciones_total: null + terrenos: null + construcciones: null + construcciones_en_proceso: null + maquinaria_y_equipo: null + mobiliario_y_equipo_oficina: null + equipo_de_computo: null + equipo_de_transporte: null + otros_activos_fijos: 12756 + depreciacion_acumulada: -106 + cargos_y_gastos_diferidos: 9319 + amortizacion_acumulada: null + suma_activo: 761890 + pasivo: + cuentas_documentos_por_pagar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 268227 + total: 268227 + cuentas_documentos_por_pagar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_por_pagar: 223490 + anticipos_de_clientes: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + aportaciones_futuros_aumentos_de_capital: null + otros_pasivos: null + suma_pasivo: 491717 + capital_contable: + capital_social_proveniente_aportaciones: 10000 + capital_social_proveniente_capitalizacion: null + reservas: null + otras_cuentas_capital: null + aportaciones_futuros_aumentos_de_capital: null + utilidades_acumuladas: null + utilidad_del_ejercicio: 298623 + perdidas_acumuladas: -38450 + perdida_del_ejercicio: null + exceso_en_actualizacion_capital: null + insuficiencia_en_actualizacion_capital: null + actualizacion_del_capital_contable: null + suma_capital_contable: 270173 + suma_pasivo_mas_capital_contable: 761890 + conciliacion_entre_resultado_contable_fiscal: + utilidad_o_perdida_neta: 298623 + efectos_reexpresion: null + resultado_posicion_monetaria: null + utilidad_o_perdida_neta_historica: 298623 + ingresos_fiscales_no_contables: 95 + ajuste_anual_inflacion_acumulable: 95 + anticipos_de_clientes: null + intereses_moratorios_efectivamente_cobrados: null + ganancia_en_enajenacion_acciones_por_reembolso_capital: null + ganancia_en_enajenacion_de_terrenos_y_activo_fijo: null + inventario_acumulable_del_ejercicio: null + otros_ingresos_fiscales_no_contables: null + deducciones_contables_no_fiscales: 117415 + costo_de_ventas_contable: null + depreciacion_y_amortizacion_contable: 106 + gastos_que_no_reunen_requisitos_fiscales: 4307 + isr_ietu_impac_ptu: 113002 + perdida_contable_enajenacion_de_acciones: null + perdida_contable_enajenacion_de_activo_fijo: null + perdida_en_participacion_subsidiaria: null + intereses_devengados_que_exceden_valor_mercado_y_moratorios_pagados_o_no: 0 + otras_deducciones_contables_no_fiscales: 0 + deducciones_fiscales_no_contables: 0 + ajuste_anual_inflacion_deducible: null + costo_vendido_fiscal: null + deduccion_inversiones: null + estimulo_fiscal_por_deduccion_inmediata_inversiones: null + donacion_bienes_basicos_subsistencia_humana: 0 + estimulo_fiscal_contratacion_personas_discapacidad_yo_mayores: 0 + deduccion_impuesto_sobre_renta_retenido_personas_discapacidad_yo_mayores: 0 + perdida_fiscal_en_enajenacion_acciones: null + perdida_fiscal_en_enajenacion_de_terrenos_y_activo_fijo: null + intereses_moratorios_efectivamente_pagados: null + otras_deducciones_fiscales_no_contables: null + ingresos_contables_no_fiscales: null + intereses_moratorios_devengados_a_favor_cobrados_o_no: null + anticipos_de_clientes_ejercicios_anteriores: null + saldos_a_favor_impuestos_y_su_actualizacion: null + utilidad_contable_enajenacion_de_activo_fijo: null + utilidad_contable_enajenacion_de_acciones: null + utilidad_en_participacion_subsidiaria: null + otros_ingresos_contables_no_fiscales: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416133 + deducciones_autorizadas: + sueldos_salarios: null + honorarios_pagados_a_personas_fisicas: null + regalias_y_asistencia_tecnica: null + donativos_otorgados: null + uso_o_goce_temporal_de_bienes_pagados_a_personas_fisicas: null + fletes_y_acarreos_pagados_a_parsonas_fisicas: null + contribuciones_pagadas_excepto_isr_ietu_impac_iva_ieps: null + seguros_fianzas: null + perdida_por_creditos_incobrables: null + viaticos_y_gastos_viaje: 59527 + combustible_y_lubricantes: null + credito_al_salario_no_disminuido_de_contribuciones: null + aportaciones_sar_infonavit_y_jubilaciones_vejez: null + aportaciones_para_fondos_de_pensiones_y_jubilaciones: null + cuotas_imss: null + consumos_en_restaurantes: 11254 + perdida_por_operaciones_financieras_derivadas: null + deduccion_por_concepto_de_ayuda_alimentaria_para_trabajadores: null + monto_total_pagos_que_sean_ingresos_exentos_para_trabajador: null + monto_deducible_al_47_pagos_son_ingresos_exentos_para_trabajador: null + monto_deducible_al_53_pagos_son_ingresos_exentos_para_trabajador: null + uso_o_goce_temporal_de_automoviles_baterias_electricas_o_electricos_con_motor_combustion_o_hidrogeno: null + otras_deducciones_autorizadas: 424346 + total_deducciones_autorizadas: 495127 + cifras_cierre_ejercicio: + perdidas_fiscales_de_ejercicios_anteriores_pendientes_de_amortizar_actualiazadas: null + saldo_promedio_anual_de_creditos: 142795 + saldo_promedio_anual_de_deudas: 144765 + coeficiente_de_utilidad_por_aplicar_en_ejercicio_siguiente: 0.4567 + porcentaje_de_participacion_consolidable: null + isr_causado_en_exceso_del_impac_en_los_3_ejercicios_anteriores_pendientes_aplicar: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_2013_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_a_partir_2014_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_reinvertida: null + saldo_actualizado_de_cuenta_de_capital_de_aportacion: null + saldo_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_renovables: null + determinacion_del_impuesto_sobre_la_renta: + determinacion_del_impuesto_sobre_la_renta: + total_ingresos_acumulables: 911260 + total_deducciones_autorizadas_y_deduccion_inmediata_inversiones: 495126 + deduccion_adicional_por_pago_servicios_personales_en_operacion_maquila: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416134 + ptu_pagada_en_el_ejercicio: null + utilidad_fiscal_del_ejercicio: 416134 + perdidas_fiscales_de_ejercicios_anteriores_que_se_aplican_en_ejercicio: 39462 + resultado_fiscal: 376672 + impuesto_causado_en_ejercicio: 113002 + tienes_estimulos_fiscales_a_acreditar: SIN SELECCIÓN + impuesto_sobre_la_renta_del_ejercicio: 113002 + pagos_provisionales_efectuados_enterados_a_federacion: null + impuesto_retenido_al_contribuyente: null + impuesto_acreditable_pagado_en_extranjero: null + impuesto_acreditable_por_dividendos_o_utilidades_distribuidos: null + otras_cantidades_a_cargo: null + otras_cantidades_a_favor: null + diferencia_a_cargo: 113002 + isr_a_cargo_del_ejercicio: 113002 + isr_a_favor_del_ejercicio: null + impuesto_sobre_ingresos_sujetos_a_regimenes_fiscales_preferentes: null + datos_informativos_ejercicio: + monto_aplicado_del_estimulo_fiscal_de_chatarrizacion: 0 + monto_deducible_de_pagos_efectuados_por_uso_o_goce_temporal_automoviles: 0 + impac_recuperado_en_ejercicio_derivado_de_deconsolidacion: 0 + ingresos_obtenidos_por_apoyos_gubernamentales: 0 + gastos_realidados_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_de_inversion_en_artes_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_inversion_en_proyectos_programas_para_deporte_de_alto_rendimiento_pendiente_aplicar: 0 + saldo_pendiente_aplicar_por_inversion_en_equipos_de_alimentacion_vehiculos_electricos: 0 + credito_fiscal_autorizado_en_ejercicio_a_produccion_distribucion_cinematografica_nacional_pendiente_aplicar: 0 + datos_informativos_ejercicios_anteriores_aplicados_en_ejercicio: + total_estimulo_produccion_y_distribucion_cinematografica_nacional_ejercicios_anteriores_aplicado_en_ejercicio: null + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_inversion_en_proyectos_programas_para_deporte_alto_rendimiento_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_inversion_artes_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_a_produccion_distribucion_nacional_pendiente_aplicar: 0 + dividendos_o_utilidades_distribuidos: + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_en_2013_y_anteriores: null + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_a_partir_de_2014: null + provenientes_de_cuenta_de_utilidad_fisica_neta_reinvertida_cufinre: null + no_provenientes_de_cufin_ni_cufinre_en_efectivo: null + no_provenientes_de_cufin_ni_cufinre_en_acciones: null + monto_del_impuesto_pagado_no_proveniente_de_cufin_ni_cufinre: null + monto_del_impuesto_pagado_de_utilidades_provenientes_de_cufinre: null + provenientes_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_energia_de_fuentes_renovables_o_sistemas_cogeneracion_electricidad_eficiente: null + detalle_pago_r1_isr_personas_morales: + a_cargo: 113002 + parte_actualizada: null + recargos: null + multa_por_correccion: null + total_contribuciones: 113002 + desea_aplicar_alguna_compensacion_o_estimulo: 'NO' + cantidad_a_cargo: 113002 + opta_por_pagar_parcialidades: SIN SELECCIÓN + importe_de_primera_parcialidad: null + importe_sin_primera_parcialidad: null + cantidad_a_favor: null + cantidad_a_pagar: 113002 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + type: yearly + TaxReturnBusinessListMonthlyPaginated: + summary: Tax Return Business Monthly + description: Example of a list of monthly business tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: DPA950805RR2 + denominacion_razon_social: Aloha Mahalo SC + tipo_declaracion: Normal + ejercicio: 2020 + periodo_declaracion: Diciembre + fecha_hora_presentacion: '2021-01-18T19:24:00-06:00' + numero_operacion: '400475119' + tipo_complementaria: null + determinacion_isr: + personas_morales_regimen_general: + suma_ingresos_nominales_meses_anteriores_ejercicio: 69848414 + estimulos_acreditables: null + ingresos_nominales_mes_que_declara: 6482479 + reducciones: null + total_ingresos_nominales: 76330893 + impuestos_del_periodo: 284098 + coeficiente_utilidad: 0.2318 + pagos_provisionales_efectuados_anterioridad: 303039 + utilidad_fiscal_pago_provisional: 17693501 + impuesto_retenido: 29925 + ptu: null + otras_cantidades_a_cargo_contribuyente: null + iventario_acumulable: null + otras_cantidades_a_favor_contribuyente: null + anticipos_rendimientos_distribuidos_periodo: 16746509 + diferencia_a_cargo: 0 + perdidas_fiscales_ejercicios_anteriores_pendientes: null + estimulo_fiscal_deduccion_inmediata: null + impuesto_correspondiente_participacion_consolidable: null + deduccion_adicional_fomento_primer_empleo: null + porcentaje_participacion_consolidable: null + base_gravable_pago_provisional: 946992 + impuesto_a_cargo: 0 + isr_causado: 284098 + ieps_alcohol: null + detalle_pago_isr: + r1_isr_personas_morales: + a_cargo: 0 + acreditamiento_sorteo_buen_fin: null + parte_actualizada: null + diesel_marino: null + recargos: null + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 0 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 0 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + uso_infraestructura_carretera_cuota: null + cantidad_a_pagar: 0 + otros_estimulos: null + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r12_isr_retenciones_por_salarios: + a_cargo: 415945 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 379 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 415945 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: 379 + cantidad_a_cargo: 415566 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 415566 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r13_isr_retenciones_por_asimilados_a_salarios: + a_cargo: 254588 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 254588 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 254588 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 254588 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r14_isr_retenciones_por_servicios_profesionales: + a_cargo: 104482 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 104482 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 104482 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 104482 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + determinacion_iva: + montos_actos_actividades_pagados: + total_actos_actividades_pagados_tasa_16: 2094706 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + total_actos_actividades_sujetos_estimulo_rfn: 0 + total_actos_actividades_pagados_tasa_0: 0 + total_actos_actividades_pagados_importacion_bienes_tasa_16: null + total_actos_actividades_pagados_no_paga_iva: 0 + detalle_total_actos_actividades_pagados_tasa_16: + intereses_pagados_tasa_16: null + otros_actos_pagados_tasa_16: 2094706 + regalias_pagadas_tasa_16: null + total_actos_pagados_tasa_16: 2094706 + determinacion_iva_acreditable: + total_iva_actos_actividades_pagados_tasa_16: 335153 + iva_trasladado_o_pagado_adquisicion_bienes_distintos_inversiones_actos_no_obligados_pago_impuesto: null + iva_pagado_sujeto_estimulo_rfn: null + iva_trasladado_o_pagado_importacion_inversiones_actos_no_obligados_pago_impuesto: null + total_actos_actividades_pagados_importacion_bienes_tasa_16: 0 + iva_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: 0 + proporcion_utilizada_conforme_art_5: null + total_iva_trasladado_contribuyente: 335153 + proporcion_utilizada_conforme_art_5_b: null + iva_trasladado_adquisicion_bienes_distintos_inversiones_actos_gravados: 335153 + iva_pagado_importacion_adquisicion_bienes_distintos_inversiones_actos_gravados: null + iva_acreditable: 335153 + monto_acreditable_actualizado_a_incrementar_derivado_ajuste: null + iva_pagado_importacion_inversiones_actos_gravados: null + total_iva_acreditable_periodo: 335153 + total_iva_actos_actividades_gravados: 335153 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + iva_trasladado_adquisicion_inversiones_actos_gravados: null + iva_acreditable_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: null + determinacion_iva: + valor_actos_actividades_gravados_tasa_16: 6457950 + otras_cantidades_a_favor_contribuyente: null + valor_actos_actividades_gravados_tasa_11: null + cantidad_a_cargo: 312421 + valor_actos_actividades_gravados_tasa_0_exportacion: null + saldo_a_favor: null + valor_actos_actividades_gravados_tasa_9_otros: null + devolucion_inmediata_obtenida: null + suma_actos_actividades_gravados: 6457950 + saldo_a_favor_periodo: 0 + valor_actos_actividades_no_se_deba_pagar_impuesto_exentos: null + acreditamiento_saldo_favor_periodos_anteriores: null + impuesto_causado: 1033272 + diferencia_a_cargo: 312421 + cantidad_actualizada_a_reintegrarse_derivada_de_ajuste: null + ieps_acreditable_alcohol: null + iva_retenido_al_contribuyente: 385698 + impuesto_a_cargo: 312421 + total_iva_acreditable: 335153 + remanente_saldo_favor_ieps_alcohol: null + otras_cantidades_a_cargo_contribuyente: null + detalle_valor_actos_actividades_gravados_tasa_16: + intereses_cobrados_tasa_16: null + otros_actos_actividades_gravados_tasa_16: 6457950 + regalias_entre_partes_relacionadas_tasa_16: null + total_actos_actividades_gravados_tasa_16: 6457950 + detalle_pago_iva: + r21_iva: + a_cargo: 312421 + cretificados_tesofe: null + a_favor: null + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 312421 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 312421 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + diesel_automotriz_transporte: null + uso_infraestructura_carretera_cuota: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 312421 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r21_iva_retenciones: + a_cargo: 111448 + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 111448 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 111448 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + otros_estimulos: null + cantidad_a_favor: null + cretificados_tesofe: null + cantidad_a_pagar: 111448 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalList: + summary: Tax Return Personal + description: Example of a list of personal tax returns + value: + - id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T17:28:00-05:00' + numero_operacion: '00000000001' + periodo_declaracion: Del Ejercicio + rfc: ABCD111111A11 + tipo_declaracion: Normal + nombre: JOHN DOE + sueldos_salarios: + retenedores: + - rfc_retenedor: ABCD222222A22 + nombre_denominacion_razon_social: ACME CORP + ingresos_exentos: 118263 + ingreso_anual: 2265 + subsidio_empleo: 0 + impuesto_retenido: 19497 + ingreso_anual: 118263 + ingresos_acumulables: 115998 + ingresos_exentos: 2265 + subsidio_empleo: 0 + servicios_profesionales: + deducciones_autorizadas: + deducciones_autorizadas: 11870 + otras_deducciones: null + detalle_deducciones: + - tipo_deduccion: GASTOS + concepto: GASOLINA Y MANTENIMIENTO DE TRANSPORTE + monto_detallado: 9682 + - tipo_deduccion: GASTOS + concepto: COMPRAS Y GASTOS GENERALES + monto_detallado: 2188 + total_deducciones_autorizadas: 11870 + ingresos: + ingresos_acumulables: 46000 + ingresos_exentos: null + otros_ingresos: null + total_ingresos: 46000 + resultado_fiscal: + utilidad_fiscal: 34130 + ptu_pagada_ejercicio: 0 + perdidas_fiscales_ejercicios_anteriores_aplicadas: 0 + utilidad_gravable: 34130 + pagos_provisionales: + pagos_provisionales_efectuados_en_ejercicio: 0 + retenciones_isr: + isr_retenido_personas_morales: 4600 + deducciones_personales: + honorarios_medicos_dentales_hospitalarios: + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 1000 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 502.34 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A55 + monto_deducible: 14183.1 + - rfc_emisor: ABC444444A66 + monto_deducible: 1658 + - rfc_emisor: ABC444444A77 + monto_deducible: 1600 + - rfc_emisor: ABC444444A88 + monto_deducible: 1064 + - rfc_emisor: ABC444444A99 + monto_deducible: 927.57 + donativos: + - rfc_emisor: ABC555555A99 + monto_deducible: 10.03 + aportaciones_voluntarias_complementarias_al_sar: + - rfc_emisor: ABC666666A99 + monto_deducible: 12.03 + - rfc_emisor: ABC777777A99 + monto_deducible: 87.22 + primas_por_seguros_de_gasto_medico: + - rfc_emisor: ABC777777A99 + monto_deducible: 20.03 + determinacion_impuesto: + base_gravable: 126864 + deducciones_personales: 23264 + ingresos_acumulables: 150128 + isr_favorable: 10308 + isr_conforme_tarifa_final: 13789 + isr_retenido: 24097 + num_clabe: '000000000000000001' + nombre_banco: BANCO SA + pagos_provisionales: 0 + titular_clabe_permite_verificacion: SÍ + accion_saldo_a_favor: DEVOLUCIÓN + retenciones: + sueldos_salarios: + - rfc_retenedor: ABC444444A99 + monto_retenciones: 118263 + retenciones_isr: 19497 + dividendos: [] + servicios_profesionales: + - rfc_retenedor: ABC444444A00 + monto_retenciones: 46000 + retenciones_isr: 4600 + dividendos: + monto_acumulable_dividendos_utilidades: null + monto_total_isr_pagado_sociedad: null + datos_informativos: + credito_fiscal_autorizado_proyectos_investigacion_desarrollo: 0 + credito_fiscal_autorizado_proyectos_apoyo_deporte_alto_rendimiento: 0 + credito_fiscal_autorizado_proyectos_inversion_artes: 0 + credito_fiscal_autorizado_inversion_equipos_fijos: 0 + credito_fiscal_autorizado_produccion_distribucion_cinematografica: 0 + saldo_credito_fiscal_autorizado_anteriores_investigacion_desarrollo: 0 + saldo_credito_fiscal_anteriores_proyectos_inversion_artes: 0 + saldo_credito_fiscal_anteriores_produccion_distribucion_cinematografica: 0 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnPersonalListMonthlyPFAE: + summary: Tax Return Personal Monthly (PFAE) + description: Example of a PFAE-type monthly personal tax return + value: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListMonthlyPFAI: + summary: Tax Return Personal Monthly (PFAI) + description: Example of a PFAI-type monthly personal tax return + value: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + tipo_de_deduccíon: dedduccíon opicional + optas_por_el_cálculo_acumulado: 'NO' + deduccíon_opcional: 700 + impuesto_predial: 0 + total_deducciones_autorizadas: 700 + tienes_facilidades_administrativas_o_estímulos_deducibles: 'NO' + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + impuesto_a_cargo: 54 + cantidad_a_cargo: 54 + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnBusinessList: + summary: Tax Return Business + description: Example of a list of business tax returns + value: + - id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T16:55:00-06:00' + numero_operacion: '000000000001' + periodo_declaracion: Del Ejercicio + rfc: ABC1111111A1 + tipo_declaracion: Normal + tipo_complementaria: null + denominacion_razon_social: ACME CORP + datos_adicionales: + indica_si_optas_por_dictaminar_tus_estados_financieros: 'NO' + estas_obligado_a_presentar_la_informacion_sobre_tu_situacion_fiscal: 'NO' + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero: SIN SELECCIÓN + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero_inferiores_100mdp: SIN SELECCIÓN + optas_por_presentar_informacion_sobre_tu_situacion_fiscal: SIN SELECCIÓN + indica_si_te_dedicas_exclisivamente_a_generacion_energia_fuentes_renovables_o_cogeneracion_electricidad_eficiente: 'NO' + estado_resultados: + ventas_servicios_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + ventas_servicios_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ingresos_netos: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + inventario_inicial: null + compras_netas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + compras_netas_importacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + inventario_final: null + costo_mercancias: null + mano_de_obra: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + maquilas: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + gastos_indirectos_fabricacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + costo_ventas_servicios: null + utilidad_bruta: 911165 + perdida_bruta: null + gastos_operacion: + partes_relacionadas: null + partes_no_relacionadas: 499540 + total: 499540 + utilidad_operacion: 411625 + perdida_operacion: null + intereses_devengados_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ganancia_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + perdida_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_favorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_desfavorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras: null + resultado_integral_financiamiento: null + otros_gastos_nacionales: null + otros_gastos_extranjero: null + otros_gastos: null + otros_productos_nacionales: null + otros_productos_extranjero: null + otros_productos: null + ingresos_partidas_discontinuas_extraordinarias: null + gastos_partidas_discontinuas_extraordinarias: null + utilidad_antes_impuesto: 411625 + perdida_antes_impuesto: null + isr: 113002 + ietu: null + impac: null + ptu: null + utilidad_participacion_subsidiaria: null + perdida_participacion_subsidiaria: null + efectos_reexpresion_favorables_excepto_resultado_posicion_monetaria: null + efectos_reexpresion_desfavorables_excepto_resultado_posicion_monetaria: null + utilidad_neta: 298623 + perdida_neta: null + estado_posicion_financiera_balance: + activo: + efectivo_caja_depositos_instituciones_credito_nacionales: 726644 + efectivo_caja_depositos_instituciones_credito_extranjero: null + inversiones_valores_instituciones_nacionales_excepto_acciones: null + inversiones_valores_instituciones_extranjero_excepto_acciones: null + cuentas_documentos_por_cobrar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + cuentas_documentos_por_cobrar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_a_favor: null + inventarios: null + otros_activos_circulantes: 13277 + inversiones_en_acciones_nacionales: null + inversiones_en_acciones_extranjero: null + inversiones_en_acciones_total: null + terrenos: null + construcciones: null + construcciones_en_proceso: null + maquinaria_y_equipo: null + mobiliario_y_equipo_oficina: null + equipo_de_computo: null + equipo_de_transporte: null + otros_activos_fijos: 12756 + depreciacion_acumulada: -106 + cargos_y_gastos_diferidos: 9319 + amortizacion_acumulada: null + suma_activo: 761890 + pasivo: + cuentas_documentos_por_pagar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 268227 + total: 268227 + cuentas_documentos_por_pagar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_por_pagar: 223490 + anticipos_de_clientes: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + aportaciones_futuros_aumentos_de_capital: null + otros_pasivos: null + suma_pasivo: 491717 + capital_contable: + capital_social_proveniente_aportaciones: 10000 + capital_social_proveniente_capitalizacion: null + reservas: null + otras_cuentas_capital: null + aportaciones_futuros_aumentos_de_capital: null + utilidades_acumuladas: null + utilidad_del_ejercicio: 298623 + perdidas_acumuladas: -38450 + perdida_del_ejercicio: null + exceso_en_actualizacion_capital: null + insuficiencia_en_actualizacion_capital: null + actualizacion_del_capital_contable: null + suma_capital_contable: 270173 + suma_pasivo_mas_capital_contable: 761890 + conciliacion_entre_resultado_contable_fiscal: + utilidad_o_perdida_neta: 298623 + efectos_reexpresion: null + resultado_posicion_monetaria: null + utilidad_o_perdida_neta_historica: 298623 + ingresos_fiscales_no_contables: 95 + ajuste_anual_inflacion_acumulable: 95 + anticipos_de_clientes: null + intereses_moratorios_efectivamente_cobrados: null + ganancia_en_enajenacion_acciones_por_reembolso_capital: null + ganancia_en_enajenacion_de_terrenos_y_activo_fijo: null + inventario_acumulable_del_ejercicio: null + otros_ingresos_fiscales_no_contables: null + deducciones_contables_no_fiscales: 117415 + costo_de_ventas_contable: null + depreciacion_y_amortizacion_contable: 106 + gastos_que_no_reunen_requisitos_fiscales: 4307 + isr_ietu_impac_ptu: 113002 + perdida_contable_enajenacion_de_acciones: null + perdida_contable_enajenacion_de_activo_fijo: null + perdida_en_participacion_subsidiaria: null + intereses_devengados_que_exceden_valor_mercado_y_moratorios_pagados_o_no: 0 + otras_deducciones_contables_no_fiscales: 0 + deducciones_fiscales_no_contables: 0 + ajuste_anual_inflacion_deducible: null + costo_vendido_fiscal: null + deduccion_inversiones: null + estimulo_fiscal_por_deduccion_inmediata_inversiones: null + donacion_bienes_basicos_subsistencia_humana: 0 + estimulo_fiscal_contratacion_personas_discapacidad_yo_mayores: 0 + deduccion_impuesto_sobre_renta_retenido_personas_discapacidad_yo_mayores: 0 + perdida_fiscal_en_enajenacion_acciones: null + perdida_fiscal_en_enajenacion_de_terrenos_y_activo_fijo: null + intereses_moratorios_efectivamente_pagados: null + otras_deducciones_fiscales_no_contables: null + ingresos_contables_no_fiscales: null + intereses_moratorios_devengados_a_favor_cobrados_o_no: null + anticipos_de_clientes_ejercicios_anteriores: null + saldos_a_favor_impuestos_y_su_actualizacion: null + utilidad_contable_enajenacion_de_activo_fijo: null + utilidad_contable_enajenacion_de_acciones: null + utilidad_en_participacion_subsidiaria: null + otros_ingresos_contables_no_fiscales: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416133 + deducciones_autorizadas: + sueldos_salarios: null + honorarios_pagados_a_personas_fisicas: null + regalias_y_asistencia_tecnica: null + donativos_otorgados: null + uso_o_goce_temporal_de_bienes_pagados_a_personas_fisicas: null + fletes_y_acarreos_pagados_a_parsonas_fisicas: null + contribuciones_pagadas_excepto_isr_ietu_impac_iva_ieps: null + seguros_fianzas: null + perdida_por_creditos_incobrables: null + viaticos_y_gastos_viaje: 59527 + combustible_y_lubricantes: null + credito_al_salario_no_disminuido_de_contribuciones: null + aportaciones_sar_infonavit_y_jubilaciones_vejez: null + aportaciones_para_fondos_de_pensiones_y_jubilaciones: null + cuotas_imss: null + consumos_en_restaurantes: 11254 + perdida_por_operaciones_financieras_derivadas: null + deduccion_por_concepto_de_ayuda_alimentaria_para_trabajadores: null + monto_total_pagos_que_sean_ingresos_exentos_para_trabajador: null + monto_deducible_al_47_pagos_son_ingresos_exentos_para_trabajador: null + monto_deducible_al_53_pagos_son_ingresos_exentos_para_trabajador: null + uso_o_goce_temporal_de_automoviles_baterias_electricas_o_electricos_con_motor_combustion_o_hidrogeno: null + otras_deducciones_autorizadas: 424346 + total_deducciones_autorizadas: 495127 + cifras_cierre_ejercicio: + perdidas_fiscales_de_ejercicios_anteriores_pendientes_de_amortizar_actualiazadas: null + saldo_promedio_anual_de_creditos: 142795 + saldo_promedio_anual_de_deudas: 144765 + coeficiente_de_utilidad_por_aplicar_en_ejercicio_siguiente: 0.4567 + porcentaje_de_participacion_consolidable: null + isr_causado_en_exceso_del_impac_en_los_3_ejercicios_anteriores_pendientes_aplicar: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_2013_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_a_partir_2014_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_reinvertida: null + saldo_actualizado_de_cuenta_de_capital_de_aportacion: null + saldo_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_renovables: null + determinacion_del_impuesto_sobre_la_renta: + determinacion_del_impuesto_sobre_la_renta: + total_ingresos_acumulables: 911260 + total_deducciones_autorizadas_y_deduccion_inmediata_inversiones: 495126 + deduccion_adicional_por_pago_servicios_personales_en_operacion_maquila: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416134 + ptu_pagada_en_el_ejercicio: null + utilidad_fiscal_del_ejercicio: 416134 + perdidas_fiscales_de_ejercicios_anteriores_que_se_aplican_en_ejercicio: 39462 + resultado_fiscal: 376672 + impuesto_causado_en_ejercicio: 113002 + tienes_estimulos_fiscales_a_acreditar: SIN SELECCIÓN + impuesto_sobre_la_renta_del_ejercicio: 113002 + pagos_provisionales_efectuados_enterados_a_federacion: null + impuesto_retenido_al_contribuyente: null + impuesto_acreditable_pagado_en_extranjero: null + impuesto_acreditable_por_dividendos_o_utilidades_distribuidos: null + otras_cantidades_a_cargo: null + otras_cantidades_a_favor: null + diferencia_a_cargo: 113002 + isr_a_cargo_del_ejercicio: 113002 + isr_a_favor_del_ejercicio: null + impuesto_sobre_ingresos_sujetos_a_regimenes_fiscales_preferentes: null + datos_informativos_ejercicio: + monto_aplicado_del_estimulo_fiscal_de_chatarrizacion: 0 + monto_deducible_de_pagos_efectuados_por_uso_o_goce_temporal_automoviles: 0 + impac_recuperado_en_ejercicio_derivado_de_deconsolidacion: 0 + ingresos_obtenidos_por_apoyos_gubernamentales: 0 + gastos_realidados_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_de_inversion_en_artes_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_inversion_en_proyectos_programas_para_deporte_de_alto_rendimiento_pendiente_aplicar: 0 + saldo_pendiente_aplicar_por_inversion_en_equipos_de_alimentacion_vehiculos_electricos: 0 + credito_fiscal_autorizado_en_ejercicio_a_produccion_distribucion_cinematografica_nacional_pendiente_aplicar: 0 + datos_informativos_ejercicios_anteriores_aplicados_en_ejercicio: + total_estimulo_produccion_y_distribucion_cinematografica_nacional_ejercicios_anteriores_aplicado_en_ejercicio: null + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_inversion_en_proyectos_programas_para_deporte_alto_rendimiento_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_inversion_artes_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_a_produccion_distribucion_nacional_pendiente_aplicar: 0 + dividendos_o_utilidades_distribuidos: + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_en_2013_y_anteriores: null + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_a_partir_de_2014: null + provenientes_de_cuenta_de_utilidad_fisica_neta_reinvertida_cufinre: null + no_provenientes_de_cufin_ni_cufinre_en_efectivo: null + no_provenientes_de_cufin_ni_cufinre_en_acciones: null + monto_del_impuesto_pagado_no_proveniente_de_cufin_ni_cufinre: null + monto_del_impuesto_pagado_de_utilidades_provenientes_de_cufinre: null + provenientes_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_energia_de_fuentes_renovables_o_sistemas_cogeneracion_electricidad_eficiente: null + detalle_pago_r1_isr_personas_morales: + a_cargo: 113002 + parte_actualizada: null + recargos: null + multa_por_correccion: null + total_contribuciones: 113002 + desea_aplicar_alguna_compensacion_o_estimulo: 'NO' + cantidad_a_cargo: 113002 + opta_por_pagar_parcialidades: SIN SELECCIÓN + importe_de_primera_parcialidad: null + importe_sin_primera_parcialidad: null + cantidad_a_favor: null + cantidad_a_pagar: 113002 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnBusinessListMonthly: + summary: Tax Return Business Monthly + description: Example of a monthly business tax return + value: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: DPA950805RR2 + denominacion_razon_social: Aloha Mahalo SC + tipo_declaracion: Normal + ejercicio: 2020 + periodo_declaracion: Diciembre + fecha_hora_presentacion: '2021-01-18T19:24:00-06:00' + numero_operacion: '400475119' + tipo_complementaria: null + determinacion_isr: + personas_morales_regimen_general: + suma_ingresos_nominales_meses_anteriores_ejercicio: 69848414 + estimulos_acreditables: null + ingresos_nominales_mes_que_declara: 6482479 + reducciones: null + total_ingresos_nominales: 76330893 + impuestos_del_periodo: 284098 + coeficiente_utilidad: 0.2318 + pagos_provisionales_efectuados_anterioridad: 303039 + utilidad_fiscal_pago_provisional: 17693501 + impuesto_retenido: 29925 + ptu: null + otras_cantidades_a_cargo_contribuyente: null + iventario_acumulable: null + otras_cantidades_a_favor_contribuyente: null + anticipos_rendimientos_distribuidos_periodo: 16746509 + diferencia_a_cargo: 0 + perdidas_fiscales_ejercicios_anteriores_pendientes: null + estimulo_fiscal_deduccion_inmediata: null + impuesto_correspondiente_participacion_consolidable: null + deduccion_adicional_fomento_primer_empleo: null + porcentaje_participacion_consolidable: null + base_gravable_pago_provisional: 946992 + impuesto_a_cargo: 0 + isr_causado: 284098 + ieps_alcohol: null + detalle_pago_isr: + r1_isr_personas_morales: + a_cargo: 0 + acreditamiento_sorteo_buen_fin: null + parte_actualizada: null + diesel_marino: null + recargos: null + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 0 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 0 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + uso_infraestructura_carretera_cuota: null + cantidad_a_pagar: 0 + otros_estimulos: null + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r12_isr_retenciones_por_salarios: + a_cargo: 415945 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 379 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 415945 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: 379 + cantidad_a_cargo: 415566 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 415566 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r13_isr_retenciones_por_asimilados_a_salarios: + a_cargo: 254588 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 254588 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 254588 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 254588 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r14_isr_retenciones_por_servicios_profesionales: + a_cargo: 104482 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 104482 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 104482 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 104482 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + determinacion_iva: + montos_actos_actividades_pagados: + total_actos_actividades_pagados_tasa_16: 2094706 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + total_actos_actividades_sujetos_estimulo_rfn: 0 + total_actos_actividades_pagados_tasa_0: 0 + total_actos_actividades_pagados_importacion_bienes_tasa_16: null + total_actos_actividades_pagados_no_paga_iva: 0 + detalle_total_actos_actividades_pagados_tasa_16: + intereses_pagados_tasa_16: null + otros_actos_pagados_tasa_16: 2094706 + regalias_pagadas_tasa_16: null + total_actos_pagados_tasa_16: 2094706 + determinacion_iva_acreditable: + total_iva_actos_actividades_pagados_tasa_16: 335153 + iva_trasladado_o_pagado_adquisicion_bienes_distintos_inversiones_actos_no_obligados_pago_impuesto: null + iva_pagado_sujeto_estimulo_rfn: null + iva_trasladado_o_pagado_importacion_inversiones_actos_no_obligados_pago_impuesto: null + total_actos_actividades_pagados_importacion_bienes_tasa_16: 0 + iva_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: 0 + proporcion_utilizada_conforme_art_5: null + total_iva_trasladado_contribuyente: 335153 + proporcion_utilizada_conforme_art_5_b: null + iva_trasladado_adquisicion_bienes_distintos_inversiones_actos_gravados: 335153 + iva_pagado_importacion_adquisicion_bienes_distintos_inversiones_actos_gravados: null + iva_acreditable: 335153 + monto_acreditable_actualizado_a_incrementar_derivado_ajuste: null + iva_pagado_importacion_inversiones_actos_gravados: null + total_iva_acreditable_periodo: 335153 + total_iva_actos_actividades_gravados: 335153 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + iva_trasladado_adquisicion_inversiones_actos_gravados: null + iva_acreditable_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: null + determinacion_iva: + valor_actos_actividades_gravados_tasa_16: 6457950 + otras_cantidades_a_favor_contribuyente: null + valor_actos_actividades_gravados_tasa_11: null + cantidad_a_cargo: 312421 + valor_actos_actividades_gravados_tasa_0_exportacion: null + saldo_a_favor: null + valor_actos_actividades_gravados_tasa_9_otros: null + devolucion_inmediata_obtenida: null + suma_actos_actividades_gravados: 6457950 + saldo_a_favor_periodo: 0 + valor_actos_actividades_no_se_deba_pagar_impuesto_exentos: null + acreditamiento_saldo_favor_periodos_anteriores: null + impuesto_causado: 1033272 + diferencia_a_cargo: 312421 + cantidad_actualizada_a_reintegrarse_derivada_de_ajuste: null + ieps_acreditable_alcohol: null + iva_retenido_al_contribuyente: 385698 + impuesto_a_cargo: 312421 + total_iva_acreditable: 335153 + remanente_saldo_favor_ieps_alcohol: null + otras_cantidades_a_cargo_contribuyente: null + detalle_valor_actos_actividades_gravados_tasa_16: + intereses_cobrados_tasa_16: null + otros_actos_actividades_gravados_tasa_16: 6457950 + regalias_entre_partes_relacionadas_tasa_16: null + total_actos_actividades_gravados_tasa_16: 6457950 + detalle_pago_iva: + r21_iva: + a_cargo: 312421 + cretificados_tesofe: null + a_favor: null + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 312421 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 312421 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + diesel_automotriz_transporte: null + uso_infraestructura_carretera_cuota: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 312421 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r21_iva_retenciones: + a_cargo: 111448 + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 111448 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 111448 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + otros_estimulos: null + cantidad_a_favor: null + cretificados_tesofe: null + cantidad_a_pagar: 111448 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListDetail: + summary: Tax Return Personal + description: Example of a list of personal tax returns + value: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T17:28:00-05:00' + numero_operacion: '00000000001' + periodo_declaracion: Del Ejercicio + rfc: ABCD111111A11 + tipo_declaracion: Normal + nombre: JOHN DOE + sueldos_salarios: + retenedores: + - rfc_retenedor: ABCD222222A22 + nombre_denominacion_razon_social: ACME CORP + ingresos_exentos: 118263 + ingreso_anual: 2265 + subsidio_empleo: 0 + impuesto_retenido: 19497 + ingreso_anual: 118263 + ingresos_acumulables: 115998 + ingresos_exentos: 2265 + subsidio_empleo: 0 + servicios_profesionales: + deducciones_autorizadas: + deducciones_autorizadas: 11870 + otras_deducciones: null + detalle_deducciones: + - tipo_deduccion: GASTOS + concepto: GASOLINA Y MANTENIMIENTO DE TRANSPORTE + monto_detallado: 9682 + - tipo_deduccion: GASTOS + concepto: COMPRAS Y GASTOS GENERALES + monto_detallado: 2188 + total_deducciones_autorizadas: 11870 + ingresos: + ingresos_acumulables: 46000 + ingresos_exentos: null + otros_ingresos: null + total_ingresos: 46000 + resultado_fiscal: + utilidad_fiscal: 34130 + ptu_pagada_ejercicio: 0 + perdidas_fiscales_ejercicios_anteriores_aplicadas: 0 + utilidad_gravable: 34130 + pagos_provisionales: + pagos_provisionales_efectuados_en_ejercicio: 0 + retenciones_isr: + isr_retenido_personas_morales: 4600 + deducciones_personales: + honorarios_medicos_dentales_hospitalarios: + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 1000 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 502.34 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A55 + monto_deducible: 14183.1 + - rfc_emisor: ABC444444A66 + monto_deducible: 1658 + - rfc_emisor: ABC444444A77 + monto_deducible: 1600 + - rfc_emisor: ABC444444A88 + monto_deducible: 1064 + - rfc_emisor: ABC444444A99 + monto_deducible: 927.57 + donativos: + - rfc_emisor: ABC555555A99 + monto_deducible: 10.03 + aportaciones_voluntarias_complementarias_al_sar: + - rfc_emisor: ABC666666A99 + monto_deducible: 12.03 + - rfc_emisor: ABC777777A99 + monto_deducible: 87.22 + primas_por_seguros_de_gasto_medico: + - rfc_emisor: ABC777777A99 + monto_deducible: 20.03 + determinacion_impuesto: + base_gravable: 126864 + deducciones_personales: 23264 + ingresos_acumulables: 150128 + isr_favorable: 10308 + isr_conforme_tarifa_final: 13789 + isr_retenido: 24097 + num_clabe: '000000000000000001' + nombre_banco: BANCO SA + pagos_provisionales: 0 + titular_clabe_permite_verificacion: SÍ + accion_saldo_a_favor: DEVOLUCIÓN + retenciones: + sueldos_salarios: + - rfc_retenedor: ABC444444A99 + monto_retenciones: 118263 + retenciones_isr: 19497 + dividendos: [] + servicios_profesionales: + - rfc_retenedor: ABC444444A00 + monto_retenciones: 46000 + retenciones_isr: 4600 + dividendos: + monto_acumulable_dividendos_utilidades: null + monto_total_isr_pagado_sociedad: null + datos_informativos: + credito_fiscal_autorizado_proyectos_investigacion_desarrollo: 0 + credito_fiscal_autorizado_proyectos_apoyo_deporte_alto_rendimiento: 0 + credito_fiscal_autorizado_proyectos_inversion_artes: 0 + credito_fiscal_autorizado_inversion_equipos_fijos: 0 + credito_fiscal_autorizado_produccion_distribucion_cinematografica: 0 + saldo_credito_fiscal_autorizado_anteriores_investigacion_desarrollo: 0 + saldo_credito_fiscal_anteriores_proyectos_inversion_artes: 0 + saldo_credito_fiscal_anteriores_produccion_distribucion_cinematografica: 0 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnPersonalListMonthlyPFAEDetail: + summary: Tax Return Personal Monthly (PFAE) + description: Example of a PFAE-type monthly personal tax return + value: + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListMonthlyPFAIDetail: + summary: Tax Return Personal Monthly (PFAI) + description: Example of a PFAI-type monthly personal tax return + value: + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + tipo_de_deduccíon: dedduccíon opicional + optas_por_el_cálculo_acumulado: 'NO' + deduccíon_opcional: 700 + impuesto_predial: 0 + total_deducciones_autorizadas: 700 + tienes_facilidades_administrativas_o_estímulos_deducibles: 'NO' + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + impuesto_a_cargo: 54 + cantidad_a_cargo: 54 + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnBusinessListDetail: + summary: Tax Return Business + description: Example of a list of business tax returns + value: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T16:55:00-06:00' + numero_operacion: '000000000001' + periodo_declaracion: Del Ejercicio + rfc: ABC1111111A1 + tipo_declaracion: Normal + tipo_complementaria: null + denominacion_razon_social: ACME CORP + datos_adicionales: + indica_si_optas_por_dictaminar_tus_estados_financieros: 'NO' + estas_obligado_a_presentar_la_informacion_sobre_tu_situacion_fiscal: 'NO' + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero: SIN SELECCIÓN + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero_inferiores_100mdp: SIN SELECCIÓN + optas_por_presentar_informacion_sobre_tu_situacion_fiscal: SIN SELECCIÓN + indica_si_te_dedicas_exclisivamente_a_generacion_energia_fuentes_renovables_o_cogeneracion_electricidad_eficiente: 'NO' + estado_resultados: + ventas_servicios_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + ventas_servicios_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ingresos_netos: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + inventario_inicial: null + compras_netas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + compras_netas_importacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + inventario_final: null + costo_mercancias: null + mano_de_obra: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + maquilas: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + gastos_indirectos_fabricacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + costo_ventas_servicios: null + utilidad_bruta: 911165 + perdida_bruta: null + gastos_operacion: + partes_relacionadas: null + partes_no_relacionadas: 499540 + total: 499540 + utilidad_operacion: 411625 + perdida_operacion: null + intereses_devengados_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ganancia_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + perdida_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_favorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_desfavorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras: null + resultado_integral_financiamiento: null + otros_gastos_nacionales: null + otros_gastos_extranjero: null + otros_gastos: null + otros_productos_nacionales: null + otros_productos_extranjero: null + otros_productos: null + ingresos_partidas_discontinuas_extraordinarias: null + gastos_partidas_discontinuas_extraordinarias: null + utilidad_antes_impuesto: 411625 + perdida_antes_impuesto: null + isr: 113002 + ietu: null + impac: null + ptu: null + utilidad_participacion_subsidiaria: null + perdida_participacion_subsidiaria: null + efectos_reexpresion_favorables_excepto_resultado_posicion_monetaria: null + efectos_reexpresion_desfavorables_excepto_resultado_posicion_monetaria: null + utilidad_neta: 298623 + perdida_neta: null + estado_posicion_financiera_balance: + activo: + efectivo_caja_depositos_instituciones_credito_nacionales: 726644 + efectivo_caja_depositos_instituciones_credito_extranjero: null + inversiones_valores_instituciones_nacionales_excepto_acciones: null + inversiones_valores_instituciones_extranjero_excepto_acciones: null + cuentas_documentos_por_cobrar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + cuentas_documentos_por_cobrar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_a_favor: null + inventarios: null + otros_activos_circulantes: 13277 + inversiones_en_acciones_nacionales: null + inversiones_en_acciones_extranjero: null + inversiones_en_acciones_total: null + terrenos: null + construcciones: null + construcciones_en_proceso: null + maquinaria_y_equipo: null + mobiliario_y_equipo_oficina: null + equipo_de_computo: null + equipo_de_transporte: null + otros_activos_fijos: 12756 + depreciacion_acumulada: -106 + cargos_y_gastos_diferidos: 9319 + amortizacion_acumulada: null + suma_activo: 761890 + pasivo: + cuentas_documentos_por_pagar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 268227 + total: 268227 + cuentas_documentos_por_pagar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_por_pagar: 223490 + anticipos_de_clientes: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + aportaciones_futuros_aumentos_de_capital: null + otros_pasivos: null + suma_pasivo: 491717 + capital_contable: + capital_social_proveniente_aportaciones: 10000 + capital_social_proveniente_capitalizacion: null + reservas: null + otras_cuentas_capital: null + aportaciones_futuros_aumentos_de_capital: null + utilidades_acumuladas: null + utilidad_del_ejercicio: 298623 + perdidas_acumuladas: -38450 + perdida_del_ejercicio: null + exceso_en_actualizacion_capital: null + insuficiencia_en_actualizacion_capital: null + actualizacion_del_capital_contable: null + suma_capital_contable: 270173 + suma_pasivo_mas_capital_contable: 761890 + conciliacion_entre_resultado_contable_fiscal: + utilidad_o_perdida_neta: 298623 + efectos_reexpresion: null + resultado_posicion_monetaria: null + utilidad_o_perdida_neta_historica: 298623 + ingresos_fiscales_no_contables: 95 + ajuste_anual_inflacion_acumulable: 95 + anticipos_de_clientes: null + intereses_moratorios_efectivamente_cobrados: null + ganancia_en_enajenacion_acciones_por_reembolso_capital: null + ganancia_en_enajenacion_de_terrenos_y_activo_fijo: null + inventario_acumulable_del_ejercicio: null + otros_ingresos_fiscales_no_contables: null + deducciones_contables_no_fiscales: 117415 + costo_de_ventas_contable: null + depreciacion_y_amortizacion_contable: 106 + gastos_que_no_reunen_requisitos_fiscales: 4307 + isr_ietu_impac_ptu: 113002 + perdida_contable_enajenacion_de_acciones: null + perdida_contable_enajenacion_de_activo_fijo: null + perdida_en_participacion_subsidiaria: null + intereses_devengados_que_exceden_valor_mercado_y_moratorios_pagados_o_no: 0 + otras_deducciones_contables_no_fiscales: 0 + deducciones_fiscales_no_contables: 0 + ajuste_anual_inflacion_deducible: null + costo_vendido_fiscal: null + deduccion_inversiones: null + estimulo_fiscal_por_deduccion_inmediata_inversiones: null + donacion_bienes_basicos_subsistencia_humana: 0 + estimulo_fiscal_contratacion_personas_discapacidad_yo_mayores: 0 + deduccion_impuesto_sobre_renta_retenido_personas_discapacidad_yo_mayores: 0 + perdida_fiscal_en_enajenacion_acciones: null + perdida_fiscal_en_enajenacion_de_terrenos_y_activo_fijo: null + intereses_moratorios_efectivamente_pagados: null + otras_deducciones_fiscales_no_contables: null + ingresos_contables_no_fiscales: null + intereses_moratorios_devengados_a_favor_cobrados_o_no: null + anticipos_de_clientes_ejercicios_anteriores: null + saldos_a_favor_impuestos_y_su_actualizacion: null + utilidad_contable_enajenacion_de_activo_fijo: null + utilidad_contable_enajenacion_de_acciones: null + utilidad_en_participacion_subsidiaria: null + otros_ingresos_contables_no_fiscales: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416133 + deducciones_autorizadas: + sueldos_salarios: null + honorarios_pagados_a_personas_fisicas: null + regalias_y_asistencia_tecnica: null + donativos_otorgados: null + uso_o_goce_temporal_de_bienes_pagados_a_personas_fisicas: null + fletes_y_acarreos_pagados_a_parsonas_fisicas: null + contribuciones_pagadas_excepto_isr_ietu_impac_iva_ieps: null + seguros_fianzas: null + perdida_por_creditos_incobrables: null + viaticos_y_gastos_viaje: 59527 + combustible_y_lubricantes: null + credito_al_salario_no_disminuido_de_contribuciones: null + aportaciones_sar_infonavit_y_jubilaciones_vejez: null + aportaciones_para_fondos_de_pensiones_y_jubilaciones: null + cuotas_imss: null + consumos_en_restaurantes: 11254 + perdida_por_operaciones_financieras_derivadas: null + deduccion_por_concepto_de_ayuda_alimentaria_para_trabajadores: null + monto_total_pagos_que_sean_ingresos_exentos_para_trabajador: null + monto_deducible_al_47_pagos_son_ingresos_exentos_para_trabajador: null + monto_deducible_al_53_pagos_son_ingresos_exentos_para_trabajador: null + uso_o_goce_temporal_de_automoviles_baterias_electricas_o_electricos_con_motor_combustion_o_hidrogeno: null + otras_deducciones_autorizadas: 424346 + total_deducciones_autorizadas: 495127 + cifras_cierre_ejercicio: + perdidas_fiscales_de_ejercicios_anteriores_pendientes_de_amortizar_actualiazadas: null + saldo_promedio_anual_de_creditos: 142795 + saldo_promedio_anual_de_deudas: 144765 + coeficiente_de_utilidad_por_aplicar_en_ejercicio_siguiente: 0.4567 + porcentaje_de_participacion_consolidable: null + isr_causado_en_exceso_del_impac_en_los_3_ejercicios_anteriores_pendientes_aplicar: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_2013_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_a_partir_2014_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_reinvertida: null + saldo_actualizado_de_cuenta_de_capital_de_aportacion: null + saldo_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_renovables: null + determinacion_del_impuesto_sobre_la_renta: + determinacion_del_impuesto_sobre_la_renta: + total_ingresos_acumulables: 911260 + total_deducciones_autorizadas_y_deduccion_inmediata_inversiones: 495126 + deduccion_adicional_por_pago_servicios_personales_en_operacion_maquila: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416134 + ptu_pagada_en_el_ejercicio: null + utilidad_fiscal_del_ejercicio: 416134 + perdidas_fiscales_de_ejercicios_anteriores_que_se_aplican_en_ejercicio: 39462 + resultado_fiscal: 376672 + impuesto_causado_en_ejercicio: 113002 + tienes_estimulos_fiscales_a_acreditar: SIN SELECCIÓN + impuesto_sobre_la_renta_del_ejercicio: 113002 + pagos_provisionales_efectuados_enterados_a_federacion: null + impuesto_retenido_al_contribuyente: null + impuesto_acreditable_pagado_en_extranjero: null + impuesto_acreditable_por_dividendos_o_utilidades_distribuidos: null + otras_cantidades_a_cargo: null + otras_cantidades_a_favor: null + diferencia_a_cargo: 113002 + isr_a_cargo_del_ejercicio: 113002 + isr_a_favor_del_ejercicio: null + impuesto_sobre_ingresos_sujetos_a_regimenes_fiscales_preferentes: null + datos_informativos_ejercicio: + monto_aplicado_del_estimulo_fiscal_de_chatarrizacion: 0 + monto_deducible_de_pagos_efectuados_por_uso_o_goce_temporal_automoviles: 0 + impac_recuperado_en_ejercicio_derivado_de_deconsolidacion: 0 + ingresos_obtenidos_por_apoyos_gubernamentales: 0 + gastos_realidados_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_de_inversion_en_artes_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_inversion_en_proyectos_programas_para_deporte_de_alto_rendimiento_pendiente_aplicar: 0 + saldo_pendiente_aplicar_por_inversion_en_equipos_de_alimentacion_vehiculos_electricos: 0 + credito_fiscal_autorizado_en_ejercicio_a_produccion_distribucion_cinematografica_nacional_pendiente_aplicar: 0 + datos_informativos_ejercicios_anteriores_aplicados_en_ejercicio: + total_estimulo_produccion_y_distribucion_cinematografica_nacional_ejercicios_anteriores_aplicado_en_ejercicio: null + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_inversion_en_proyectos_programas_para_deporte_alto_rendimiento_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_inversion_artes_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_a_produccion_distribucion_nacional_pendiente_aplicar: 0 + dividendos_o_utilidades_distribuidos: + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_en_2013_y_anteriores: null + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_a_partir_de_2014: null + provenientes_de_cuenta_de_utilidad_fisica_neta_reinvertida_cufinre: null + no_provenientes_de_cufin_ni_cufinre_en_efectivo: null + no_provenientes_de_cufin_ni_cufinre_en_acciones: null + monto_del_impuesto_pagado_no_proveniente_de_cufin_ni_cufinre: null + monto_del_impuesto_pagado_de_utilidades_provenientes_de_cufinre: null + provenientes_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_energia_de_fuentes_renovables_o_sistemas_cogeneracion_electricidad_eficiente: null + detalle_pago_r1_isr_personas_morales: + a_cargo: 113002 + parte_actualizada: null + recargos: null + multa_por_correccion: null + total_contribuciones: 113002 + desea_aplicar_alguna_compensacion_o_estimulo: 'NO' + cantidad_a_cargo: 113002 + opta_por_pagar_parcialidades: SIN SELECCIÓN + importe_de_primera_parcialidad: null + importe_sin_primera_parcialidad: null + cantidad_a_favor: null + cantidad_a_pagar: 113002 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnBusinessListMonthlyDetail: + summary: Tax Return Business Monthly + description: Example of a monthly business tax return + value: + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: DPA950805RR2 + denominacion_razon_social: Aloha Mahalo SC + tipo_declaracion: Normal + ejercicio: 2020 + periodo_declaracion: Diciembre + fecha_hora_presentacion: '2021-01-18T19:24:00-06:00' + numero_operacion: '400475119' + tipo_complementaria: null + determinacion_isr: + personas_morales_regimen_general: + suma_ingresos_nominales_meses_anteriores_ejercicio: 69848414 + estimulos_acreditables: null + ingresos_nominales_mes_que_declara: 6482479 + reducciones: null + total_ingresos_nominales: 76330893 + impuestos_del_periodo: 284098 + coeficiente_utilidad: 0.2318 + pagos_provisionales_efectuados_anterioridad: 303039 + utilidad_fiscal_pago_provisional: 17693501 + impuesto_retenido: 29925 + ptu: null + otras_cantidades_a_cargo_contribuyente: null + iventario_acumulable: null + otras_cantidades_a_favor_contribuyente: null + anticipos_rendimientos_distribuidos_periodo: 16746509 + diferencia_a_cargo: 0 + perdidas_fiscales_ejercicios_anteriores_pendientes: null + estimulo_fiscal_deduccion_inmediata: null + impuesto_correspondiente_participacion_consolidable: null + deduccion_adicional_fomento_primer_empleo: null + porcentaje_participacion_consolidable: null + base_gravable_pago_provisional: 946992 + impuesto_a_cargo: 0 + isr_causado: 284098 + ieps_alcohol: null + detalle_pago_isr: + r1_isr_personas_morales: + a_cargo: 0 + acreditamiento_sorteo_buen_fin: null + parte_actualizada: null + diesel_marino: null + recargos: null + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 0 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 0 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + uso_infraestructura_carretera_cuota: null + cantidad_a_pagar: 0 + otros_estimulos: null + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r12_isr_retenciones_por_salarios: + a_cargo: 415945 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 379 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 415945 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: 379 + cantidad_a_cargo: 415566 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 415566 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r13_isr_retenciones_por_asimilados_a_salarios: + a_cargo: 254588 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 254588 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 254588 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 254588 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r14_isr_retenciones_por_servicios_profesionales: + a_cargo: 104482 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 104482 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 104482 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 104482 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + determinacion_iva: + montos_actos_actividades_pagados: + total_actos_actividades_pagados_tasa_16: 2094706 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + total_actos_actividades_sujetos_estimulo_rfn: 0 + total_actos_actividades_pagados_tasa_0: 0 + total_actos_actividades_pagados_importacion_bienes_tasa_16: null + total_actos_actividades_pagados_no_paga_iva: 0 + detalle_total_actos_actividades_pagados_tasa_16: + intereses_pagados_tasa_16: null + otros_actos_pagados_tasa_16: 2094706 + regalias_pagadas_tasa_16: null + total_actos_pagados_tasa_16: 2094706 + determinacion_iva_acreditable: + total_iva_actos_actividades_pagados_tasa_16: 335153 + iva_trasladado_o_pagado_adquisicion_bienes_distintos_inversiones_actos_no_obligados_pago_impuesto: null + iva_pagado_sujeto_estimulo_rfn: null + iva_trasladado_o_pagado_importacion_inversiones_actos_no_obligados_pago_impuesto: null + total_actos_actividades_pagados_importacion_bienes_tasa_16: 0 + iva_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: 0 + proporcion_utilizada_conforme_art_5: null + total_iva_trasladado_contribuyente: 335153 + proporcion_utilizada_conforme_art_5_b: null + iva_trasladado_adquisicion_bienes_distintos_inversiones_actos_gravados: 335153 + iva_pagado_importacion_adquisicion_bienes_distintos_inversiones_actos_gravados: null + iva_acreditable: 335153 + monto_acreditable_actualizado_a_incrementar_derivado_ajuste: null + iva_pagado_importacion_inversiones_actos_gravados: null + total_iva_acreditable_periodo: 335153 + total_iva_actos_actividades_gravados: 335153 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + iva_trasladado_adquisicion_inversiones_actos_gravados: null + iva_acreditable_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: null + determinacion_iva: + valor_actos_actividades_gravados_tasa_16: 6457950 + otras_cantidades_a_favor_contribuyente: null + valor_actos_actividades_gravados_tasa_11: null + cantidad_a_cargo: 312421 + valor_actos_actividades_gravados_tasa_0_exportacion: null + saldo_a_favor: null + valor_actos_actividades_gravados_tasa_9_otros: null + devolucion_inmediata_obtenida: null + suma_actos_actividades_gravados: 6457950 + saldo_a_favor_periodo: 0 + valor_actos_actividades_no_se_deba_pagar_impuesto_exentos: null + acreditamiento_saldo_favor_periodos_anteriores: null + impuesto_causado: 1033272 + diferencia_a_cargo: 312421 + cantidad_actualizada_a_reintegrarse_derivada_de_ajuste: null + ieps_acreditable_alcohol: null + iva_retenido_al_contribuyente: 385698 + impuesto_a_cargo: 312421 + total_iva_acreditable: 335153 + remanente_saldo_favor_ieps_alcohol: null + otras_cantidades_a_cargo_contribuyente: null + detalle_valor_actos_actividades_gravados_tasa_16: + intereses_cobrados_tasa_16: null + otros_actos_actividades_gravados_tasa_16: 6457950 + regalias_entre_partes_relacionadas_tasa_16: null + total_actos_actividades_gravados_tasa_16: 6457950 + detalle_pago_iva: + r21_iva: + a_cargo: 312421 + cretificados_tesofe: null + a_favor: null + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 312421 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 312421 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + diesel_automotriz_transporte: null + uso_infraestructura_carretera_cuota: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 312421 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r21_iva_retenciones: + a_cargo: 111448 + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 111448 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 111448 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + otros_estimulos: null + cantidad_a_favor: null + cretificados_tesofe: null + cantidad_a_pagar: 111448 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxStatusPersonalListPaginated: + summary: Personal Tax Status + description: Example of a list of personal tax status + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: e88d29d1-3dc6-407f-825c-a9b50453e349 + link: 401d5a8e-79e2-472e-a1ca-8f4646f5cb24 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: Alfredo Gonzalo Robin + id_cif: '2274235873432' + tax_payer_information: + rfc: GGTF770303G7 + curp: BEMP930403HDFLLT00 + name: Alfredo + first_last_name: Gonzalo + second_last_name: Robin + start_operations_date: '2000-06-01' + status_padron: ACTIVO + last_status_change_date: '2000-06-01' + commercial_name: Alfredo Gonzalo Robin + social_name: null + email: alfredo@robin.com + phone: '667507132' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Asalariado + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen de Sueldos y Salarios e Ingresos Asimilados a Salarios + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo + que corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/09/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + ExpsnSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjel= + pdf: '=PDF-STRING=' + TaxStatusBusinessListPaginated: + summary: Business Tax Status + description: Example of a list of business tax status + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 6de34cb3-bf0d-445d-b832-7ec7781e2c6f + link: 0b2edc42-7214-4c68-b22e-ae6885bf7c07 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: ACNE SA DE CV + id_cif: '2274235873432' + tax_payer_information: + rfc: GHTF980303F7 + curp: null + name: null + first_last_name: null + second_last_name: null + start_operations_date: '1995-08-01' + status_padron: ACTIVO + last_status_change_date: '1995-08-01' + commercial_name: null + social_name: ACNE SA DE CV + email: contact@acne.com + phone: '555507122' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Otros servicios profesionales, científicos y técnicos + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen General de Ley Personas Morales + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo + que corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/04/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + EtenSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjow= + pdf: '=PDF-STRING=' + TaxStatusPersonalList: + summary: Personal Tax Status + description: Example of a list of personal tax status + value: + id: 6de34cb3-bf0d-445d-b832-7ec7781e2c6f + link: 401d5a8e-79e2-472e-a1ca-8f4646f5cb24 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: Alfredo Gonzalo Robin + id_cif: '2274235873432' + tax_payer_information: + rfc: GGTF770303G7 + curp: BEMP930403HDFLLT00 + name: Alfredo + first_last_name: Gonzalo + second_last_name: Robin + start_operations_date: '2000-06-01' + status_padron: ACTIVO + last_status_change_date: '2000-06-01' + commercial_name: Alfredo Gonzalo Robin + social_name: null + email: alfredo@robin.com + phone: '667507132' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Asalariado + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen de Sueldos y Salarios e Ingresos Asimilados a Salarios + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo que + corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/09/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + ExpsnSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjel= + pdf: '=PDF-STRING=' + TaxStatusBusinessList: + summary: Business Tax Status + description: Example of a list of business tax status + value: + id: 6de34cb3-bf0d-445d-b832-7ec7781e2c6f + link: 0b2edc42-7214-4c68-b22e-ae6885bf7c07 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: ACNE SA DE CV + id_cif: '2274235873432' + tax_payer_information: + rfc: GHTF980303F7 + curp: null + name: null + first_last_name: null + second_last_name: null + start_operations_date: '1995-08-01' + status_padron: ACTIVO + last_status_change_date: '1995-08-01' + commercial_name: null + social_name: ACNE SA DE CV + email: contact@acne.com + phone: '555507122' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Otros servicios profesionales, científicos y técnicos + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen General de Ley Personas Morales + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo que + corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/04/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + EtenSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjow= + pdf: null + CategorizationExample: + summary: Categorization + description: Example of categorized transactions + value: + transactions: + - transaction_id: 3CWE4927CF15355 + account_holder_type: INDIVIDUAL + account_holder_id: '7890098789087' + account_id: EREB-89077589 + account_category: CREDIT_CARD + value_date: '2022-11-18' + description: APPL3STORE + type: OUTFLOW + amount: 650.89 + currency: BRL + institution: Erebor Retail Brasil + mcc: 2345 + category: Income & Payments + subcategory: Freelance + merchant: + logo: >- + https://www.apple.com/ac/structured-data/images/open_graph_logo.png?202110180 + website: https://www.apple.com/br/ + merchant_name: Apple, Inc + - transaction_id: 3CWE4927CF15996 + account_holder_type: INDIVIDUAL + account_holder_id: '996685090015' + account_id: BDBACA-89077896 + account_category: CHECKING_ACCOUNT + value_date: '2022-12-02' + description: OXXO SP + type: OUTFLOW + amount: 999.9 + currency: BRL + institution: BCO DO BRASIL + mcc: null + category: Income & Payments + subcategory: Freelance + merchant: + logo: >- + https://storage.googleapis.com/new-cdn.mercafacil.com/wl_assets/dynamic/65d84ba0-a2f3-11ed-8928-dd578f525074-MOBILE_1OCo1.png + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global +x-readme: + explorer-enabled: true + proxy-enabled: true + samples-enabled: true + samples-languages: + - curl diff --git a/sdks/db/fixed-specs-cache/belvo-fixed-spec.yaml b/sdks/db/fixed-specs-cache/belvo-fixed-spec.yaml new file mode 100644 index 0000000000..1c50145ad7 --- /dev/null +++ b/sdks/db/fixed-specs-cache/belvo-fixed-spec.yaml @@ -0,0 +1,30576 @@ +publishJson: + company: Belvo + serviceName: false + sdkName: belvo-{language}-sdk + clientName: Belvo + metaDescription: >- + Belvo es la plataforma líder de datos y pagos de open finance en + Latinoamérica. Ayudamos a innovadores financieros a acceder a los datos + financieros de tus usuarios, entender mejor su comportamiento y habilitar + pagos instantáneos gracias al open finance, con el objetivo de impulsar + productos más eficientes, seguros e inclusivos. + apiStatusUrls: inherit + homepage: belvo.com + developerDocumentation: developers.belvo.com + categories: + - finance + - open_banking + - fintech + - financial_services + - latam + - latin_america + - open_finance +rawSpecString: | + openapi: 3.0.2 + info: + title: Belvo API Docs + version: 1.102.0 + description: > + # Introduction + + + 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: + + + + - **Bank information** such as account information, real-time + + balance, historical transactions, and account owner identification. + + + - **Fiscal information** such as received and sent invoices and tax returns. + + + + fiscal-endpoints + + + + In this API reference you'll find all the information you need about each + + + endpoint and resource. + + + +
+ + + Tip: Make sure that you also check out our Developer + + Portal for guides on how to get started, using our Sandbox environment, as well as how to integrate the widget or use our quickstart application. + + +
+ + + + ## Environment + + + We currently offer three environments: sandbox, development, and + + production. + + + + When using our SDKs, make sure to use the **Alias** (and not the Base URL). + + + + | Environment | Purpose | Access | + + |-----------|-------|-------| + + | **Sandbox** | The [Sandbox + environment](https://developers.belvo.com/docs/test-in-sandbox) is dedicated + for your testing and development phases. In this environment, you can create + links without real credentials and you can pull test data from all + endpoints. **⚠️The sandbox environment is refreshed frequently and your test + data can be updated or deleted.** | Base URL (cURL): + https://sandbox.belvo.com/

Alias (SDKs): sandbox| + + |**Development**|The Development environment is dedicated for testing with + real credentials and institutions with real-world institutions. You can + create up to 25 links for free in this environment.| Base URL (cURL): + https://development.belvo.com/

Alias (SDKs): development | + + | **Production** | The Production environment is dedicated for live + applications with real connections to institutions. In this environment, you + + will need real credentials to create links and you will pull real data from + the institutions.| Base URL (cURL): https://api.belvo.com/

Alias + + (SDKs): production| + + + + For each environment, you'll need to [generate separate API + + keys](https://developers.belvo.com/docs/get-your-belvo-api-keys). + + + + ## 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 + 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 + + + + ### Error messages + + + + 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. Check the table below to see how to + + handle each error code. + + + - `field` *(optional)*: The specific field in the request body that has an + + issue. + + + + + ### Request identifier + + + When you need help with a specific error, add the request identifier + + (`request_id`) in your message to the Belvo support team. This will speed up + + investigations and get you back up and running in no time at all. + + + + ### Error codes and troubleshooting + + + + For a full list of errors and how to troubleshoot them, please see our + + dedicated [Error handling + + articles](https://developers.belvo.com/docs/integration-overview#error-handling) + + in our DevPortal. + + + + + ### Retry policy + + + + Please see our recommended [retry + + policies](https://developers.belvo.com/docs/integration-overview#error-retry-policy) + + in the DevPortal. + 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 + - url: https://development.belvo.com + description: Development + 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 Banamex retail banking or HSBC business + banking. + + - fiscal institution, such as the Servicio de Administración Tributaria + (SAT) in Mexico. + + + ![](https://files.readme.io/69a4676-Banking__Tax.png) + + + You can see a complete list of institutions by either consulting our + [Institutions article](https://developers.belvo.com/docs/institution) or + making a List request to this endpoint. + - name: Links + description: >- + A **Link** is a set of credentials associated to an end-user's access to + an **institution**. + + +
+ + Example: The username and password combination used to + log in to an online banking application would be a link. + +
+ + + You will need to register a **Link** before accessing information from + that specific end-user, such as account or transaction details. + + +
+ + Note: We recommend using our Connect Widget to handle link creation and link status + updates. + +
+ + + You have the possibility to register two types of links: + + + ### Recurrent links (default) + + + With recurrent links, Belvo automatically refreshes information weekly and + notifies you via [Webhooks](https://developers.belvo.com/docs/webhooks) so + you always have up-to-date data. Then, when you receive the webhook, you + can make GET requests to the List or Detail endpoints to instantly access + up-to-date information, without needing to connect to the institution. + + + fiscal-endpoints + + + You can also make POST calls directly to the institution, as with single + links, as soon as the link is created. However, we recommend you follow + the flow described above (waiting for the webhook event) for a more + optimal experience. + + + ### Single links + + + Single links are used to perform ad hoc data access to accounts, owners, + transactions, and so on. For example, you can use it when you want to do + an underwriting process to assess risk before lending money. + + + For single links, you have to perform POST calls to an institution **every + time** you want to access fresh data. + + + fiscal-endpoints + - name: Banking API introduction + description: > + Use our Banking API product to access account, balance, owner, bank + statement, as well as transaction data from banking institutions.
+ + + + ![](https://files.readme.io/894213c-Banking_and_Gig.png "Banking and + Gig.png") + + + + | API Endpoint | + Description + | Supported institutions | + + | --------------------------- | + ------------------------------------------------------------------------- + | ---------------------- | + + | `api/accounts/` | Get information about your customer's bank + accounts. | Banking | + + | `api/balances/` | Get the balance at the end of each day for + your customer's bank accounts. | Banking | + + | `api/owners/` | Get the details of an account + owner. | Banking | + + | `api/transactions/` | Get a list of bank transactions with + metadata. | Banking | + - name: Accounts + description: >- + An **account** is the representation of a bank account inside a financial + institution. A user can have one or more accounts in an institution. + + + For example, one user (or link) can have a checking account, several + credit cards, and a loan account. + + + Querying for a user's account information is useful as you can get + information regarding: + + + - what types of accounts the user has. + + - the balance for each account (savings, checking, credit card, loan, and + so on). + + - detailed information regarding their credit card spending. + + - the current situation of any loans they may have. + - name: Transactions + description: >- + A **transaction** contains the detailed information of each movement + inside an account. For example, a purchase at a store or a restaurant. + - name: Balances + description: >- + A **balance** represents the amount of funds available in a checking or + savings account over a period of time. + + + DEPRECATED + + + > 📘 + + > + + > Savings accounts that do not have any associated transactions (for + example, some _poupança_ accounts in Brazil) will not contain accurate + Balance information. We do not recommend using the Balance endpoint for + these types of accounts. + + > + + > Savings accounts vary from institution to institution, so we recommend + that you first use our [Retrieve transactions for a + link](https://developers.belvo.com/reference/retrievetransactions) + request, adding the `account` in the request body, to see if the Savings + account has any associated transactions. + - name: Owners + description: >- + An **owner** represents the person who has access to a Link and is the + owner of all the accounts inside the Link. + + + You can use this endpoint in order to get useful information about your + client, such as: + + + - their full name + + - key contact information + + - information about the ID document they used when opening the account + - name: Employment Records + description: "Our employment records\_resource for Mexico lets you get a comprehensive view of your user’s current social security contributions and employment history.\n\nWith Belvo's employment records resource for Mexico, you can access information about your user's current social security contributions and employment history. For the each user, we return the:\n\n- personal data\n- work history\n- historical and current daily base salary\n- and more!\n\nAt the moment, the employment records resource is available for:\n\n- 🇲🇽\_Mexico (IMSS)" + - name: Enrichment API introduction + description: >- + Belvo's Enrichment API are a set of endpoints that return additional + insights on your user's banking data. + + + - **Incomes**: Use this endpoint to verify your user's income. + + - **Recurring Expenses**: Use this endpoint to identify the recurrent + expenses (such as Netflix subscriptions) that your user pays. + + - **Risk Insights**: Use this endpoint to retrieve key data points to feed + into your risk evaluation models. + - name: Incomes + description: >- + Use the Incomes endpoint to gather insights on an account's income sources + for the past 365 days. The endpoint is particularly useful when you want + to verify a person's income. + + +
+ Info: The incomes resource is only available for Checking and Savings + accounts associated with banking links. +
+ - name: Recurring Expenses + description: >- + Belvo's Recurring Expenses API allows you to identify a user's regular + payments for subscription services, such as Netflix or gym memberships, as + well as utility payments, such as electricity or phone bills. We return + information for up to 365 days. + + +
+ Info: The recurring expenses resource is only available for Checking, Savings and Credit Card accounts associated with banking links. +
+ - name: Risk Insights + description: >- + Belvo's Risk Insights endpoint exposes a set of features that can be used + to improve your company's credit risk and opportunity decisions. + + + This set of features can be used as building blocks to create or iterate + on your credit score using transactional banking data to improve the + predictive power of your models. You can use these components as you + require and make the most sense for your specific use case. + + + We take up to 365 days of transactional data from the user's checking, + savings, loans, and credit card accounts to calculate the risk insights. + We perform calculations on this set of transactions and provide aggregate + metrics in the following periods: three days, one week, one month, three + months, six months, and twelve months. + + + > **Note**: Categorized transaction metrics period + + > + + > At present, for our categorized transaction metrics (`category_metrics`) + we only supply the calculated totals for the last three months. + + + + If you need to know the currency of the account, make a GET Details + request to the Accounts endpoint (using the account ID you receive from in + the accounts array of the response). + - name: EYOD API introduction + description: > + Our Enrich Your Own Data (EYOD) product provides you with enriched + transaction information and easy-to-use insights about your users + incomesfrom various sources, including open finance data or your own + dataset. + + + + + | API Endpoint | + Description + | + + | ---------------------------- | + ------------------------------------------------------------------------------------------------------------------------------------- + | + + | `api/categorization` | Enrich transactions with category, + subcategory, and merchant + information. | + + | `api/enrich/incomes` | Enrich transaction data from any source + and gather insights on your user's income sources and asses their future + income potential. | + + | `api/enrich/risk-insights` | Enrich transaction data from any source + and gather a set of features that can be used to improve your company's + credit risk and opportunity decisions | + - name: Categorization + description: >- + Our Categorization resource provides you with categorized information for + a transaction. You’ll need to send a POST Categorize Transactions request + with raw transactional information (such as amount, description, and + holder information) to which Belvo: + + - assigns a standardized category to each transaction + + - provides additional information about the merchant involved in the + transaction (name, logo, website URL) + + - name: Income Verification + description: >- + Verify your users' income and forecast their future income potential with + Belvo. Your only need to send trough a your raw transaction data and Belvo + returns: + + + - insights into your user’s multiple sources of income + + - a stability score that reflects the consistency and regularity of your + user’s income history + + - a confidence level for future income + - name: Fiscal API introduction + description: >- + Use our **Fiscal API** product to access invoices, tax compliance + statuses, tax returns, tax retentions, and tax statuses from the fiscal + authority in a given country. + + + | API Endpoint | + Description + | + + | ---------------------------- | + ------------------------------------------------------------------------------------------------------------------------------------- + | + + | `api/invoices/` | Get all the information about the + invoices sent and received by a person or a business that have been + certified by the tax authority. | + + | `api/tax-compliance-status/` | Get information about whether a person or + business is complying to their tax + obligations. | + + | `api/tax-compliance-status/` | Get tax declaration information for your + users. At the moment only available for 🇨🇴 DIAN + Colombia. | + + | `api/tax-returns/` | Get all the information about the tax + returns sent every year to the tax authority by a person or a + business. | + + | `api/tax-retentions/` | Get information about tax retention + invoices sent and received by a business or a + person. | + + | `api/tax-status/` | Get all the information about the tax + situation of a person or a + business. | + + +
+ + Note: You can only access this information with + fiscal links. + +
+ - name: Invoices + description: >- + An **invoice** is the representation of an electronic invoice, that can be + received or sent, by a business or an individual and has been uploaded to + the fiscal institution's website. Multiple INFLOW (invoice received) and + OUTFLOW (invoice sent) invoices can be retrieved inside each link coming + from a fiscal institution. + - name: Tax declarations + description: >- + Our Tax declarations endpoint lets you retrieve the electronic + representation of the tax declaration document emitted by a country's tax + authority. + + + At the moment, the Tax Declaration resource is available for: + + + - 🇨🇴 Colombia (DIAN) + - name: Tax returns + description: >- + A **tax return** is the representation of the tax return document sent + every year by a person or a business to the tax authority in the country. + + + The tax return data structure will be different depending on if it is + related to a person or a business (you will find examples for both in the + endpoints below). + - name: Tax status + description: >- + Our **Tax status** endpoint lets you retrieve information about a person's + or business's tax situation, according to the country's tax authority. + + + - For SAT (Mexico), this information is extracted from the _Constancia de + situación fiscal_ document. + + - For DIAN (Colombia), this information is extracted from the _Registro + Único Tributario_ document. + - name: Tax retentions + description: >- + A **tax retention** is the amount of money that the payer must deduct from + the total amount of a purchase invoice, according to the fiscal + institution’s regulations. + + + With Belvo’s Tax Retentions resource, you can quickly and easily consult + information regarding a user’s tax retentions over a given period or for a + specific invoice. This is particularly useful when you want to aid your + user in their tax returns as for each invoice you receive the: + + + - invoice amount + + - amount that is exempt from taxation + + - total amount that is taxed + + - breakdown of all the taxes applied to the invoice + - name: Tax compliance status + description: >- + A **tax compliance status** indicates about whether a person or business + is complying with their tax obligations at the moment of the request. The + information is extracted from SAT's _Opinion de cumplimiento de + Obligaciones Fiscales_ document. + - name: Credit Score + description: >- + # Credit score + + + Belvo's Credit Score (powered by FICO) resource allows you to receive an + industry-standard credit score based on a link's transactional and account + data. + + + > **Note**: At present, the credit score resource is **only** available + for OFDA Brazil links. + + + For any OFDA Brazil link, you can simply send through the `link` ID (with + an optional `date_to` parameter), and Belvo will respond with the + calculated credit score (provided there is at least 30 days of + transactional data available for the link). + + + Request Example + + ```json + + + { + "link": "2ccd5e15-194a-4a19-a45a-e7223c7e6717", // ID of the OFDA link. + "date_to": "2023-02-28", // Optional date until when you want the credit score to be calculated. + "save_data": true + } + + + ``` + + + Response Example + + ```json + + { + "id": "03a7b0d1-efc7-4ab8-981e-89e0c82db03ea", + "link": "30cb4806-6e00-48a4-91c9-ca55968576c8", + "created_at": "2020-04-23T21:32:55.336854+00:00", + "date_to": "2023-01-01", // Date until when transactional and account data were taken into account for the calculation + "score": 400, // The resulting credit score. + "reason_codes": [ + // Array of reasons for the credit score. + { + "code": "N02", + "description": "No description available for this reason code" + }, + { + "code": "C06", + "description": "Out of Pattern transaction checking deposit day" + } + ] + } + + ``` + + + + + ## Credit score reason_codes + + + Below is a possible list of `reason_codes` that we return for each credit + score result. + + + > Note: Each credit score result can have up to **four** `reason_codes`. + + + | Code | + Description + | + + | ---- | + -------------------------------------------------------------------------------------- + | + + | C01 | High checking spend with higher weekday + spend | + + | C02 | Multiple excessive spend over inflow with small spend + capability | + + | C03 | Multiple excessive spend over inflow with small checking + balance | + + | C04 | Repeated excessive spend over inflow with repeated higher loan + costs | + + | C05 | Low percentage of utility spend with low percentage of utility + spend | + + | C06 | Out of Pattern transaction checking deposit + day | + + | C07 | Higher weekday + spend | + + | C08 | High bank charge with high checking + spend | + + | C09 | High number of outflow transfers with low number of + deposits | + + | C10 | Reduction in recent utility + spend | + + | C11 | Large number of loan borrowed with high percentage of weekday + spend | + + | C12 | High restaurant spend with lower recent + deposits | + + | C13 | Multiple excessive spend over inflow with high loan + inflow | + + | C14 | Higher non-essential + spend | + + | C15 | High retail spend with high number of outflow + transfers | + + | C16 | High spend over inflow with multiple excessive spend over + inflow | + + | C17 | Multiple excessive spend over inflow with high credit card + balance | + + | C18 | Multiple excessive spend over inflow with high number of bank + charges | + + | C19 | Multiple excessive spend over + inflow | + + | C20 | High spend over inflow with high number of outflow + transfers | + + | C21 | Small spend + capability + | + + | C22 | Small checking + balance | + + | C23 | High credit card + balance | + + | C24 | High percentage of bank charges with reduction in recent utility + spend | + + | C25 | Low creditcard payment with lower inflow + value | + + | C26 | Higher spend with out of pattern transaction spend + day | + + | C27 | Lower inflow + value + | + + | C28 | Out of pattern transaction checking deposit amount and + day | + + | C29 | Out of pattern transaction checking deposit + day | + + | C30 | Multiple larger spend over inflow with high credit card + balance | + + | C31 | High credit card balance with large number of loan + costs | + + | C32 | Small inflow + value + | + + | C33 | High spend over inflow with small checking + balance | + + | C34 | High spend over + inflow | + + | C35 | Repeated lower net cash flow with lower inflow + value | + + | C36 | Small percentage of grocery + spend | + + | C37 | Small checking balance with higher credit card + spend | + + | C38 | Small checking balance with higher bank + charges | + + | C39 | Low net cash + flow + | + + | C40 | High credit card balance with multiple credit + cards | + + | C41 | High percentage credit card spend with high percentage of weekday + spend | + + | C42 | High credit card balance with high percentage of weekday + spend | + + | C43 | Higher spend over + inflow | + + | N01 | No transactions from checking + accounts | + + | N02 | Less than thirty days history of transactions across checking and + credit card accounts | + + | N03 | Less than fewer than thirty transactions across checking and + credit card accounts | + - name: Credit Score (EYOD) + description: >- + Belvo's Credit Score (powered by FICO) resource allows you to receive an + industry-standard credit score based on your customer's *raw* + transactional and account data. + + + **Request example:** + + + For details regarding the request body for EYOD Credit Score, see our API + reference documentation. + + + ```json + + [ + { + "user_id": "AGH7890098789087", + "reference_date": "2023-06-01", + "language": "pt", + "transactions": [ // Up to 10,000 transactions (each transaction must be associated with an account) + { + "transaction_id": "3CWE4927CF15355", + "account_id": "AGH7890098789087-Checking-Erebor", + "value_date": "2023-05-18", + "type": "INFLOW", + "amount": 650.89, + "currency": "BRL", + "description": "Pagamento Netflix Maio 2023" + } + ], + "accounts": [ + { + "id": "AGH7890098789087-Checking-Erebor", + "category": "CHECKING_ACCOUNT", + "balance": 12540.67, + "balance_date": "2023-06-01", + "currency": "BRL" + } + ] + } + ] + + + ``` + + + + **Response example:** + + + Once you send through the raw data, Belvo will analyze and calculate your + customer's credit score (a value between 350 and 750) along with up to + *four* reasons for the calculated score. + + + ```json + + { + "id": "03a7b0d1-efc7-4ab8-981e-89e0c82db03ea", + "link": "30cb4806-6e00-48a4-91c9-ca55968576c8", + "created_at": "2020-04-23T21:32:55.336854+00:00", + "date_to": "2023-01-01", // Date until when transactional and account data where taken into account for the calculation + "score": 400, // The resulting credit score. + "reason_codes": [ + // Array of reasons for the credit score. + { + "code": "N02", + "description": "No description available for this reason code" + }, + { + "code": "C06", + "description": "Out of Pattern transaction checking deposit day" + } + ] + } + + ``` + + + + + + + ## Credit score reason_codes + + + Below is a possible list of `reason_codes` that we return for each credit + score result. + + + > Note: Each credit score result can have up to four `reason_codes`. + + + | Code | + Description + | + + | ---- | + -------------------------------------------------------------------------------------- + | + + | C01 | High checking spend with higher weekday + spend | + + | C02 | Multiple excessive spend over inflow with small spend + capability | + + | C03 | Multiple excessive spend over inflow with small checking + balance | + + | C04 | Repeated excessive spend over inflow with repeated higher loan + costs | + + | C05 | Low percentage of utility spend with low percentage of utility + spend | + + | C06 | Out of Pattern transaction checking deposit + day | + + | C07 | Higher weekday + spend | + + | C08 | High bank charge with high checking + spend | + + | C09 | High number of outflow transfers with low number of + deposits | + + | C10 | Reduction in recent utility + spend | + + | C11 | Large number of loan borrowed with high percentage of weekday + spend | + + | C12 | High restaurant spend with lower recent + deposits | + + | C13 | Multiple excessive spend over inflow with high loan + inflow | + + | C14 | Higher non-essential + spend | + + | C15 | High retail spend with high number of outflow + transfers | + + | C16 | High spend over inflow with multiple excessive spend over + inflow | + + | C17 | Multiple excessive spend over inflow with high credit card + balance | + + | C18 | Multiple excessive spend over inflow with high number of bank + charges | + + | C19 | Multiple excessive spend over + inflow | + + | C20 | High spend over inflow with high number of outflow + transfers | + + | C21 | Small spend + capability + | + + | C22 | Small checking + balance | + + | C23 | High credit card + balance | + + | C24 | High percentage of bank charges with reduction in recent utility + spend | + + | C25 | Low creditcard payment with lower inflow + value | + + | C26 | Higher spend with out of pattern transaction spend + day | + + | C27 | Lower inflow + value + | + + | C28 | Out of pattern transaction checking deposit amount and + day | + + | C29 | Out of pattern transaction checking deposit + day | + + | C30 | Multiple larger spend over inflow with high credit card + balance | + + | C31 | High credit card balance with large number of loan + costs | + + | C32 | Small inflow + value + | + + | C33 | High spend over inflow with small checking + balance | + + | C34 | High spend over + inflow | + + | C35 | Repeated lower net cash flow with lower inflow + value | + + | C36 | Small percentage of grocery + spend | + + | C37 | Small checking balance with higher credit card + spend | + + | C38 | Small checking balance with higher bank + charges | + + | C39 | Low net cash + flow + | + + | C40 | High credit card balance with multiple credit + cards | + + | C41 | High percentage credit card spend with high percentage of weekday + spend | + + | C42 | High credit card balance with high percentage of weekday + spend | + + | C43 | Higher spend over + inflow | + + | N01 | No transactions from checking + accounts | + + | N02 | Less than thirty days history of transactions across checking and + credit card accounts | + + | N03 | Less than fewer than thirty transactions across checking and + credit card accounts | + paths: + /api/links/: + get: + tags: + - Links + operationId: ListLinks + summary: List all links + description: > + Get a paginated list of all the existing links in your Belvo account. By + default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/institution' + - $ref: '#/components/parameters/institution__in' + - $ref: '#/components/parameters/access_mode' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/created_by__not_in' + - $ref: '#/components/parameters/external_id' + - $ref: '#/components/parameters/external_id__in' + - $ref: '#/components/parameters/institution_user_id' + - $ref: '#/components/parameters/institution_user_id__in' + - $ref: '#/components/parameters/refresh_rate' + - $ref: '#/components/parameters/status_links' + - $ref: '#/components/parameters/status__in_links' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedResponseLink' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Links + operationId: RegisterLink + summary: Register a new link + description: > + Register a new link with your Belvo account. + + +
+ + Note: We recommend using our Connect Widget to handle link creation and link + status updates. + +
+ parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LinksRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + 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/InvalidLinkError' + - $ref: '#/components/schemas/400InvalidCredentialsStorageError' + - $ref: '#/components/schemas/400InvalidFetchHistorical' + - $ref: '#/components/schemas/400InvalidResourcesError' + - $ref: '#/components/schemas/UnconfirmedLinkError' + - $ref: '#/components/schemas/UnsupportedOperationError' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Links + operationId: PatchLinks + summary: Complete a links request + description: > + Used to resume a Link register session that was paused because an MFA + token + + was required by the institution. + parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBodyWithoutSaveData' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/links/{id}/: + get: + tags: + - Links + operationId: DetailLink + summary: Get a link's details + description: Get the details of a specific link. + parameters: + - name: id + in: path + required: true + schema: + type: string + format: uuid + description: The `link.id` you want to get detailed information about. + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + patch: + tags: + - Links + operationId: ChangeLinkAccessMode + summary: Change a link's access mode + description: > + Change a link's access mode from `single` to `recurrent` or from + `recurrent` to single. + + + ℹ️ **Note**: When you change a link from `single` to `recurrent`, they + will only be updated the next day at the scheduled interval. + parameters: + - name: id + in: path + required: true + schema: + type: string + format: uuid + example: e4bb1afb-4a4f-4dd6-8be0-e615d233185b + description: The `link.id` you want to change the `access_mode` for. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChangeAccessMode' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/InvalidAccessMode' + - $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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + put: + tags: + - Links + operationId: UpdateLink + summary: Update a link's credentials + description: > + Update the credentials of a specific link. If the successfully updated + link is a recurrent one, we automatically trigger an update of the link. + If we find fresh data, you'll [receive historical + update](https://developers.belvo.com/docs/webhooks) webhooks. + +
Note: We recommend using our Connect Widget to handle updating + invalid or token_required links.
+ parameters: + - name: id + in: path + required: true + schema: + type: string + format: uuid + description: The `link.id` you want to update. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LinksPutRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + delete: + tags: + - Links + operationId: DestroyLink + summary: Delete a link + description: > + Delete a specific link and all associated accounts, transactions, and + owners + + from your Belvo account. + + + # Deleting links in batches + + + To delete links in bulk, we recommend looping through the list of links + you want to delete and making the delete request. + + > 🚧 **Rate limiting and IP blocking** + > + > An important technical note for performing operations in batches is to take into consideration our rate-limiting: up to 80 requests every 30 seconds. If you exceed this limit, you run the risk of Belvo blocking your IP from making further requests. + > + > For more information, or if your IP address has been blocked, please contact our [support team](https://support.belvo.com/hc/en-us/requests/new). + parameters: + - name: id + in: path + required: true + schema: + type: string + format: uuid + description: The `link.id` that you want to delete. + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/accounts/: + get: + tags: + - Accounts + operationId: ListAccounts + summary: List all accounts + description: > + Get a paginated list of all existing accounts in your Belvo account. By + default, we return up to 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/pageSize_query' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/balance__available' + - $ref: '#/components/parameters/balance__available__lt' + - $ref: '#/components/parameters/balance__available__lte' + - $ref: '#/components/parameters/balance__available__gt' + - $ref: '#/components/parameters/balance__available__gte' + - $ref: '#/components/parameters/balance__available__range' + - $ref: '#/components/parameters/balance__current' + - $ref: '#/components/parameters/balance__current__lt' + - $ref: '#/components/parameters/balance__current__lte' + - $ref: '#/components/parameters/balance__current__gt' + - $ref: '#/components/parameters/balance__current__gte' + - $ref: '#/components/parameters/balance__current__range' + - $ref: '#/components/parameters/category' + - $ref: '#/components/parameters/category__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/currency__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/institution' + - $ref: '#/components/parameters/institution__in' + - $ref: '#/components/parameters/name_accounts' + - $ref: '#/components/parameters/name__icontains' + - $ref: '#/components/parameters/number_accounts' + - $ref: '#/components/parameters/number__in_accounts' + - $ref: '#/components/parameters/public_identification_name' + - $ref: '#/components/parameters/public_identification_value' + - $ref: '#/components/parameters/type_accounts' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/AccountsPaginatedResponse' + - $ref: >- + #/components/schemas/AccountsPaginatedResponseOpenFinanceBrazil + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Accounts + operationId: RetrieveAccounts + summary: Retrieve accounts for a link + description: > + Retrieve accounts from an existing link. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StandardRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Accounts + operationId: PatchAccounts + summary: Complete an accounts request + description: > + Used to resume an Account retrieve session that was paused because an + MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/accounts/{id}/: + get: + tags: + - Accounts + operationId: DetailAccount + summary: Get an account's details + description: > + Get the details of a specific account. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - name: id + in: path + required: true + description: The `account.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaCheckingDetail' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCardDetail' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanDataDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Accounts + operationId: DestroyAccount + summary: Delete an account + description: > + Delete a specific account from your Belvo account. + + + > ℹ️ **Note**: When you delete an account, all the associated + transactions and owner information for that account are also removed. + parameters: + - name: id + in: path + required: true + description: The `account.id` you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/transactions/: + get: + tags: + - Transactions + operationId: ListTransactions + summary: List all transactions + description: > + Get a paginated list of all existing transactions in your Belvo account. + By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link__required' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/account__balance__available' + - $ref: '#/components/parameters/account__balance__available__lt' + - $ref: '#/components/parameters/account__balance__available__lte' + - $ref: '#/components/parameters/account__balance__available__gt' + - $ref: '#/components/parameters/account__balance__available__gte' + - $ref: '#/components/parameters/account__balance__available__range' + - $ref: '#/components/parameters/account__balance__current' + - $ref: '#/components/parameters/account__balance__current__gt' + - $ref: '#/components/parameters/account__balance__current__gte' + - $ref: '#/components/parameters/account__balance__current__lt' + - $ref: '#/components/parameters/account__balance__current__lte' + - $ref: '#/components/parameters/account__balance__current__range' + - $ref: '#/components/parameters/account_type' + - $ref: '#/components/parameters/account_type__in' + - $ref: '#/components/parameters/accounting_date' + - $ref: '#/components/parameters/accounting_date__gt' + - $ref: '#/components/parameters/accounting_date__gte' + - $ref: '#/components/parameters/accounting_date__lt' + - $ref: '#/components/parameters/accounting_date__lte' + - $ref: '#/components/parameters/accounting_date__range' + - $ref: '#/components/parameters/amount' + - $ref: '#/components/parameters/amount__gt' + - $ref: '#/components/parameters/amount__gte' + - $ref: '#/components/parameters/amount__lt' + - $ref: '#/components/parameters/amount__lte' + - $ref: '#/components/parameters/amount__range' + - $ref: '#/components/parameters/collected_at' + - $ref: '#/components/parameters/collected_at__gt' + - $ref: '#/components/parameters/collected_at__gte' + - $ref: '#/components/parameters/collected_at__lt' + - $ref: '#/components/parameters/collected_at__lte' + - $ref: '#/components/parameters/collected_at__range' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/currency__in' + - $ref: '#/components/parameters/credit_card_data__bill_name__in' + - $ref: '#/components/parameters/reference' + - $ref: '#/components/parameters/reference__in' + - $ref: '#/components/parameters/status_transactions' + - $ref: '#/components/parameters/status__in_transactions' + - $ref: '#/components/parameters/type_transactions' + - $ref: '#/components/parameters/type__in_transactions' + - $ref: '#/components/parameters/value_date' + - $ref: '#/components/parameters/value_date__gt' + - $ref: '#/components/parameters/value_date__gte' + - $ref: '#/components/parameters/value_date__lt' + - $ref: '#/components/parameters/value_date__lte' + - $ref: '#/components/parameters/value_date__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TransactionsPaginatedResponse' + - $ref: >- + #/components/schemas/TransactionsPaginatedResponseOpenFinanceBrazil + examples: + TransactionsCheckingPaginated: + $ref: '#/components/examples/TransactionsCheckingPaginated' + TransactionsSavingsPaginated: + $ref: '#/components/examples/TransactionsSavingsPaginated' + TransactionsCreditCardPaginated: + $ref: '#/components/examples/TransactionsCreditCardPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Transactions + operationId: RetrieveTransactions + summary: Retrieve transactions for a link + description: > + Retrieve transactions for one or more accounts from a specific link. + +
Info: When retrieving + transactions, it is important to understand that the available + transaction data ranges depend on each institution.

+ + If you try to access older information than what we can access, we will + return all the data we can read within that date range. For example, if + you request transactions for the last year and we can only access the + last six months, we will return the information corresponding to these + six months of data.
+ parameters: + - in: header + name: X-Belvo-Request-Mode + schema: + type: string + enum: + - async + description: > + Recommended header parameter to make your POST request to retrieve + transactions asynchronous (thus preventing timeouts). + + + When you make a asynchronous request, Belvo responds with a `202 - + Accepted` payload, including the `request_id`. Once we have + retrieved the transaction information, you will receive a + `new_transactions_available` webhook with the link and request + IDs. + + + + **Note**: This parameter is case sensitive (in other words, if you + write `ASYNC`, then Belvo will default to a synchronous call). + example: async + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '202': + description: Accepted (when `X-Belvo-Request-Mode` is `async`) + content: + application/json: + schema: + $ref: '#/components/schemas/AsynchronousAccepted202' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Transactions + operationId: PatchTransactions + summary: Complete a transactions request + description: > + Used to resume a Transaction retrieve session that was paused because an + MFA + + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/transactions/{id}/: + get: + tags: + - Transactions + operationId: DetailTransaction + summary: Get a transaction's details + description: Get the details of a specific transaction. + parameters: + - name: id + in: path + required: true + description: The `transaction.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsCheckingDetail' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavingsDetail' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCardDetail' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfdaDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Transactions + operationId: DestroyTransaction + summary: Delete a transaction + description: Delete a specific transaction from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `transaction.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/balances/: + get: + tags: + - Balances + operationId: ListBalances + summary: List all balances + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + Get a paginated list of all existing balances in your Belvo account. By + default, we return up to 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/account__type' + - $ref: '#/components/parameters/account__type__in' + - $ref: '#/components/parameters/balance' + - $ref: '#/components/parameters/balance__lt' + - $ref: '#/components/parameters/balance__lte' + - $ref: '#/components/parameters/balance__gt' + - $ref: '#/components/parameters/balance__gte' + - $ref: '#/components/parameters/balance__range' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/currency__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/institution' + - $ref: '#/components/parameters/institution__in' + - $ref: '#/components/parameters/value_date' + - $ref: '#/components/parameters/value_date__gt' + - $ref: '#/components/parameters/value_date__gte' + - $ref: '#/components/parameters/value_date__lt' + - $ref: '#/components/parameters/value_date__lte' + - $ref: '#/components/parameters/value_date__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesPaginatedResponse' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExamplePaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Balances + operationId: RetrieveBalances + summary: Retrieve balances for a link + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + + Retrieve balances from one or more accounts for a specific link within a + + specified date range. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Balances + operationId: PatchBalances + summary: Complete a balances request + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + Used to resume a Balance retrieve session that was paused because an MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/balances/{id}/: + get: + tags: + - Balances + operationId: DetailBalance + summary: Get a balance's details + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + + Get the details of a specific balance. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - name: id + in: path + required: true + description: The `balance.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExampleDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Balances + operationId: DestroyBalance + summary: Delete a balance + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + Delete a specific balance from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `balance.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/institutions/: + get: + tags: + - Institutions + operationId: ListInstitutions + summary: List all institutions + description: > + Get a paginated list of all the institutions currently supported by + Belvo. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $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: + $ref: '#/components/schemas/InstitutionsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_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/Institution' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/owners/: + get: + tags: + - Owners + operationId: ListOwners + summary: List all owners + description: > + Get a paginated list of all existing owners in your Belvo account. We + return + + up to 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/email' + - $ref: '#/components/parameters/display_name__icontains' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/OwnersPaginatedResponse' + - $ref: >- + #/components/schemas/OwnersIndividualPaginatedResponseOpenFinanceBrazil + - $ref: >- + #/components/schemas/OwnersBusinessPaginatedResponseOpenFinanceBrazil + examples: + OwnerBankingAccountPaginated: + $ref: '#/components/examples/OwnerBankingAccountPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Owners + operationId: RetrieveOwners + summary: Retrieve owners for a link + description: > + Retrieve owner information from a specific link. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StandardRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Owners + operationId: PatchOwners + summary: Complete an owners request + description: > + Used to resume an Owner retrieve session that was paused because an MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/owners/{id}/: + get: + tags: + - Owners + operationId: DetailOwner + summary: Get an owner's details + description: > + Get the details of a specific owner. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - name: id + in: path + required: true + description: The `owner.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccountDetail' + OwnerIndividualOfdaDetails: + $ref: '#/components/examples/OwnerOfdaIndividuaDetail' + OwnerBusinessOfdaDetails: + $ref: '#/components/examples/OwnerOfdaBusinessDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Owners + operationId: DestroyOwner + summary: Delete an owner + description: Delete a specific owner from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `owner.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/invoices/: + get: + tags: + - Invoices + operationId: ListInvoices + description: > + Get a paginated list of all existing invoices in your Belvo account. By + default, we + + return 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + summary: List all invoices + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/invoice_date' + - $ref: '#/components/parameters/invoice_date__lt' + - $ref: '#/components/parameters/invoice_date__lte' + - $ref: '#/components/parameters/invoice_date__gt' + - $ref: '#/components/parameters/invoice_date__gte' + - $ref: '#/components/parameters/invoice_date__range' + - $ref: '#/components/parameters/invoice_identification' + - $ref: '#/components/parameters/invoice_identification__in' + - $ref: '#/components/parameters/status_invoice' + - $ref: '#/components/parameters/status__in_invoice' + - $ref: '#/components/parameters/type_invoice' + - $ref: '#/components/parameters/type__in_invoice' + - $ref: '#/components/parameters/total_amount' + - $ref: '#/components/parameters/total_amount__lt' + - $ref: '#/components/parameters/total_amount__lte' + - $ref: '#/components/parameters/total_amount__gt' + - $ref: '#/components/parameters/total_amount__gte' + - $ref: '#/components/parameters/total_amount__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesResponsePaginatedResponse' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngresoPaginated' + InvoicePago: + $ref: '#/components/examples/InvoicePagoPaginated' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNominaPaginated' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgresoPaginated' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTrasladoPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Invoices + operationId: RetrieveInvoices + summary: Retrieve invoices for a link + description: > + Retrieve invoice information from a specific fiscal link. + +
Info: You can ask for up to + one year (365 days) of invoices per request. If you need invoices + for more than one year, just make another request.
+ + ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - in: header + name: X-Belvo-Request-Mode + schema: + type: string + enum: + - async + description: > + Recommended header parameter to make your POST request to retrieve + invoices asynchronous (thus preventing timeouts). + + + When you make a asynchronous request, Belvo responds with a `202 - + Accepted` payload, including the `request_id`. Once we have + retrieved the invoice information, you will receive a + `new_invoices_available` webhook with the link and request IDs. + + + + **Note**: This parameter is case sensitive (in other words, if you + write `ASYNC`, then Belvo will default to a synchronous call). + example: async + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngreso' + InvoicePago: + $ref: '#/components/examples/InvoicePago' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNomina' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgreso' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTraslado' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngreso' + InvoicePago: + $ref: '#/components/examples/InvoicePago' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNomina' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgreso' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTraslado' + '202': + description: Accepted (when `X-Belvo-Request-Mode` is `async`) + content: + application/json: + schema: + $ref: '#/components/schemas/AsynchronousAccepted202' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Invoices + operationId: PatchInvoices + summary: Complete an invoices request + description: > + Used to resume an Invoice retrieve session that was paused because an + MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/invoices/{id}/: + get: + tags: + - Invoices + operationId: DetailInvoice + summary: Get an invoice's details + description: > + Get the details of a specific invoice. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - name: id + in: path + required: true + description: The `invoice.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngresoDetail' + InvoicePago: + $ref: '#/components/examples/InvoicePagoDetail' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNominaDetail' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgresoDetail' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTrasladoDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Invoices + operationId: DestroyInvoice + summary: Delete an invoice + description: Delete a specific invoice from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `invoice.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/tax-returns/: + get: + tags: + - Tax returns + operationId: ListTaxReturns + summary: List all tax returns + description: > + Get a paginated list of all existing tax returns in your Belvo account. + By default, we return up to 100 results per page. The results will + include a mix of both + + monthly and yearly tax returns. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/ejercicio' + - $ref: '#/components/parameters/ejercicio__lt' + - $ref: '#/components/parameters/ejercicio__lte' + - $ref: '#/components/parameters/ejercicio__gt' + - $ref: '#/components/parameters/ejercicio__gte' + - $ref: '#/components/parameters/ejercicio__range' + - $ref: '#/components/parameters/tipo_declaracion' + - $ref: '#/components/parameters/tipo_declaracion__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TaxReturnsPersonalPaginated' + - $ref: '#/components/schemas/TaxReturnsPersonalMonthlyPaginated' + - $ref: '#/components/schemas/TaxReturnsBusinessPaginated' + - $ref: '#/components/schemas/TaxReturnsBusinessMonthlyPaginated' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalListPaginated' + TaxReturnPersonalMonthlyPFAE: + $ref: >- + #/components/examples/TaxReturnPersonalListMonthlyPaginatedPFAE + TaxReturnPersonalMonthlyPFAI: + $ref: >- + #/components/examples/TaxReturnPersonalListMonthlyPaginatedPFAI + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessListPaginated' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthlyPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Tax returns + operationId: RetrieveTaxReturns + summary: Retrieve tax returns for a link + description: Retrieve tax return information for a specific fiscal link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TaxReturnsMonthlyRequest' + - $ref: '#/components/schemas/TaxReturnsYearlyRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxReturnPersonal' + - $ref: '#/components/schemas/TaxReturnPersonalMonthly' + - $ref: '#/components/schemas/TaxReturnBusiness' + - $ref: '#/components/schemas/TaxReturnBusinessMonthly' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalList' + TaxReturnPersonalMonthlyPFAE: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAE' + TaxReturnPersonalMonthlyPFAI: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAI' + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessList' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthly' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxReturnPersonal' + - $ref: '#/components/schemas/TaxReturnPersonalMonthly' + - $ref: '#/components/schemas/TaxReturnBusiness' + - $ref: '#/components/schemas/TaxReturnBusinessMonthly' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalList' + TaxReturnPersonalMonthlyPFAE: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAE' + TaxReturnPersonalMonthlyPFAI: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAI' + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessList' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthly' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/tax-returns/{id}/: + get: + tags: + - Tax returns + operationId: DetailTaxReturn + summary: Get a tax return's details + description: Get the details of a specific tax return. + parameters: + - name: id + in: path + required: true + description: The `tax-return.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TaxReturnPersonal' + - $ref: '#/components/schemas/TaxReturnPersonalMonthly' + - $ref: '#/components/schemas/TaxReturnBusiness' + - $ref: '#/components/schemas/TaxReturnBusinessMonthly' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalListDetail' + TaxReturnPersonalMonthlyPFAE: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAEDetail' + TaxReturnPersonalMonthlyPFAI: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAIDetail' + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessListDetail' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthlyDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Tax returns + operationId: DestroyTaxReturn + summary: Delete a tax return + description: Delete a specific tax return from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The ID of the tax return you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/tax-status/: + get: + tags: + - Tax status + operationId: ListTaxStatus + summary: List all tax statuses + description: > + Get a paginated list of all existing tax status in your Belvo account. + By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusPaginatedResponse' + examples: + TaxStatusPersonalListPaginated: + $ref: '#/components/examples/TaxStatusPersonalListPaginated' + TaxStatusBusinessListPaginated: + $ref: '#/components/examples/TaxStatusBusinessListPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Tax status + operationId: RetrieveTaxStatus + summary: Retrieve tax statuses for a link + description: Retrieve tax status information for a specific fiscal link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + examples: + TaxStatusPersonal: + $ref: '#/components/examples/TaxStatusPersonalList' + TaxStatusBusiness: + $ref: '#/components/examples/TaxStatusBusinessList' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + examples: + TaxStatusPersonal: + $ref: '#/components/examples/TaxStatusPersonalList' + TaxStatusBusiness: + $ref: '#/components/examples/TaxStatusBusinessList' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/tax-status/{id}/: + get: + tags: + - Tax status + operationId: DetailTaxStatus + summary: Get a tax status's details + description: Get the details of a specific tax status. + parameters: + - name: id + in: path + required: true + description: The `tax-status.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + examples: + TaxStatusPersonal: + $ref: '#/components/examples/TaxStatusPersonalList' + TaxStatusBusiness: + $ref: '#/components/examples/TaxStatusBusinessList' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Tax status + operationId: DestroyTaxStatus + summary: Delete a tax status + description: Delete a specific tax status from your Belvo account. + parameters: + - name: id + in: path + required: true + description: the `tax-status.id` that you want to delete + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/tax-compliance-status/: + get: + tags: + - Tax compliance status + operationId: ListTaxComplianceStatus + summary: List all tax compliance statuses + description: > + Get a paginated list of all existing Tax compliance statuses in your + Belvo account. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatusPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Tax compliance status + operationId: RetrieveTaxComplianceStatus + summary: Retrieve tax compliance statuses for a link + description: >- + Retrieve the Tax compliance status information for a specific fiscal + link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatusRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatus' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatus' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/tax-compliance-status/{id}/: + get: + tags: + - Tax compliance status + operationId: DetailTaxComplianceStatus + summary: Get a tax compliance status's details + description: Get the details of a specific Tax compliance status. + parameters: + - name: id + in: path + required: true + description: | + The `tax-compliance-status.id` you want to get detailed information + about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatus' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Tax compliance status + operationId: DestroyTaxComplianceStatus + summary: Delete a tax compliance status + description: Delete a specific Tax compliance status from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `tax-compliance-status.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/incomes/: + get: + tags: + - Incomes + operationId: ListIncomes + summary: List all incomes + description: > + Get a paginated list of all incomes in your Belvo account. By default, + we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Incomes + operationId: RetrieveIncome + summary: Retrieve incomes for a link + description: | + Retrieve income insights for checking and savings accounts from a + specific link. You can receive insights for a period of up to 365 days, + depending on the transaction history available for each + [bank](https://developers.belvo.com/docs/institution). + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/Income' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/Income' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Incomes + operationId: PatchIncomes + summary: Complete an incomes request + description: | + Used to resume an Income retrieve session that was paused because an MFA + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Income' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Income' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/incomes/{id}/: + get: + tags: + - Incomes + operationId: DetailIncome + summary: Get an income's details + description: Get the details of a specific income. + parameters: + - name: id + in: path + required: true + description: The `income.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Income' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Incomes + operationId: DestroyIncomes + summary: Delete an income + description: Delete a specific income from your Belvo account. + parameters: + - name: id + in: path + required: true + description: the `income.id` that you want to delete + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/recurring-expenses/: + get: + tags: + - Recurring Expenses + operationId: ListRecurringExpenses + summary: List all recurring expenses + description: > + Get a paginated list of all recurring expenses in your Belvo account. By + default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Recurring Expenses + operationId: RetrieveRecurringExpenses + summary: Retrieve recurring expenses for a link + description: > + Retrieve recurring expense insights for checking and savings + accounts from a + + specific link. You can receive insights for a period of up to 365 days, + + depending on the transaction history available for each + + [bank](https://developers.belvo.com/docs/institution). + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesRequest' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Recurring Expenses + operationId: PatchRecurringExpenses + summary: Complete a recurring expenses request + description: > + Used to resume an Recurring Expenses retrieve session that was paused + because an MFA + + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/recurring-expenses/{id}/: + get: + tags: + - Recurring Expenses + operationId: DetailRecurringExpense + summary: Get a recurring expense's details + description: Get the details of a specific recurring expense. + parameters: + - name: id + in: path + required: true + description: >- + The `recurring-expenses.id` you want to get detailed information + about. + schema: + type: string + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Recurring Expenses + operationId: DestroyRecurringExpense + summary: Delete a recurring expense + description: Delete a specific recurring expense from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `recurring-expenses.id` that you want to delete + schema: + type: string + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/risk-insights/: + get: + tags: + - Risk Insights + operationId: ListRiskInsights + summary: List all risk insights + description: > + Get a paginated list of all risk insight analyses in your Belvo account. + By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsightsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Risk Insights + operationId: RetrieveRiskInsights + summary: Retrieve risk insights for a link + description: > + Request the risk insights for a given link ID. + + + + If you need to know the currency of the account, just do a GET Details + to the accounts endpoint (using the ID you receive from the accounts + response). + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StandardRequest' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsights' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsights' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Risk Insights + operationId: PatchRiskInsights + summary: Complete a risk insights request + description: > + Used to resume an Risk insights retrieve session that was paused because + an MFA + + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RiskInsights' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RiskInsights' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/risk-insights/{id}/: + get: + tags: + - Risk Insights + operationId: DetailRiskInsights + summary: Get a risk insight's details + description: Get the details of a specific risk insight. + parameters: + - name: id + in: path + required: true + description: The `risk-insights.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RiskInsights' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Risk Insights + operationId: DestroyRiskInsights + summary: Delete a risk insight + description: Delete a specific risk insight from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `risk-insights.id` that you want to delete + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/tax-retentions/: + get: + tags: + - Tax retentions + operationId: ListTaxRetentions + summary: List all tax retentions + description: | + Get a paginated list of all existing tax retentions in your Belvo + account. We return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentionsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Tax retentions + operationId: RetrieveTaxRetentions + summary: Retrieve tax retentions for a link + description: >- + Retrieve tax retention information from a specific link. The maximum + number of tax retentions that can be returned for a period is 500. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentionsRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TaxRetentions' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TaxRetentions' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/tax-retentions/{id}/: + get: + tags: + - Tax retentions + operationId: DetailTaxRetentions + summary: Get a tax retention's details + description: Get the details of a specific tax retention. + parameters: + - name: id + in: path + required: true + description: | + The `tax-retention.id` you want to get detailed information + about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentions' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Tax retentions + operationId: DestroyTaxRetention + summary: Delete a tax retention + description: Delete a specific tax retention from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `tax-retention.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/tax-declarations/: + get: + tags: + - Tax declarations + operationId: ListTaxDeclarations + summary: List all tax declarations + description: > + Get a paginated list of all existing tax declarations in your Belvo + account. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/year' + - $ref: '#/components/parameters/year__gt' + - $ref: '#/components/parameters/year__gte' + - $ref: '#/components/parameters/year__lt' + - $ref: '#/components/parameters/year__lte' + - $ref: '#/components/parameters/year__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationIndividualPaginated' + - $ref: '#/components/schemas/TaxDeclarationBusinessPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Tax declarations + operationId: RetrieveTaxDeclarations + summary: Retrieve tax declarations for a link + description: Retrieve tax declaration information for a specific fiscal link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxDeclarationsRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationBusiness' + - $ref: '#/components/schemas/TaxDeclarationIndividual' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationBusiness' + - $ref: '#/components/schemas/TaxDeclarationIndividual' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/tax-declarations/{id}/: + get: + tags: + - Tax declarations + operationId: DetailTaxDeclaration + summary: Get a tax declaration's details + description: Get the details of a specific Tax declaration. + parameters: + - name: id + in: path + required: true + description: | + The `tax-declaration.id` you want to get detailed information + about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationIndividual' + - $ref: '#/components/schemas/TaxDeclarationBusiness' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Tax declarations + operationId: DestroyTaxDeclaration + summary: Delete a tax declration + description: Delete a specific Tax declaration from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `tax-declration.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/employment-records/: + get: + tags: + - Employment Records Mexico + operationId: ListEmploymentRecords + summary: List all employment records + description: > + Get a paginated list of all existing employment records in your Belvo + account. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/internal_identification' + - $ref: '#/components/parameters/internal_identification__in' + - $ref: '#/components/parameters/collected_at' + - $ref: '#/components/parameters/collected_at__gt' + - $ref: '#/components/parameters/collected_at__gte' + - $ref: '#/components/parameters/collected_at__lt' + - $ref: '#/components/parameters/collected_at__lte' + - $ref: '#/components/parameters/collected_at__range' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/EmploymentRecordsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Employment Records Mexico + operationId: RetrieveEmploymentRecordDetails + summary: Retrieve employment record details + description: | + Retrieve employment record details for an individual. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EmploymentRecordRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EmploymentRecord' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EmploymentRecord' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/employment-records/{id}/: + get: + tags: + - Employment Records Mexico + operationId: DetailEmploymentRecord + summary: Get an employment record's details + description: Get the details of a specific employment record. + parameters: + - name: id + in: path + required: true + description: >- + The `employment-record.id` you want to get detailed information + about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/EmploymentRecord' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Employment Records Mexico + operationId: DestroyEmploymentRecord + summary: Delete an employment record + description: Delete a specific employment record from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `employment-record.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/enrich/incomes/: + post: + tags: + - Income Verification + operationId: VerifyIncome + summary: Verify incomes + description: > + Send through your raw data and receive enriched information for each of + your user's income streams. + + + +
+ + + Note: Belvo can process up to 10,000 unique + transactions per request. + + +
+ parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EyodIncomeVerificationRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IncomeEyod' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '403': + 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' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/categorization/: + post: + tags: + - Categorization + operationId: CategorizeTransactions + summary: Categorize transactions + description: > + Send through your raw transaction data and receive enriched information + for each of your transactions. + + + +
+ + + Note: Belvo can process up to 10,000 unique + transactions per request. + + +
+ parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CategorizationRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Categorization' + examples: + CategorizeTransactions: + $ref: '#/components/examples/CategorizationExample' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '403': + 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' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/credit-score/: + get: + tags: + - Credit Score + operationId: ListCreditScores + summary: List all credit scores + description: > + Get a paginated list of all credit scores in your Belvo account. By + default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScorePaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Credit Score + operationId: RetrieveCreditScore + summary: Retrieve a credit score for a link + description: > + Retrieve a credit score for a specific link. + + + Before requesting a credit score for a link, you must also make the + following requests in order for the score to be accurately calculated. + + + - POST Retrieve Accounts for a Link + + - POST Retrieve Transactions for a Link (minimum 30 + days of data, maximum 365 days of data) + + + + + This is because the credit score is calculated based on the + transactional data retrieved from the link. + + + We use up to 12 months of transactional data. + + + The minimum is 30 days of checking account transactional data. + + + The `date_to` parameter is optional and can be used to specify the date + until which you want to retrieve the credit score. If not provided, the + most recent credit score will be retrieved. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScore' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScore' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/credit-score/{id}/: + get: + tags: + - Credit Score + operationId: DetailCreditScore + summary: Get a credit score's details + description: Get the details of a specific credit score. + parameters: + - name: id + in: path + required: true + description: The `credit-score.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScore' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Credit Score + operationId: DestroyCreditScore + summary: Delete a credit score + description: Delete a specific credit score from your Belvo account. + parameters: + - name: id + in: path + required: true + description: the `credit-score.id` that you want to delete + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/enrich/credit-score/: + post: + tags: + - Credit Score (EYOD) + operationId: RetrieveCreditScoreEYOD + summary: Retrieve Credit Score + description: > + Send through your raw data and receive a credit score for a given user. + + + +
+ + + Note: Belvo can process up to 10,000 unique + transactions per request. + + +
+ parameters: [] + requestBody: + required: true + description: Request body for the EYOD credit score analysis. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EyodCreditScoreRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CreditScore' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '403': + 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' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + components: + securitySchemes: + basicAuth: + type: http + scheme: basic + description: >- + Belvo employs **basic authentication** using your secret keys. Just use + your secretId as the `username` and secretPassword as the `password`. + For example: + + + ```text Authentication example + + curl \ + -u =BASE64-SECRET_ID=:=BASE64-SECRET_PASSWORD= + https://sandbox.belvo.com/api/ + ``` + + + For information on how to get your API keys, check out our [Get Started + in 5 + Minutes](https://developers.belvo.com/docs/get-started-in-5-minutes) + DevPortal article. + parameters: + page: + name: page + in: query + description: A page number within the paginated result set. + schema: + example: 1 + format: int32 + type: integer + 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 + omit: + name: omit + in: query + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + schema: + type: string + example: field1,field2 + fields: + name: fields + in: query + description: >- + Return only the specified fields in the response. For more information, + see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + schema: + example: field1,field2,field3 + type: string + id: + name: id + in: query + description: Return information only for this resource `id`. + schema: + type: string + format: uuid + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + id__in: + name: id__in + in: query + description: Return information for these resource `id`s. + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: 6b3dea0f-be29-49d1-aabe-1a6d588642e6 + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + institution: + name: institution + in: query + description: >- + Return results only for this institution (use the Belvo-designated name, + such as `erebor_mx_retail`). + schema: + type: string + example: erebor_mx_retail + institution__in: + name: institution__in + in: query + description: >- + Return results only for these institutions (use the Belvo-designated + names, such as `erebor_mx_retail` and `gringotts_mx_retail`). + style: form + explode: false + schema: + type: array + items: + type: string + example: gringotts_mx_retail + example: erebor_mx_retail,gringotts_mx_retail + access_mode: + name: access_mode + in: query + description: >- + Return links only with this access mode. Can be either `single` or + `recurrent`. + schema: + example: single + type: string + created_at: + name: created_at + in: query + description: >- + Return items that were last updated in Belvo's database on this date (in + `YYYY-MM-DD` format). + schema: + type: string + format: date + example: '2022-05-05' + created_at__gt: + name: created_at__gt + in: query + description: >- + Return items that were last updated in Belvo's database after this date + (in `YYYY-MM-DD` format). + schema: + type: string + format: date + example: '2022-05-05' + created_at__gte: + name: created_at__gte + in: query + description: >- + Return items that were last updated in Belvo's database after or on this + date (in `YYYY-MM-DD` format). + schema: + type: string + format: date + example: '2022-05-04' + created_at__lt: + name: created_at__lt + in: query + description: >- + Return items that were last updated in Belvo's database before this date + (in `YYYY-MM-DD` format). + schema: + type: string + format: date + example: '2022-04-01' + created_at__lte: + name: created_at__lte + in: query + description: >- + Return items that were last updated in Belvo's database before or on + this date (in `YYYY-MM-DD` format). + schema: + type: string + format: date + example: '2022-03-30' + created_at__range: + name: created_at__range + in: query + description: >- + Return accounts that were last updated in Belvo's database between two + dates (in `YYYY-MM-DD` format). + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + format: date + example: '2022-03-03' + example: 2022-03-03,2022-05-04 + created_by__not_in: + name: created_by__not_in + in: query + description: Return links that were not created by these Belvo users. + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: d9475f4d-c511-4732-9ef0-93b5672f43d3 + example: >- + 578947e2-3c9a-4401-bbad-59b2f2d2b91b,d3d941ab-4ca5-43c1-8b23-db329ee4cb7e + external_id: + name: external_id + in: query + description: Return links with this external ID. + schema: + type: string + example: InternalUser4000 + external_id__in: + name: external_id__in + in: query + description: Return links with these external IDs. + style: form + explode: false + schema: + type: array + items: + type: string + example: InternalUser4001 + example: InternalUser4000,InternalUser4001 + institution_user_id: + name: institution_user_id + in: query + description: Return links with this specific institution user ID. + schema: + type: string + example: ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0= + institution_user_id__in: + name: institution_user_id__in + in: query + description: Return links with these institution user IDs. + style: form + explode: false + schema: + type: array + items: + type: string + example: ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0= + example: >- + ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0=,YwuTM0uEEh1BbVgDZBcNpa_-Tm3l2q8ZkZNrlhp-pNA= + refresh_rate: + name: refresh_rate + in: query + description: >- + Return links with this refresh rate. Choose between `6h`, `12h`, `24h`, + `7d`, or `30d`. + schema: + type: string + example: 24h + status_links: + name: status + in: query + description: >- + Return links with this status. Choose between `valid`, `invalid`, + `unconfirmed`, or `token_required`. + schema: + type: string + example: invalid + status__in_links: + name: status__in + in: query + description: >- + Return links with these statuses. Choose between `valid`, `invalid`, + `unconfirmed`, or `token_required`. + style: form + explode: false + schema: + type: array + items: + type: string + example: invalid + example: invalid,unconfirmed + pageSize_query: + 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 + link: + name: link + in: query + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + schema: + type: string + format: uuid + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + link__in: + name: link__in + in: query + description: Return results only for these `link.id`s. + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: 5722d0ba-69d7-42dc-8ff5-33767b83c5d6 + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + balance__available: + name: balance__available + in: query + description: >- + Return accounts that have a `balance.available` matching exactly this + value. + schema: + type: number + example: 4000 + balance__available__lt: + name: balance__available__lt + in: query + description: Return accounts that have a `balance.available` less than this value. + schema: + type: number + example: 6000 + balance__available__lte: + name: balance__available__lte + in: query + description: >- + Return accounts that have a `balance.available` less than or equal to + this value. + schema: + type: number + example: 5999 + balance__available__gt: + name: balance__available__gt + in: query + description: Return accounts that have a `balance.available` greater than this value. + schema: + type: number + example: 2000 + balance__available__gte: + name: balance__available__gte + in: query + description: >- + Return accounts that have a `balance.available` greater than or equal to + this value. + schema: + type: number + example: 1999 + balance__available__range: + name: balance__available__range + in: query + description: >- + Return accounts that have a `balance.available` within a range of two + values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + balance__current: + name: balance__current + in: query + description: >- + Return accounts that have a `balance.current` matching exactly this + value. + schema: + type: number + example: 4000 + balance__current__lt: + name: balance__current__lt + in: query + description: Return accounts that have a `balance.current` less than this value. + schema: + type: number + example: 6000 + balance__current__lte: + name: balance__current__lte + in: query + description: >- + Return accounts that have a `balance.available` less than or equal to + this value. + schema: + type: number + example: 5999 + balance__current__gt: + name: balance__current__gt + in: query + description: Return accounts that have a `balance.current` greater than this value. + schema: + type: number + example: 2000 + balance__current__gte: + name: balance__current__gte + in: query + description: >- + Return accounts that have a `balance.available` greater than or equal to + this value. + schema: + type: number + example: 1999 + balance__current__range: + name: balance__current__range + in: query + description: >- + Return accounts that have a `balance.current` within a range of two + values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + category: + name: category + in: query + description: >- + Return accounts only for the given category (for example, + `CHECKING_ACCOUNT` and `SAVINGS_ACCOUNT`). + schema: + type: string + example: CREDIT_ACCOUNT + category__in: + name: category__in + in: query + description: >- + Return accounts only for the given categories (for example, + `CHECKING_ACCOUNT` and `SAVINGS_ACCOUNT`). + style: form + explode: false + schema: + type: array + items: + type: string + example: SAVINGS_ACCOUNT + example: CHECKING_ACCOUNT,SAVINGS_ACCOUNT + currency: + name: currency + in: query + description: >- + Return results that hold finances or balances in only this three-letter + currency code. + schema: + type: string + example: COP + currency__in: + name: currency__in + in: query + description: >- + Return results that have funds or balances in one of these three-letter + currency codes. + style: form + explode: false + schema: + type: array + items: + type: string + example: COP + example: COP,MXN + name_accounts: + name: name + in: query + description: >- + Return accounts with exactly this internal (specified by the + institution) name. + schema: + type: string + example: Cuenta Perfiles- M.N. - MXN-666 + name__icontains: + name: name__icontains + in: query + description: >- + Return accounts partially matching this internal (specified by the + institution) name. + schema: + example: Perfiles + type: string + number_accounts: + name: number + in: query + description: >- + Return information only for this account number (as specified by the + institution). + schema: + type: string + example: '4057068115181' + number__in_accounts: + name: number__in + in: query + description: >- + Return information for these account numbers (as specified by the + institution). + style: form + explode: false + schema: + type: array + items: + type: string + example: '4057068115181' + example: 4057068115181,7809346821648 + public_identification_name: + name: public_identification_name + in: query + description: >- + Return information only for this type of account ID. For example, CLABE + accounts. + schema: + example: CLABE + type: string + public_identification_value: + name: public_identification_value + in: query + description: >- + Return information only for this account ID. For example, the account + number for a CLABE account. + schema: + example: '150194683119900273' + type: string + type_accounts: + name: type + in: query + description: >- + Return information only for accounts matching this account type, as + designated by the institution. + schema: + type: string + example: Cuentas de efectivo + link__required: + name: link + in: query + required: true + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + schema: + type: string + format: uuid + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + account: + name: account + in: query + description: > + The `account.id` you want to filter by. + + + ℹ️ We highly recommend adding either the `link.id` or the `account.id` + filters in order to improve your performance. + schema: + type: string + format: uuid + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + account__in: + name: account__in + in: query + description: Return results only for these `account.id`s. + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: 85b77707-90ef-46fd-9059-5a757f24247a + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + account__balance__available: + name: account__balance__available + in: query + description: >- + Return transactions that have a `account.balance.available` matching + exactly this value. + schema: + type: number + example: 4000 + account__balance__available__lt: + name: account__balance__available__lt + in: query + description: >- + Return transactions that have a `account.balance.available` less than + this value. + schema: + type: number + example: 6000 + account__balance__available__lte: + name: account__balance__available__lte + in: query + description: >- + Return transactions that have a `account.balance.available` less than or + equal to this value. + schema: + type: number + example: 5999 + account__balance__available__gt: + name: account__balance__available__gt + in: query + description: >- + Return transactions that have a `account.balance.available` more than + this value. + schema: + type: number + example: 6000 + account__balance__available__gte: + name: account__balance__available__gte + in: query + description: >- + Return transactions that have a `account.balance.available` more than or + equal to this value. + schema: + type: number + example: 5999 + account__balance__available__range: + name: account__balance__available__range + in: query + description: >- + Return transactions that have a `account.balance.available` within a + range of two values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + account__balance__current: + name: account__balance__current + in: query + description: >- + Return transactions that have a `account.balance.current` matching + exactly this value. + schema: + type: number + example: 4000 + account__balance__current__gt: + name: account__balance__current__gt + in: query + description: >- + Return transactions that have a `account.balance.current` greater than + this value. + schema: + type: number + example: 4020 + account__balance__current__gte: + name: account__balance__current__gte + in: query + description: >- + Return transactions that have a `account.balance.current` greater than + or equal to this value. + schema: + type: number + example: 4019 + account__balance__current__lt: + name: account__balance__current__lt + in: query + description: >- + Return transactions that have a `account.balance.current` less than this + value. + schema: + type: number + example: 3000 + account__balance__current__lte: + name: account__balance__current__lte + in: query + description: >- + Return transactions that have a `account.balance.current` less than or + equal to this value. + schema: + type: number + example: 2999 + account__balance__current__range: + name: account__balance__current__range + in: query + description: >- + Return transactions that have a `account.balance.current` within a range + of two values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + account_type: + name: account_type + in: query + description: >- + Return information only for transactions matching this account type, as + designated by the institution. + schema: + type: string + example: Cuentas de efectivo + account_type__in: + name: account_type__in + in: query + description: >- + Return information only for transactions matching these account types, + as designated by the institution. + style: form + explode: false + schema: + type: array + items: + type: string + example: Depositos Ahorro + example: Cuentas de efectivo,Depositos Ahorro + accounting_date: + name: accounting_date + in: query + description: >- + Return transactions that were processed by the institution on exactly + this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-05' + accounting_date__gt: + name: accounting_date__gt + in: query + description: >- + Return transactions that were processed by the institution after this + date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-06' + accounting_date__gte: + name: accounting_date__gte + in: query + description: >- + Return transactions that were processed by the institution on this date + (`YYYY-MM-DD`) or later. + schema: + type: string + format: date + example: '2022-05-04' + accounting_date__lt: + name: accounting_date__lt + in: query + description: >- + Return transactions that were processed by the institution before this + date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-03-02' + accounting_date__lte: + name: accounting_date__lte + in: query + description: >- + Return transactions that were processed by the institution on this date + (`YYYY-MM-DD`) or earlier. + schema: + type: string + format: date + example: '2022-03-01' + accounting_date__range: + name: accounting_date__range + in: query + description: >- + Return transactions that were processed by the institution in this date + range (`YYYY-MM-DD`). + style: form + explode: false + schema: + type: array + items: + type: string + format: date + example: '2022-05-06' + example: 2022-03-01,2022-05-06 + amount: + name: amount + in: query + description: Return results only for this value. + schema: + type: number + example: 1000 + amount__gt: + name: amount__gt + in: query + description: Return results only for more than this amount. + schema: + type: number + example: 1000 + amount__gte: + name: amount__gte + in: query + description: Return results only for and more than this amount. + schema: + type: number + example: 1000 + amount__lt: + name: amount__lt + in: query + description: Return results only for less than this amount. + schema: + type: number + example: 1000 + amount__lte: + name: amount__lte + in: query + description: Return results only for this amount or less. + schema: + type: number + example: 1000 + amount__range: + name: amount__range + in: query + description: Return results between this amount range. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 2000 + example: 1001.00,2000.00 + collected_at: + name: collected_at + in: query + description: >- + Return items that were retrieved from the institution on this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + schema: + type: string + example: '2022-05-01' + collected_at__gt: + name: collected_at__gt + in: query + description: >- + Return items that were retrieved from the institution after this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + schema: + type: string + example: '2022-05-05' + collected_at__gte: + name: collected_at__gte + in: query + description: >- + Return items that were retrieved from the institution after or on this + date (`YYYY-MM-DD` or full `ISO-8601` timestamp). + schema: + type: string + example: '2022-05-04' + collected_at__lt: + name: collected_at__lt + in: query + description: >- + Return items that were retrieved from the institution before this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + schema: + type: string + example: '2022-04-01' + collected_at__lte: + name: collected_at__lte + in: query + description: >- + Return items that were retrieved from the institution before or on this + date (`YYYY-MM-DD` or full `ISO-8601` timestamp). + schema: + type: string + example: '2022-03-30' + collected_at__range: + name: collected_at__range + in: query + description: >- + Return items that were retrieved from the institution between two dates + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + example: '2022-05-04' + example: 2022-03-03,2022-05-04 + credit_card_data__bill_name__in: + name: credit_card_data__bill_name__in + in: query + description: Return transactions for one of these bill names. + style: form + explode: false + schema: + type: array + items: + type: string + example: feb-2022 + example: maio-2022,feb-2022 + reference: + name: reference + in: query + description: Returns transactions with this institution-assigned reference number. + schema: + type: string + example: '085904452810319225' + reference__in: + name: reference__in + in: query + description: Returns transactions with these institution-assigned reference numbers. + style: form + explode: false + schema: + type: array + items: + type: string + example: '085904452810319225' + example: 085904452810319225,8703 + status_transactions: + name: status + in: query + description: >- + Return transactions with this status. Can be either `PENDING`, + `PROCESSED`, or `UNCATEGORIZED`. + schema: + type: string + example: PENDING + status__in_transactions: + name: status__in + in: query + description: >- + Return transactions with these statuses. Can be either `PENDING`, + `PROCESSED`, or `UNCATEGORIZED`. + style: form + explode: false + schema: + type: array + items: + type: string + example: PROCESSED + example: PENDING,PROCESSED + type_transactions: + name: type + in: query + description: Return transactions with this type. Can be either `INFLOW` or `OUTFLOW`. + schema: + type: string + example: OUTFLOW + type__in_transactions: + name: type__in + in: query + description: >- + Return transactions with this types. Can be either `INFLOW` or + `OUTFLOW`. + style: form + explode: false + schema: + type: array + items: + type: string + example: INFLOW + example: INFLOW,OUTFLOW + value_date: + name: value_date + in: query + description: Return results for exactly this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-05' + value_date__gt: + name: value_date__gt + in: query + description: Return results that occurred after this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-06' + value_date__gte: + name: value_date__gte + in: query + description: Return results for this date (`YYYY-MM-DD`) or later. + schema: + type: string + format: date + example: '2022-05-04' + value_date__lt: + name: value_date__lt + in: query + description: Return results for before this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-03-02' + value_date__lte: + name: value_date__lte + in: query + description: Return results for this date (`YYYY-MM-DD`) or earlier. + schema: + type: string + format: date + example: '2022-03-01' + value_date__range: + name: value_date__range + in: query + description: Return results for this date (`YYYY-MM-DD`) range. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + format: date + example: '2022-05-06' + example: 2022-03-01,2022-05-06 + account__type: + name: account__type + in: query + description: >- + Return information only for accounts matching this account type, as + designated by the institution. + schema: + type: string + example: Cuentas de efectivo + account__type__in: + name: account__type__in + in: query + description: >- + Return information only for accounts matching these account types, as + designated by the institution. + style: form + explode: false + schema: + type: array + items: + type: string + example: Credito + example: Cuentas de efectivo,Credito + balance: + name: balance + in: query + description: Return balances matching exactly this value. + schema: + type: number + example: 530 + balance__lt: + name: balance__lt + in: query + description: Return balances less than this value. + schema: + type: number + example: 540 + balance__lte: + name: balance__lte + in: query + description: Return balances less than or equal to this value. + schema: + type: number + example: 541 + balance__gt: + name: balance__gt + in: query + description: Return balances greater than this value. + schema: + type: number + example: 520 + balance__gte: + name: balance__gte + in: query + description: Return balances greater than or equal to this value. + schema: + type: number + example: 519 + balance__range: + name: balance__range + in: query + description: Return balances between these two values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 541 + example: 519.00,541.00 + display_name: + name: display_name + in: query + description: Return institutions that partially match this display name. + schema: + example: Erebor Bank + type: string + country_code: + name: country_code + in: query + description: Return institutions only for this two-letter country code. + schema: + example: MX + type: string + 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 + example: BR + example: CO,BR + resources__allin: + name: resources__allin + in: query + description: Return institutions that support these resources. + style: form + explode: false + schema: + type: array + items: + type: string + example: OWNERS + example: ACCOUNTS,OWNERS,TRANSACTIONS + name: + name: name + in: query + description: Return an institution with this Belvo-designated name. + schema: + type: string + example: erebor_mx_retail + 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 + example: gotham_co_business + example: erebor_br_retail,gotham_co_business + 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 + 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 + example: healthy,down + type_institutions: + name: type + in: query + description: >- + Return institutions of this type. You can choose between `bank`, + `fiscal`, or `employment`. + schema: + type: string + example: fiscal + 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 + example: fiscal + example: fiscal,bank + website: + name: website + in: query + description: Return institutions with this website URL. + schema: + type: string + example: https://www.erebor.mx + email: + name: email + in: query + description: Returns owners whose email address match your query. + schema: + type: string + example: lopes.d@gmail.com + display_name__icontains: + name: display_name__icontains + in: query + description: >- + Return owners whose full display name partially matches your query. For + example, `mar` will return results for Mark, Maria, Neymar, Remarque, + and so on. + schema: + type: string + example: Daniela + invoice_date: + name: invoice_date + in: query + description: Return invoices issued exactly on this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-05' + invoice_date__lt: + name: invoice_date__lt + in: query + description: Return balances issued before this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-03-02' + invoice_date__lte: + name: invoice_date__lte + in: query + description: Return balances issued on this date or earlier (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-03-01' + invoice_date__gt: + name: invoice_date__gt + in: query + description: Return invoices issued after this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-06' + invoice_date__gte: + name: invoice_date__gte + in: query + description: Return invoices issued on this date or later (`YYYY-MM-DD`) + schema: + type: string + format: date + example: '2022-05-04' + invoice_date__range: + name: invoice_date__range + in: query + description: Return invoices issued within this date range (`YYYY-MM-DD`). + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + format: date + example: '2022-05-06' + example: 2022-03-01,2022-05-06 + invoice_identification: + name: invoice_identification + in: query + description: Return an invoice with this ID (as provided by the insitution). + schema: + example: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + type: string + invoice_identification__in: + name: invoice_identification__in + in: query + description: Return invoices with these IDs (as provided by the institution). + style: form + explode: false + schema: + type: array + items: + type: string + example: 992B9918-3G6H-4E0B-DAI9-2BE2D833B833 + example: >- + 862B9918-3K6H-4E0B-NAI9-2BE2D833B840,992B9918-3G6H-4E0B-DAI9-2BE2D833B833 + status_invoice: + name: status + in: query + description: >- + Return invoices with this status. Can be either `Vigente` (valid) or + `Cancelado` (cancelled). + schema: + type: string + example: Vigente + status__in_invoice: + name: status__in + in: query + description: >- + Return invoices with these statuses. Can be either `Vigente` (valid) or + `Cancelado` (cancelled). + style: form + explode: false + schema: + type: array + items: + type: string + example: Cancelado + example: Vigente,Cancelado + type_invoice: + name: type + in: query + description: Return invoices of this type. Can be either `OUTFLOW` or `INFLOW`. + schema: + type: string + example: OUTFLOW + type__in_invoice: + name: type__in + in: query + description: Return invoices of these types. Can be either `OUTFLOW` or `INFLOW`. + style: form + explode: false + schema: + type: array + items: + type: string + example: OUTFLOW + example: OUTFLOW,INFLOW + total_amount: + name: total_amount + in: query + description: Return invoices matching exactly this value. + schema: + type: number + example: 1000 + total_amount__lt: + name: total_amount__lt + in: query + description: Return invoices less than this value. + schema: + type: number + example: 540 + total_amount__lte: + name: total_amount__lte + in: query + description: Return invoices less than or equal to this value. + schema: + type: number + example: 541 + total_amount__gt: + name: total_amount__gt + in: query + description: Return invoices greater than this value. + schema: + type: number + example: 520 + total_amount__gte: + name: total_amount__gte + in: query + description: Return invoices greater than or equal to this value. + schema: + type: number + example: 519 + total_amount__range: + name: total_amount__range + in: query + description: Return invoices between these two values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 541 + example: 519.00,541.00 + ejercicio: + name: ejercicio + in: query + description: Return tax returns for exactly this year (`YYYY`). + schema: + type: string + example: '2018' + ejercicio__lt: + name: ejercicio__lt + in: query + description: Return tax returns for before this year (`YYYY`). + schema: + type: string + example: '2020' + ejercicio__lte: + name: ejercicio__lte + in: query + description: Return tax returns for this year and earlier (`YYYY`). + schema: + type: string + example: '2021' + ejercicio__gt: + name: ejercicio__gt + in: query + description: Return tax returns for after this year (`YYYY`). + schema: + type: string + example: '2019' + ejercicio__gte: + name: ejercicio__gte + in: query + description: Return tax returns for this year or later (`YYYY`). + schema: + type: string + example: '2017' + ejercicio__range: + name: ejercicio__range + in: query + description: Return tax returns for this range of years (`YYYY`). + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + example: '2021' + example: 2015,2021 + tipo_declaracion: + name: tipo_declaracion + in: query + description: Return tax returns with this declaration type. + schema: + type: string + example: Normal + tipo_declaracion__in: + name: tipo_declaracion__in + in: query + description: Return tax returns with these declaration types. + style: form + explode: false + schema: + type: array + items: + type: string + example: Commercial + example: Normal,Commercial + year: + name: year + in: query + description: Return results for this year (`YYYY`). + schema: + type: number + example: 2020 + year__gt: + name: year__gt + in: query + description: Return results for after this year (`YYYY`). + schema: + type: number + example: 2020 + year__gte: + name: year__gte + in: query + description: Return results for this year or after (`YYYY`). + schema: + type: number + example: 2019 + year__lt: + name: year__lt + in: query + description: Return results for before this year (`YYYY`). + schema: + type: number + example: 2018 + year__lte: + name: year__lte + in: query + description: Return results for this year or earlier (`YYYY`). + schema: + type: number + example: 2017 + year__range: + name: year__range + in: query + description: Return results between these two years (`YYYY`). + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 2019 + example: 2017,2021 + internal_identification: + name: internal_identification + in: query + description: | + The `internal_identification` you want to filter by. + schema: + type: string + example: BLPM951331IONVGR54 + internal_identification__in: + name: internal_identification__in + in: query + description: | + One or more `internal_identification`s you want to filter by. + style: form + explode: false + schema: + type: array + items: + type: string + example: BLPM951331IONVGR54 + example: BLPM951331IONVGR54,GNQM951221IOMCGR59 + schemas: + 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 + nullable: true + 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}/?page=2 + previous: + type: string + nullable: true + format: uri + description: > + The URL to the previous page of results. If there is no previous + page, the + + value is `null`. + example: null + EnumLinkAccessModeResponse: + type: string + nullable: true + enum: + - single + - recurrent + - null + description: > + The link type. + + For more information, see our + [Links](https://developers.belvo.com/docs/links-and-institutions#links) + article. + + We return one of the following enum values: + - `single` + - `recurrent` + - `null` + example: recurrent + EnumLinkStatus: + type: string + enum: + - valid + - invalid + - unconfirmed + - token_required + description: > + The current status of the link. For more information, see our + [Link](https://developers.belvo.com/docs/links-and-institutions#links) + article in the devportal. + + We return one of the following values: + - `valid` + - `invalid` + - `unconfirmed` + - `token_required` + example: valid + EnumLinkRefreshRate: + type: string + nullable: true + default: 7d + enum: + - 6h + - 12h + - 24h + - 7d + - 30d + - null + description: > + The update refresh rate for the recurrent link. For more information, + check out our [recurrent link + documentation](https://developers.belvo.com/docs/links-and-institutions#recurrent-links) + in our DevPortal. + + We return one of the following enum values: + - `6h` + - `12h` + - `24h` + - `7d` (default) + - `30d` (once a month) + - `null` (for single links) + example: 7d + Link: + type: object + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the current Link. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + type: string + description: | + Belvo's name for the institution. + example: erebor_mx_retail + access_mode: + $ref: '#/components/schemas/EnumLinkAccessModeResponse' + last_accessed_at: + type: string + nullable: true + format: date-time + description: > + The ISO-8601 timestamp of Belvo's most recent successful access to + the institution for the given link. + example: '2019-09-27T13:02:03.584Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + external_id: + type: string + nullable: true + minLength: 3 + description: > + The `external_id` you provided as an additional identifier for the + link. + + For more information, see our [Link creation + + article](https://developers.belvo.com/docs/link-creation-best-practices#adding-your-own-identifier). + example: 56ab5706-6e00-48a4-91c9-ca55968678d9 + institution_user_id: + type: string + pattern: '[A-Za-z0-9\-=_]{44}' + description: > +
+ + Info: Only applicable for links created after + 08-02-2022. + +
+ + + + A unique 44-character string that can be used to identify a user at + a given institution. + + + + 📚 Check out our [Avoiding duplicated + links](https://developers.belvo.com/docs/link-creation-best-practices#avoiding-duplicated-links) + DevPortal article for more information and tips on how to use it. + example: sooE7XJWEKypZJR603ecaWYk-8Ap0oD8Nr1pBQ4eG9c= + status: + $ref: '#/components/schemas/EnumLinkStatus' + created_by: + type: string + format: uuid + description: The unique ID for the user that created this link. + example: bcef7f35-67f2-4b19-b009-cb38795faf09 + refresh_rate: + $ref: '#/components/schemas/EnumLinkRefreshRate' + credentials_storage: + type: string + description: > + Indicates how long credentials are stored. For links where + `access_mode=recurrent`, this is set to `store`. + + + We return one of the following values: + + - `store` - credentials are stored (until the link is deleted). + - `nostore` - credentials are not stored. + - Any value between `1d` and `365d` to indicate the number of days the credentials are stored (from when the link was `created_at`). + + example: 27d + fetch_resources: + type: array + description: | + An array of resources that you will receive a historical update for. + items: + type: string + description: A Belvo resource that the institution supports. + example: ACCOUNTS + example: + - ACCOUNTS + - TRANSACTIONS + stale_in: + type: string + nullable: true + description: > + Indicates how long any data will be stored in Belvo's database for + the link (both single and recurrent), relative to the + `last_accessed_at` parameter. + example: 90d + PaginatedResponseLink: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + items: + $ref: '#/components/schemas/Link' + 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 401 authentication_failed errors. + example: authentication_failed + message: + type: string + description: | + A short description of the error. + + + For `authentication_failed` errors, the description is: + + - `Invalid Secret Keys`. + example: Invalid Secret Keys + 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 + 401_consent_without_accounts_error: + 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 401 consent_without_accounts errors. + example: consent_without_accounts + message: + type: string + description: > + A short description of the error. + + + + For `invalid` errors relating to `fetch_resources`, the description + is: + + - `The institution only supports the following resources: (comma-separated list of supported resources)`. + example: >- + The institution only supports the following resources: + EMPLOYMENT_RECORDS, OWNERS + 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 + EnumLinkAccessModeRequest: + type: string + enum: + - single + - recurrent + description: > + The type of link to create. + + + - Use `single` to do ad hoc one-time POST requests for accounts, owners, + and transactions. + + - Use `recurrent` to have Belvo access information on a recurrent basis + so you always have fresh account, owner, balance, and transaction data. + + + For more information, see our + [Links](https://developers.belvo.com/docs/links-and-institutions#links) + article. + default: recurrent + LinksRequest: + type: object + required: + - institution + - username + properties: + institution: + type: string + pattern: '[a-z]+_[a-z]{2}_[a-z]+' + description: The Belvo name for the institution. + example: erebor_mx_retail + username: + type: string + description: The end-user's username (or ID) used to log in to the institution. + example: username + password: + type: string + description: > + The end-user's password used to log in to the institution. + + + ℹ️ **Note**: You must send through a password for all institutions + except for IMSS (`imss_mx_employment`). + example: password + external_id: + type: string + minLength: 3 + description: > + An additional identifier for the link, provided by you, to store + + in the Belvo database. **Cannot** include any Personal Identifiable + Information (PII). **Must** be at least three characters long. + + + + If we identify that the identifier contains PII, we will force a + `null` value. For more information, see our [Link + + creation + + article](https://developers.belvo.com/docs/link-creation-best-practices#adding-your-own-identifier). + example: 56ab5706-6e00-48a4-91c9-ca55968678d9 + username2: + type: string + description: > + The end-user's second username (or email address) used to log in to + the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a second username, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + example: secondusername + username3: + type: string + description: > + The end-user's third username used to log in to the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a third username, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + example: thirdusername + password2: + type: string + description: > + The end-user's second password used to log in to the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a second password, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + example: pin + token: + type: string + description: > + The MFA token required by the bank to log in. + + + We do not recommend sending the authentication token in the same + request as registering the user. See our [Handling multi-factor + authentication](https://developers.belvo.com/docs/handling-2-factor-authentication) + article for more information and best practices. + example: 1234ab + access_mode: + $ref: '#/components/schemas/EnumLinkAccessModeRequest' + fetch_resources: + type: array + description: > + An array of resources that you would like to receive a historical + update for. + + + For banking institutions, you can select the following resources: + - `ACCOUNTS` + - `OWNERS` + - `TRANSACTIONS` + - `BILLS` (only for OFDA institutions) + - `INCOMES` + - `RECURRING_EXPENSES` + - `RISK_INSIGHTS` + - `CREDIT_SCORE` + + + For fiscal institutions, you can select the following resources: + - `INVOICES` + - `TAX_COMPLIANCE_STATUS` + - `TAX_DECLARATIONS` + - `TAX_RETENTIONS` + - `TAX_RETURNS` + - `TAX_STATUS` + + For employment institutions, you can select the following resources: + - `OWNERS` + - `EMPLOYMENT_RECORDS` + - `EMPLOYMENT_METRICS` + + items: + type: string + description: A Belvo resource that the institution supports. + example: ACCOUNTS + example: + - ACCOUNTS + - TRANSACTIONS + credentials_storage: + type: string + description: > + Indicates whether or not to store credentials (and the duration for + which to store the credentials). + + + - For recurrent links, this is set to `store` by default (and cannot + be changed). + + - For single links, this is set to `365d` by default. + + + Choose either: + - `store` to store credentials (until the link is deleted) + - `nostore` to not store credentials + - Any value between `1d` and `365d` to indicate the number of days you want the credentials to be stored. + example: 27d + stale_in: + type: string + description: > + Indicates how long any data should be stored in Belvo's database for + the link (both single and recurrent). For example, if you send + through `90d`, Belvo will remove any data from its database relating + to the user after 90 days. + + + > **Note**: Belvo will only remove data for links that have not been + updated in the period you provide in `stale_in`. + + > + + > For example, if you set `stale_in` to `42d` and only request + information once on that day, then Belvo will remove any data + associated with the link after 42 days. However, if you make another + request five days later, then Belvo will restart the day counter to + that day. + + + By default Belvo stores user data for 365 days, unless the link is + deleted. + example: 42d + username_type: + type: string + description: > + Type of document to be used as a username. + + + Some banking institutions accept different documents to be used as + the `username` to login. For example, the *Cédula de Ciudadanía*, + *Cédula de Extranjería*, *Pasaporte'*, and so on. + + + For banks that require a document to log in, you **must** provide + the `username_type` parameter to specify which document is used when + creating the link. + + + ℹ️ To know which institutions require the `username_type` parameter, + get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + + + For a list of standards codes, see the table below. + + + | Code | Description | + + |-----------|-------| + + | `001` | Cédula de Ciudadanía | + + | `002` | Cédula de Extranjería | + + | `003` | Pasaporte | + + | `004` | Tarjeta de Identidad | + + | `005` | Registro Civil | + + | `006` | Número Identificación Personal | + + | `020` | NIT | + + | `021` | NIT Persona Natural | + + | `022` | NIT Persona Extranjera | + + | `023` | NIT Persona Jurídica | + + | `024` | NIT Menores | + + | `025` | NIT Desasociado | + + | `030` | Trj. Seguro Social Extranjero | + + | `031` | Sociedad Extranjera sin NIT en Colombia | + + | `032` | Fideicomiso | + + | `033` | RIF Venezuela | + + | `034` | CIF | + + | `035` | Número de Identidad | + + | `036` | RTN | + + | `037` | Cédula de Identidad | + + | `038` | DIMEX | + + | `039` | CED | + + | `040` | PAS | + + | `041` | Documento Único de Identidad | + + | `042` | NIT Salvadoreño | + + | `100` | Agência e conta | + + | `101` | Código do operador | + + | `102` | Cartão de crédito | + + | `103` | CPF | + example: '001' + TooManySessionsError: + type: object + title: Too Many Sessions + description: | + This error occurs when: + + - a user is attempting to log in to their institution via Belvo while also already being logged in to their institution on a web browser or mobile app. + - you make a request for information while Belvo is scraping data from the institution for that user. + properties: + code: + type: string + description: > + A unique error code (`too_many_sessions`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 too_many_sessions errors. + example: too_many_sessions + message: + type: string + description: | + A short description of the error. + + + For `too_many_sessions` errors, the description is: + + - `Impossible to login, a session is already opened with the institution for these credentials`. + example: >- + Impossible to login, a session is already opened with the + institution for these credentials + 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 + LoginError: + type: object + title: Login Error + description: | + This error can occur when: + + - the credentials that your user provides are incorrect or missing. + - the MFA token your user provides is not supported by Belvo. + - there is an issue with the institution that prevents logins. + - the user's account is either locked or the user does not have permission to access their internet banking. + properties: + code: + type: string + description: > + A unique error code (`login_error`) that allows you to classify and + handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 login_error errors. + example: login_error + message: + type: string + description: > + A short description of the error. + + + + For `login_error` errors, the description can be one of the + following: + + - `Invalid credentials provided to login to the institution` + - `A MFA token is required by the institution, but it's not supported yet by Belvo.` + - `Impossible to login, something unexpected happened while logging into the institution. Try again later.` + - `Login not attempted due to invalid credentials` + - `Missing credentials to login to the institution` + - `The user account access was forbidden by the institution` + - `The user account is locked, user needs to contact the institution to unlock it` + + example: Invalid credentials provided to login to the institution + 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 + SessionExpiredError: + type: object + title: Session Expired + description: > + This error occurs when you try to resume a request session that has + already expired. This is usually because the user took too long to + provide their authentication token. + properties: + code: + type: string + description: > + A unique error code (`session_expired`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 session_expired errors. + example: session_expired + message: + type: string + description: | + A short description of the error. + + + For `session_expired` errors, the description is: + + - `The session you are trying to resume has expired, please start again from register/retrieve endpoint`. + example: >- + The session you are trying to resume has expired, please start again + from register/retrieve endpoint + 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 + ValidationError: + type: object + title: Validation Error + description: > + This error occurs when make a request that does not include all the + required fields or includes invalid data. + properties: + code: + type: string + description: > + A unique error code (`null`, `does_not_exist`, `required`) that + allows you to classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle: + - 400 blank errors + - 400 null errors + - 400 does_not_exist errors + - 400 required errors + example: required + message: + type: string + description: | + A short description of the error. + + + For validation errors, the description can be (among others): + + - `This field is required.` + - `Object with name=narnia does not exist.` + - `This field may not be null.` + - `This field may not be blank.` + example: This field is required. + 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 + field: + type: string + nullable: true + description: | + Name of the field where the error was encountered. + example: link + InstitutionDownError: + type: object + title: Institution Down + description: > + This error occurs when the institution's website that you're trying to + access is down due to maintenance or other issues, which means Belvo is + unable to create new links or retrieve new data. + properties: + code: + type: string + description: > + A unique error code (`institution_down`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 institution_down errors. + example: institution_down + message: + type: string + description: | + A short description of the error. + + + For `institution_down` errors, the description is: + + - `The financial institution is down, try again later`. + example: The financial institution is down, try again later + 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 + InstitutionUnavailableError: + type: object + title: Institution Unavailable + description: > + This error occurs when the institution's website that you're trying to + access is down due to maintenance or other issues, which means Belvo is + unable to create new links or retrieve new data. + properties: + code: + type: string + description: > + A unique error code (`institution_unavailable`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how handle 400 institution_unavailable errors. + example: institution_unavailable + message: + type: string + description: | + A short description of the error. + + + For `institution_unavailable` errors, the description is: + + - `The financial institution is unavailable`. + example: The financial institution is unavailable + 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 + InstitutionInactiveError: + type: object + title: Institution Inactive + description: > + This error occurs when we (Belvo) have deactivated the institution in + our API. + properties: + code: + type: string + description: > + A unique error code (`institution_inactive`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 institution_inactive errors. + example: institution_inactive + message: + type: string + description: | + A short description of the error. + + + For `institution_inactive` errors, the description is: + + - `The institution has been temporarily deactivated`. + example: The institution has been temporarily deactivated + 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 + InvalidLinkError: + type: object + title: Invalid Link + description: > + This error occurs when you try to access an account but the user + credentials are no longer valid, prompting an error from the + institution. + properties: + code: + type: string + description: > + A unique error code (`invalid_link`) that allows you to classify and + handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_link errors. + example: invalid_link + message: + type: string + description: | + A short description of the error. + + + For `invalid_link` errors, the description is: + + - `The link has been invalidated. You may need to update link credentials`. + example: >- + The link has been invalidated. You may need to update link + credentials + 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 + 400InvalidCredentialsStorageError: + type: object + title: Invalid Credentials Storage + 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`. + properties: + code: + type: string + description: > + A unique error code (`invalid_credentials_storage`) that allows you + to classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_credentials_storage errors. + example: login_error + message: + type: string + description: > + A short description of the error. + + + + For `invalid_credentials_storage` errors, the description can be one + of the following: + + - `Recurrent links must store the credentials` + + example: Recurrent links must store the credentials + 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 + 400InvalidFetchHistorical: + type: object + title: Invalid Fetch Resources + 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`. + properties: + code: + type: string + description: > + A unique error code (`invalid_fetch_resources`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_fetch_resources errors. + example: invalid_fetch_resources + message: + type: string + description: > + A short description of the error. + + + + For `invalid_fetch_resources` errors, the description can be one of + the following: + + - `Single links without stored credentials must fetch resources` + + example: Single links without stored credentials must fetch resources + 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 + 400InvalidResourcesError: + type: object + title: Invalid Resources + description: > + This error occurs when you attempted to create a link where you added + resources in `fetch_resources` that are unsupported by the institution. + properties: + field: + type: string + description: > + The request parameter that is causing the error. For invalid + resources, this will be set to `resources`. + example: resources + code: + type: string + description: > + A unique error code (`invalid`) that allows you to classify and + handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_period errors. + example: invalid + message: + type: string + description: > + A short description of the error. + + + + For `invalid` errors relating to `fetch_resources`, the description + is: + + - `The institution only supports the following resources: (comma-separated list of supported resources)`. + example: >- + The institution only supports the following resources: + EMPLOYMENT_RECORDS, OWNERS + 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 + UnconfirmedLinkError: + type: object + title: Unconfirmed Link + description: > + This error occurs when you try to access a link that was paused + previously (and as such is not active now). + + + A Link's status is set to `unconfirmed_link` when your user has not + completed the Link creation process successfully (for example, they + might not provide a valid MFA token). + properties: + code: + type: string + description: > + A unique error code (`unconfirmed_link`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 unconfirmed_link errors. + example: unconfirmed_link + message: + type: string + description: | + A short description of the error. + + + For `unconfirmed_link` errors, the description is: + + - `The link creation has not been completed yet`. + example: The link creation has not been completed yet + 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 + UnsupportedOperationError: + type: object + title: Unsupported Operation + description: > + This error occurs when you try to access some data operation that Belvo + does not support for an institution. For example, trying to access the + Balances resource for fiscal institutions. + properties: + code: + type: string + description: > + A unique error code (`unsupported_operation`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 unsupported_operation errors. + example: unsupported_operation + message: + type: string + description: | + A short description of the error. + + + For `unsupported_operation` errors, the description is: + + - `The resource you are trying to access is not supported by this institution`. + example: >- + The resource you are trying to access is not supported by this + institution + 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 + TokenRequiredResponseTokenGenerationData: + type: object + description: Details on how to generate the token. + properties: + instructions: + type: string + description: Instructions for token generation. + example: Use this code to generate the token + type: + type: string + description: | + Type of the data to generate the token (QR code, numeric + challenge). + example: numeric + value: + type: string + description: Value to use to generate the token. + example: '12345' + expects_user_input: + type: boolean + description: > + Indicates whether the user needs to provide input in order to + complete the authentication. + + + When set to `false`, your user may need to: + + + - confirm the login on another device + + - scan a QR code + + + You will still need to make a PATCH call to complete the request. + example: true + default: true + TokenRequiredResponse: + type: object + description: MFA Token Required + properties: + code: + type: string + description: > + A unique error code (`token_required`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 428 token_required errors. + example: token_required + message: + type: string + description: | + A short description of the error. + + + For `token_required` errors, the description is: + + - `A MFA token is required by the institution to login`. + example: A MFA token is required by the institution to login + 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: 8c7b283c6efa449c9c028a16b5c249fa + session: + type: string + pattern: '[a-f0-9]{32}' + description: > + A 32-character unique ID of the login session (matching a regex + pattern of: `[a-f0-9]{32}`). + example: 2675b703b9d4451f8d4861a3eee54449 + expiry: + type: integer + format: int32 + description: Session duration time in seconds. + example: 9600 + link: + type: string + format: uuid + description: | + Unique identifier created by Belvo, used to reference the current + Link. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + token_generation_data: + $ref: '#/components/schemas/TokenRequiredResponseTokenGenerationData' + 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 500 unexpected_error errors. + example: unexpected_error + message: + type: string + description: | + A short description of the error. + + + For `unexpected_error` errors, the description is: + + - `Belvo is unable to process the request due to an internal system issue or to an unsupported response from an institution`. + example: >- + Belvo is unable to process the request due to an internal system + issue or to an unsupported response from an institution + 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 + PatchBodyWithoutSaveData: + type: object + description: A JSON object containing a session UUID and a MFA token + required: + - session + - link + properties: + session: + type: string + pattern: '[a-f0-9]{32}' + description: | + The session you want to resume. You need to use the `session` value + that is provided in the 428 Token Required response that you receive + after you make your POST request. + example: 6e7b283c6efa449c9c028a16b5c249fa + token: + type: string + description: | + The MFA token generated by the institution and required to continue + a session. + example: 1234ab + link: + type: string + format: uuid + description: | + The `link.id` you want to resume. Must be the same `link.id` as the + one you receive in the 428 Token Required response that contains the + `session` ID. + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + 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. + + + + ℹ️ Check our DevPortal for more information on how to handle 404 not_found errors. + example: not_found + message: + type: string + description: | + A short description of the error. + + + For `not_found` errors, the description is: + + - `Not found` + example: Not found + 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 + LinksPutRequest: + type: object + required: + - institution + - username + - password + properties: + password: + type: string + description: The end-user's password used to log in to the institution. + example: password + password2: + type: string + description: > + The end-user's second password used to log in to the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a second password, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + example: pin + token: + type: string + description: | + The MFA token required by the bank to log in. + example: 1234ab + username_type: + type: string + description: | + Type of document to be used as a username. + + Some banking institutions accept different documents to be used as the `username` to login. For example, the *Cédula de Ciudadanía*, *Cédula de Extranjería*, *Pasaporte'*, and so on. + + For banks that require a document to log in, you **must** provide the `username_type` parameter to specify which document is used when creating the link. + + ℹ️ To know which institutions require the `username_type` parameter, get the [details](https://developers.belvo.com/reference/detailinstitution) for the institution and check the `form_fields` array in the response. + + For a list of standards codes, see the table below. + + | Code | Description | + |-----------|-------| + | `001` | Cédula de Ciudadanía | + | `002` | Cédula de Extranjería | + | `003` | Pasaporte | + | `004` | Tarjeta de Identidad | + | `005` | Registro Civil | + | `006` | Número Identificación Personal | + | `020` | NIT | + | `021` | NIT Persona Natural | + | `022` | NIT Persona Extranjera | + | `023` | NIT Persona Jurídica | + | `024` | NIT Menores | + | `025` | NIT Desasociado | + | `030` | Trj. Seguro Social Extranjero | + | `031` | Sociedad Extranjera sin NIT en Colombia | + | `032` | Fideicomiso | + | `033` | RIF Venezuela | + | `034` | CIF | + | `035` | Número de Identidad | + | `036` | RTN | + | `037` | Cédula de Identidad | + | `038` | DIMEX | + | `039` | CED | + | `040` | PAS | + | `041` | Documento Único de Identidad | + | `042` | NIT Salvadoreño | + | `100` | Agência e conta | + | `101` | Código do operador | + | `102` | Cartão de crédito | + | `103` | CPF | + example: '001' + certificate: + type: string + description: > + For certain fiscal institutions, it is possible to log in using a + certificate and a private key, which enables a faster connection to + the institution. + + + Belvo supports a base64 encoded `certificate`. If the `certificate` + parameter is used, you *must* also provide the `private_key` + parameter. + example: 1234567890abcd= + private_key: + type: string + description: > + For certain fiscal institutions, it is possible to log in using a + certificate and a private key, which enables a faster connection to + the institution. + + + Belvo supports a base64 encoded `private_key`. If the `private_key` + parameter is used, you *must* also provide the `certificate` + parameter. + example: 1234567890abcd= + ChangeAccessMode: + type: object + required: + - access_mode + properties: + access_mode: + $ref: '#/components/schemas/EnumLinkAccessModeRequest' + InvalidAccessMode: + type: object + title: Invalid Access Mode + description: > + This error occurs when you try to update a link from single to + recurrent, but there are no login credentials stored for the user. + properties: + code: + type: string + description: > + A unique error code (`invalid_access_mode_switch`) that allows you + to classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_access_mode_switch errors. + example: invalid_link + message: + type: string + description: | + A short description of the error. + + + For `invalid_access_mode_switch` errors, the description is: + + - `This link doesn't have stored credentials hence it can't be switched to recurrent mode"`. + example: >- + This link doesn't have stored credentials hence it can't be switched + to recurrent mode" + 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 + EnumInstitutionType: + type: string + enum: + - bank + - fiscal + - employment + description: | + The type of institution. We return one of the following values: + + - `bank` + - `fiscal` + - `employment` + InstitutionAccount: + type: object + description: Details regarding the institution. + properties: + name: + type: string + example: erebor_mx_retail + description: > + The name of the institution, as designated by Belvo. + + + Please see our + [Institutions](https://developers.belvo.com/docs/institution) + DevPortal article for a detailed list of institution names. + type: + $ref: '#/components/schemas/EnumInstitutionType' + EnumAccountCategory: + type: string + nullable: true + enum: + - CHECKING_ACCOUNT + - CREDIT_CARD + - INVESTMENT_ACCOUNT + - LOAN_ACCOUNT + - PENSION_FUND_ACCOUNT + - SAVINGS_ACCOUNT + - UNCATEGORIZED + - null + description: | + The type of account. + We return one of the following enum values: + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `INVESTMENT_ACCOUNT` + - `LOAN_ACCOUNT` + - `PENSION_FUND_ACCOUNT` + - `SAVINGS_ACCOUNT` + - `UNCATEGORIZED` + - `null` + example: CHECKING_ACCOUNT + AccountsBalance: + type: object + required: + - current + description: | + Details regarding the current and available balances for the account. + properties: + current: + type: number + nullable: true + format: float + description: > + The current balance is calculated differently according to the type + of account. + + + + - **💰 Checking and saving accounts**: + + + + The user's account balance at the `collected_at` timestamp. + + + - **💳 Credit cards**: + + + + The 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). + + + - **🏡 Loan accounts**: + + + + The amount remaining to pay on the users's loan. + example: 5874.13 + available: + type: number + nullable: true + format: float + description: > + The balance that the account owner can use. + + + - **💰 Checking and saving accounts**: + + + + The available balance may be different to the `current` balance due + to pending transactions. + + + - **💳 Credit cards**: + + + + The 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. + + + - **🏡 Loan accounts**: + + + + The present value required to pay off the loan, as provided by the + institution. + + + + **Note:** If the institution does not provide this value, we return + `null`. + example: 5621.12 + AccountsCreditData: + type: object + nullable: true + required: + - credit_limit + - cutting_date + - next_payment_date + - minimum_payment + - no_interest_payment + - interest_rate + - collected_at + description: The credit options associated with this account. + properties: + credit_limit: + type: number + nullable: true + format: float + example: 192000 + description: The maximum amount of credit the owner can receive. + collected_at: + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + cutting_date: + type: string + nullable: true + example: '2019-12-11' + description: The closing date of the credit period, in `YYYY-MM-DD` format. + next_payment_date: + type: string + description: The due date for the next payment , in `YYYY-MM-DD` format. + example: '2019-12-13' + minimum_payment: + type: number + nullable: true + format: float + example: 2400.3 + description: The minimum amount to be paid on the `next_payment_date`. + no_interest_payment: + type: number + nullable: true + format: float + example: 2690.83 + description: The minimum amount required to pay to avoid generating interest. + interest_rate: + type: number + nullable: true + format: float + description: The annualized interest rate of the credit. + example: 4 + monthly_payment: + type: number + 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.* + + + *The recurrent monthly payment, if applicable.* + example: null + 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.* + + + + *The date when the last credit payment was made, in `YYYY-MM-DD` + format.* + example: null + last_period_balance: + 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.* + + + + *The balance remaining after the `last_payment_date`.* + example: null + EnumLoanDataInterestRateType: + type: string + nullable: true + enum: + - MONTHLY + - YEARLY + description: > + The period that the interest is applied to the loan. We return one of + the following values: + + - `MONTHLY` + - `YEARLY` + example: MONTHLY + AccountsLoanDataInterestRate: + type: object + required: + - name + - type + - value + description: Breakdown of the interest applied to the loan. + properties: + name: + type: string + nullable: true + description: The name of the type of interest rate applied to the loan. + example: jurosEfetivo + type: + $ref: '#/components/schemas/EnumLoanDataInterestRateType' + value: + type: number + nullable: true + format: float + description: The interest rate (in percent or currency value). + example: 7.85 + EnumLoanDataFeeType: + type: string + enum: + - OPERATION_FEE + - INSURANCE_FEE + - OTHERS + description: | + The type of fee. We return one of the following values: + + - `OPERATION_FEE` + - `INSURANCE_FEE` + - `OTHERS` + example: OPERATION_FEE + AccountsLoanDataFees: + type: object + nullable: true + required: + - type + - value + description: Breakdown of the fees applied to the loan. + properties: + type: + $ref: '#/components/schemas/EnumLoanDataFeeType' + value: + type: number + format: float + description: | + The total value of the fee. Same currency of the Loan. + example: 5.6 + AccountsLoanData: + type: object + nullable: true + required: + - principal + - monthly_payment + - outstanding_balance + - interest_rates + - collected_at + description: The loan options associated with this account. + properties: + collected_at: + type: string + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2022-02-09T08:45:50.406032Z' + contract_amount: + type: number + nullable: true + format: float + description: >- + The initial total loan amount, calculated by the institution, when + the contract was signed. This amount includes the principal + + interest + taxes + fees. + example: 202000 + principal: + type: number + nullable: true + format: float + description: Total amount of the loan (the amount the user receives). + example: 192000 + loan_type: + type: string + nullable: true + description: The type of the loan, according to the institution. + example: Consignado + payment_day: + type: string + nullable: true + description: >- + The day of the month by which the owner needs to pay the loan + (`DD`). + example: '27' + outstanding_principal: + type: number + nullable: true + format: float + description: > + Outstanding loan amount, that is, how much remains to pay on the + principal (not including interest). + example: 142023 + outstanding_balance: + type: number + nullable: true + format: float + description: The amount remaining to pay in total, including interest. + example: 182000 + monthly_payment: + type: number + nullable: true + format: float + description: The recurrent monthly payment, if applicable. + example: 1000 + interest_rates: + type: array + nullable: true + description: Breakdown of the interest applied to the loan. + items: + $ref: '#/components/schemas/AccountsLoanDataInterestRate' + fees: + type: array + nullable: true + description: Breakdown of the fees applied to the loan. + items: + $ref: '#/components/schemas/AccountsLoanDataFees' + number_of_installments_total: + type: integer + nullable: true + format: int32 + description: The total number of installments required to pay the loan. + example: 60 + number_of_installments_outstanding: + type: integer + nullable: true + format: int32 + description: The number of installments left to pay. + example: 48 + contract_start_date: + type: string + nullable: true + description: The date when the loan contract was signed , in `YYYY-MM-DD` format. + example: '2020-03-01' + contract_end_date: + type: string + format: date + description: >- + The date when the loan is expected to be completed, in `YYYY-MM-DD` + format. + example: '2027-10-01' + contract_number: + type: string + nullable: true + description: The contract number of the loan, as given by the institution. + example: 890ASLDJF87SD00 + credit_limit: + type: number + 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.* + + + Please see `principal` instead. + example: null + last_period_balance: + type: number + 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.* + + + Please see `outstanding_balance` instead. + example: null + interest_rate: + type: number + 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.* + + + Please see the `interest_rates` object instead. + example: null + limit_day: + 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.* + + + Please see `payment_day` instead. + example: null + cutting_day: + 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.* + + + The closing day of the month for the loan. + example: null + cutting_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.* + + + The closing date of the loan period, in `YYYY-MM-DD` format. + example: null + 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.* + + + The date when the last loan payment was made, in `YYYY-MM-DD` + format. + next_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.* + + + Please use `payment_day` instead, in `YYYY-MM-DD` format. + example: null + no_interest_payment: + type: number + 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.* + + + The minimum amount required to pay to avoid generating interest. + example: null + AccountsFundsDataPublicIdentifications: + type: object + required: + - name + - value + properties: + name: + type: string + description: The type of identification number for the fund. + example: CNPJ + value: + type: string + nullable: true + description: The fund's identification number. + example: 05.954.445/0221-68 + AccountsFundsData: + type: object + properties: + collected_at: + type: string + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + name: + type: string + nullable: true + example: FIX X + description: The pension fund name. + type: + type: string + nullable: true + example: CNPJ + description: Type of pension fund. + public_identifications: + type: array + nullable: true + description: The fund's public IDs. + items: + $ref: '#/components/schemas/AccountsFundsDataPublicIdentifications' + balance: + type: number + nullable: true + format: float + example: 88427.94 + description: The amount in the fund. + percentage: + type: number + nullable: true + format: float + example: 100 + description: | + How much this fund, as a percentage, contributes to the pension + account's total. + Account: + type: object + nullable: true + title: Accounts Standard (Multi-Region) + description: > + Details regarding the account. + + + **Note**: For our recurring expenses resource, this account relates to + the account that was analyzed to generate the recurring expenses report. + 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 + description: | + The unique identifier created by Belvo used to reference the current + account. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: + type: string + nullable: true + description: The `link.id` the account belongs to. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + $ref: '#/components/schemas/InstitutionAccount' + collected_at: + type: string + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + category: + $ref: '#/components/schemas/EnumAccountCategory' + balance_type: + type: string + 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. + example: ASSET + type: + type: string + nullable: true + description: The account type, as designated by the institution. + example: Cuentas de efectivo + name: + type: string + nullable: true + description: The account name, as given by the institution. + example: Cuenta Perfiles- M.N. - MXN-666 + number: + type: string + nullable: true + description: The account number, as designated by the institution. + example: '4057068115181' + balance: + $ref: '#/components/schemas/AccountsBalance' + currency: + type: string + nullable: true + description: |- + The currency of the account. For example: + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + + Please note that other currencies other than in the list above may be returned. + example: MXN + public_identification_name: + type: string + nullable: true + description: > + The public name for the type of identification. For example: + `"CLABE"`. + + + ℹ️ For 🇧🇷 Brazilian savings and checking accounts, this field will + be `AGENCY/ACCOUNT`. + example: CLABE + public_identification_value: + type: string + nullable: true + description: > + The value for the `public_identification_name`. + + + ℹ️ For 🇧🇷 Brazilian savings and checking accounts, this field will + be the agency and bank account number, separated by a slash. + + For example: `0444/45722-0`. + example: '150194683119900273' + last_accessed_at: + type: string + nullable: true + format: date-time + description: > + The ISO-8601 timestamp of Belvo's most recent successful access to + the institution for the given link. + example: '2021-03-09T10:28:40.000Z' + credit_data: + $ref: '#/components/schemas/AccountsCreditData' + loan_data: + $ref: '#/components/schemas/AccountsLoanData' + funds_data: + type: array + nullable: true + description: One or more funds that contribute to the the pension account. + items: + $ref: '#/components/schemas/AccountsFundsData' + bank_product_id: + 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.* + + + *The institution's product ID for the account type.* + example: null + internal_identification: + deprecated: true + type: string + nullable: 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.* + + + *The institution's internal identification for the account.* + example: null + AccountsPaginatedResponse: + type: object + title: Accounts Standard (Multi-Region) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: An array of Account objects. + items: + $ref: '#/components/schemas/Account' + EnumAccountCategoryOpenFinance: + type: string + nullable: true + enum: + - ADVANCE_DEPOSIT_ACCOUNT + - CHECKING_ACCOUNT + - CREDIT_CARD + - FINANCING_ACCOUNT + - INVESTMENT_ACCOUNT + - INVOICE_FINANCING_ACCOUNT + - LOAN_ACCOUNT + - PENSION_FUND_ACCOUNT + - SAVINGS_ACCOUNT + - UNCATEGORIZED + description: | + The type of account. + We return one of the following enum values: + - `ADVANCE_DEPOSIT_ACCOUNT` + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `FINANCING_ACCOUNT` + - `INVESTMENT_ACCOUNT` + - `INVOICE_FINANCING_ACCOUNT` + - `LOAN_ACCOUNT` + - `PENSION_FUND_ACCOUNT` + - `SAVINGS_ACCOUNT` + - `UNCATEGORIZED` + example: CHECKING_ACCOUNT + AccountOverdraftOpenFinanceBrazil: + type: object + nullable: true + required: + - arranged + - used + - unarranged + properties: + arranged: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The agreed upon overdraft limit between the account holder and the + institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `overdraft` field is available. + example: 5000.5 + used: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The overdraft value used. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `overdraft` field is available. + example: 1000.5 + unarranged: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The overdraft used that was not arranged between the account holder + and the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `overdraft` field is available. + example: 300.1 + AccountBalanceOpenFinanceBrazil: + type: object + required: + - current + description: | + Details regarding the current and available balances for the account. + properties: + current: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The current balance is calculated differently according to the type + of account. + + + + - **💰 Checking and saving accounts**: + + + + The user's account balance at the `collected_at` timestamp. + + + - **💳 Credit cards**: + + + + The 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). + + + - **🏡 Loan accounts**: + + + + The amount remaining to pay on the users's loan. + example: 5874.13 + available: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The balance that the account owner can use. + + + - **💰 Checking and saving accounts**: + + + + The available balance may be different to the `current` balance due + to pending transactions. + + + - **💳 Credit cards**: + + + + The credit amount the user still has available for the current + period. The amount is calculated as `credit_data.credit_limit` minus + `balance.current`. + + + - **🏡 Loan accounts**: + + + + The present value required to pay off the loan, as provided by the + institution. + + + + **Note:** If the institution does not provide this value, we return + `null`. + example: 5621.12 + blocked: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The amount that is currently blocked due to pending transactions. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + example: 60.32 + automatically_invested: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The amount that is automatically invested (as agreed upon with the + institution). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + example: 131.5 + EnumCreditCardLimitType: + type: string + enum: + - TOTAL_LIMIT + - MODAL_LIMIT + description: | + The type of limit. We return one of the following values: + + - `TOTAL_LIMIT` + - `MODAL_LIMIT` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: TOTAL_LIMIT + AccountCreditDataLimitsOpenFinanceBrazil: + type: object + description: > + Detailed information regarding the credit limits for the credit cards. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + required: + - identification_number + - credit_limit + - used_amount + - available_amount + - is_limit_flexible + - type + - consolidation_type + - line_name + - line_name_additional_info + properties: + identification_number: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The credit card number. + + + **Note:** Often, this is just the last four digit of the credit + card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '4453' + credit_limit: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The limit of the credit card. + example: 1000.04 + used_amount: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The amount used. + example: 400.04 + available_amount: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The amount still available. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 600 + is_limit_flexible: + type: boolean + description: > + Boolean to indicate if the `credit_limit` is flexible. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: false + type: + $ref: '#/components/schemas/EnumCreditCardLimitType' + consolidation_type: + type: string + description: > + Indicates whether or not the credit limit is consolidated or + individual. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: INDIVIDUAL + line_name: + type: string + nullable: true + description: | + The credit limit line name. + example: CREDITO_A_VISTA + line_name_additional_info: + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + description: | + Additional information about the line name. + example: Informações adicionais e complementares + EnumAccountCreditCardNetwork: + type: string + enum: + - VISA + - MASTERCARD + - AMERICAN_EXPRESS + - DINERS_CLUB + - HIPERCARD + - BANDEIRA_PROPRIA + - CHEQUE_ELETRONICO + - ELO + - OTHER + description: > + The credit network that the card is associated with. We return one of + the following values: + + - `VISA` + - `MASTERCARD` + - `AMERICAN_EXPRESS` + - `DINERS_CLUB` + - `HIPERCARD` + - `BANDEIRA_PROPRIA` + - `CHEQUE_ELETRONICO` + - `ELO` + - `OTHER` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: MASTERCARD + AccountCreditDataCardsOpenFinanceBrazil: + type: object + required: + - is_multiple + - identification_number + description: Details regarding all the cards associated with the account. + properties: + is_multiple: + type: boolean + description: > + Boolean to indicate if this account has multiple credit cards. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: false + identification_number: + type: string + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The credit card number. + + + **Note:** Often, this is just the last four digit of the credit + card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '4453' + AccountCreditDataOpenFinanceBrazil: + type: object + nullable: true + required: + - collected_at + - credit_limit + description: Details regarding the credit cards associated with this account. + properties: + collected_at: + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + credit_limit: + type: number + nullable: true + format: float + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The upper credit limit of the card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 192000.9 + limits: + type: array + items: + $ref: '#/components/schemas/AccountCreditDataLimitsOpenFinanceBrazil' + cutting_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: The date when the credit card's bill is due. + example: '2019-12-11' + minimum_payment: + type: number + nullable: true + format: float + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The minimum amount that the account owner needs to pay in the + current credit period. + example: 2400.3 + network: + $ref: '#/components/schemas/EnumAccountCreditCardNetwork' + network_additional_info: + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + description: | + Additional information about the credit card network. + example: It's an orange card. + cards: + type: array + minItems: 1 + description: Details regarding the cards associated with the account. + items: + $ref: '#/components/schemas/AccountCreditDataCardsOpenFinanceBrazil' + next_payment_date: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + no_interest_payment: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + interest_rate: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + monthly_payment: + type: number + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + last_payment_date: + type: string + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + EnumAccountLoanDataInterestRateType: + type: string + enum: + - MONTHLY + - YEARLY + description: > + The period that the interest is applied to the loan. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + example: MONTHLY + EnumAccountLoanDataInterestRateDataTaxType: + type: string + enum: + - NOMINAL + - EFFECTIVE + description: | + The type of interest rate tax. We return one of the following values: + + - `NOMINAL` + - `EFFECTIVE` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: NOMINAL + EnumAccountLoanDataInterestRateDataRateType: + type: string + enum: + - SIMPLE + - COMPOUND + description: | + The type of interest rate. We return one of the following values: + + - `SIMPLE` + - `COMPOUND` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: SIMPLE + EnumAccountLoanDataInterestRateDataReferenceIndexType: + type: string + enum: + - WITHOUT_INDEX_TYPE + - PRE_FIXED + - POST_FIXED + - FLOATING + - INDEXED_PRICE + - RURAL_CREDIT + - OTHER_INDEX + description: | + The reference index rate. We return one of the following values: + + - `WITHOUT_INDEX_TYPE` + - `PRE_FIXED` + - `POST_FIXED` + - `FLOATING` + - `INDEXED_PRICE` + - `RURAL_CREDIT` + - `OTHER_INDEX` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: FLOATING + 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 + description: Detailed information regarding the interest rate. + properties: + tax_type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateDataTaxType' + rate_type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateDataRateType' + type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateType' + calculation_base: + type: string + pattern: ^[0-9]{2}\/[0-9]{3}$ + description: > + The base calculation for the interest rate. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 30/360 + reference_index_type: + $ref: >- + #/components/schemas/EnumAccountLoanDataInterestRateDataReferenceIndexType + reference_index_subtype: + type: string + nullable: true + description: | + The subtype of the reference index rate. + example: TR_TBF + reference_index_info: + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + Additional information regarding the reference index rate. + example: Additional information + pre_fixed_rate: + type: number + format: float + pattern: ^[01]\.\d{6}$ + description: > + The pre-fixed percentage rate of the interest rate. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 0.062 + post_fixed_rate: + type: number + format: float + pattern: ^[01]\.\d{6}$ + description: > + The post-fixed percentage rate of the interest rate. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 0.062 + additional_info: + type: string + nullable: true + maxLength: 1200 + pattern: '[\w\W\s]*' + description: | + Additional information regarding the interest rate. + example: Additional information + AccountLoanDataInterestRateOpenFinanceBrazil: + type: object + required: + - name + - type + - value + - interest_rate_data + 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. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + properties: + name: + type: string + nullable: true + description: > + The name of the type of interest rate applied to the loan. + + + **Note:** For OFDA Brazil, we recommend you use the + `interest_date_data.tax_type` parameter. + example: NOMINAL + type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateType' + value: + type: number + nullable: true + format: float + description: > + The interest rate (in percent or currency value). + + + **Note:** For OFDA Brazil, we recommend you use the + `interest_date_data.pre_fixed_rate` and + `interest_date_data.post_fixed_rate`parameter. + example: 7.85 + interest_rate_data: + $ref: >- + #/components/schemas/AccountLoanDataInterestRateDataOpenFinanceBrazil + EnumAccountLoanDataFeeType: + type: string + nullable: true + enum: + - OPERATION_FEE + - INSURANCE_FEE + - OTHERS + - null + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + EnumAccountLoanDataFeeChargeType: + type: string + enum: + - SINGLE + - PER_INSTALLMENT + description: | + Indicates the type of charge. We return one of the following values: + + - `SINGLE` + - `PER_INSTALLMENT` + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + example: SINGLE + EnumAccountLoanDataFeeCharge: + type: string + enum: + - MINIMUM + - MAXIMUM + - FIXED + - PERCENTAGE + description: > + Billing method, as agreed upon with the institution. We return one of + the following values: + + - `MINIMUM` + - `MAXIMUM` + - `FIXED` + - `PERCENTAGE` + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + example: FIXED + AccountLoanDataFeesOpenFinanceBrazil: + type: object + nullable: true + required: + - type + - value + - name + - code + - fee_charge_type + - fee_charge + - rate + description: Breakdown of the fees applied to the loan. + properties: + type: + $ref: '#/components/schemas/EnumAccountLoanDataFeeType' + value: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The total value of the fee. Same currency as the loan. + example: 5.6 + name: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + The fee name. + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + example: Renovação de cadastro + code: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + The fee code. + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + example: CADASTRO + fee_charge_type: + $ref: '#/components/schemas/EnumAccountLoanDataFeeChargeType' + fee_charge: + $ref: '#/components/schemas/EnumAccountLoanDataFeeCharge' + rate: + type: number + nullable: true + format: float + pattern: ^[01]\.\d{6}$ + description: > + The percentage rate of the fee. Required when `fee_charge` is set to + `PERCENTAGE`. + example: 0.062 + EnumAccountLoanDataContractedChargeType: + type: string + enum: + - LATE_PAYMENT_INTEREST_FEE + - LATE_PAYMENT_PENALTY_FEE + - DEFAULT_INTEREST_FEE + - LOAN_CONTRACT_TAX + - LATE_PAYMENT_TAX + - NO_CHARGE + - OTHER + description: | + The type of contracted charge. We return one of the following values: + + - `LATE_PAYMENT_INTEREST_FEE` + - `LATE_PAYMENT_PENALTY_FEE` + - `DEFAULT_INTEREST_FEE` + - `LOAN_CONTRACT_TAX` + - `LATE_PAYMENT_TAX` + - `NO_CHARGE` + - `OTHER` + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `contracted_charges` field is available. + example: LATE_PAYMENT_INTEREST_FEE + AccountLoanDataContractedChargesOpenFinanceBrazil: + type: object + nullable: true + description: | + Details regarding any contracted charges. + properties: + type: + $ref: '#/components/schemas/EnumAccountLoanDataContractedChargeType' + info: + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + Additional information regarding the contracted charge. + example: Late fee + rate: + type: number + nullable: true + format: float + pattern: ^[01]\.\d{6}$ + description: > + The percentage rate of the charge, calculated based on the amount of + the loan. + example: 0.062 + AccountLoanDataCollateralsOpenFinanceBrazil: + type: object + nullable: true + description: >- + Details regarding any loan collaterals that the individual or business + supplied. + required: + - type + - subtype + - currency + - amount + properties: + type: + type: string + description: > + The type of collateral, as defined by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + example: OPERACOES_GARANTIDAS_PELO_GOVERNO + subtype: + type: string + description: > + The subtype of the collateral, as defined by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + example: CCR_CONVENIO_CREDITOS_RECIPROCOS + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + example: BRL + amount: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The total amount of the bill. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + example: 45391.89 + AccountLoanDataBalloonPaymentsOpenFinanceBrazil: + type: object + nullable: true + description: >- + Detailed information regarding any balloon payments for the loan, if + applicable. + required: + - due_date + - currency + - amount + properties: + due_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date that the balloon payment is to be paid, in `YYYY-MM-DD` + format. + example: '2021-09-06' + currency: + type: string + nullable: true + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: | + The three-letter currency code (ISO-4217). + example: BRL + amount: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The total amount of the balloon payment. + example: 45391.89 + EnumAccountsLoanDataContractInstallmentFrequency: + type: string + nullable: true + enum: + - DAY + - WEEK + - MONTH + - YEAR + - NO_DEADLINE_REMAINING + - null + description: > + The frequency of contracted installment payments, as defined when the + contract was first signed. We return one of the following: + + - `DAY` + - `WEEK` + - `MONTH` + - `YEAR` + - `NO_DEADLINE_REMAINING` + - `null` + example: MONTH + EnumAccountLoanDataInstallmentFrequency: + type: string + enum: + - IRREGULAR + - WEEKLY + - FORTNIGHTLY + - MONTHLY + - BIMONTHLY + - QUARTERLY + - BIANNUALLY + - ANNUALLY + - OTHER + description: > + The frequency that the installments are paid. We return one of the + following values: + + - `IRREGULAR` + - `WEEKLY` + - `FORTNIGHTLY` + - `MONTHLY` + - `BIMONTHLY` + - `QUARTERLY` + - `BIANNUALLY` + - `ANNUALLY` + - `OTHER` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: MONTHLY + EnumAccountLoanDataContractRemainingFrequency: + type: string + nullable: true + enum: + - DAY + - WEEK + - MONTH + - YEAR + - NO_DEADLINE_REMAINING + - null + description: > + The frequency of the remaining contracted installment payments, as + defined when the contract was first signed. We return one of the + following: + + - `DAY` + + - `WEEK` + + - `MONTH` + + - `YEAR` + + - `NO_DEADLINE_REMAINING` + + - `null` + example: MONTH + 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 + description: The loan options associated with this account. + properties: + collected_at: + type: string + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2022-02-09T08:45:50.406032Z' + loan_code: + type: string + minLength: 22 + maxLength: 67 + pattern: ^\d{22,67}$ + description: > + The country-specific standardized contract number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '92792126019929279212650822221989319252576' + contract_amount: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The initial total loan amount when the contract was signed, + calculated by the institution. This amount includes the principal + + interest + taxes + fees. + example: 202000 + total_effective_cost: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The initial total effective cost of the loan. + example: 209000 + loan_type: + type: string + description: > + The type of the loan, according to the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: HOME_EQUITY + outstanding_balance: + type: number + nullable: true + format: float + minLength: 4 + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The amount remaining to pay in total, including interest. + example: 182000 + interest_rates: + type: array + 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. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/AccountLoanDataInterestRateOpenFinanceBrazil' + fees: + type: array + nullable: true + description: | + Breakdown of the fees applied to the loan. + items: + $ref: '#/components/schemas/AccountLoanDataFeesOpenFinanceBrazil' + contracted_charges: + type: array + nullable: true + description: '' + items: + $ref: >- + #/components/schemas/AccountLoanDataContractedChargesOpenFinanceBrazil + collaterals: + type: array + nullable: true + description: > + Details regarding any loan collaterals that the individual or + business supplied. + items: + $ref: '#/components/schemas/AccountLoanDataCollateralsOpenFinanceBrazil' + balloon_payments: + type: array + nullable: true + description: > + Detailed information regarding any balloon payments for the loan, if + applicable. + items: + $ref: >- + #/components/schemas/AccountLoanDataBalloonPaymentsOpenFinanceBrazil + installments_contract_term_frequency: + $ref: >- + #/components/schemas/EnumAccountsLoanDataContractInstallmentFrequency + installment_frequency: + $ref: '#/components/schemas/EnumAccountLoanDataInstallmentFrequency' + installment_frequency_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,99}$$ + description: | + Additional information regarding the `installment_frequency`. + example: Both the term and requency are the same. + first_installment_due_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date when the first installment of the loan is to be paid, in + `YYYY-MM-DD` format. + example: '2020-03-01' + number_of_installments_total: + type: integer + nullable: true + format: int32 + maximum: 999999999 + description: | + The total number of installments required to pay the loan. + example: 60 + number_of_installments_outstanding: + type: integer + nullable: true + format: int32 + maximum: 999999999 + description: | + The number of installments left to pay. + example: 48 + number_of_installments_paid: + type: integer + nullable: true + format: int32 + maximum: 999999999 + description: | + The number of installments already paid. + example: 32 + number_of_installments_past_due: + type: integer + nullable: true + format: int32 + maximum: 999 + description: | + The number of installments that are overdue. + example: 2 + disbursement_dates: + type: array + nullable: true + minItems: 1 + description: | + An array of dates when the loan was disbursed. + items: + type: string + nullable: true + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date that the loan was disbursed, in `YYYY-MM-DD` format. + example: '2021-09-23' + settlement_date: + type: string + nullable: true + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date that the loan was settled, in `YYYY-MM-DD` format. + example: '2021-09-23' + contract_start_date: + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date when the loan contract was signed, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '2020-03-01' + contract_end_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date when the loan is expected to be completed, in `YYYY-MM-DD` + format. + example: '2027-10-01' + contract_remaining_frequency: + $ref: '#/components/schemas/EnumAccountLoanDataContractRemainingFrequency' + contract_remaining_total: + type: integer + nullable: true + format: int32 + maximum: 999999999 + description: | + The total number of installments remaining on the loan. + example: 20 + amortization_schedule: + type: string + description: > + The loan amortization schedule. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: SEM_SISTEMA_AMORTIZACAO + amortization_schedule_info: + type: string + nullable: true + maxLength: 200 + pattern: '[\w\W\s]*' + description: | + Additional information regarding the `amortization_schedule`. + example: No need for a schedule. + consignee_id: + type: string + nullable: true + maxLength: 14 + pattern: ^\d{14}$ + description: | + The ID of the consignee of the loan. + example: '60500998000135' + contract_number: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^\d{1,100}$ + description: | + The contract number of the loan, as given by the institution. + example: '1324926521496' + monthly_payment: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + principal: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + payment_day: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + outstanding_principal: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + credit_limit: + type: number + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + last_period_balance: + type: number + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + interest_rate: + type: number + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + limit_day: + type: string + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + cutting_day: + type: string + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + cutting_date: + type: string + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + last_payment_date: + type: string + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + no_interest_payment: + type: number + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + AccountOpenFinanceBrazil: + type: object + nullable: true + title: Accounts (OFDA Brazil) + description: | + Details regarding the account. + 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 + description: | + The unique identifier created by Belvo for the current + account. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: + type: string + nullable: true + description: The `link.id` the account belongs to. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + $ref: '#/components/schemas/InstitutionAccount' + collected_at: + type: string + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was created in Belvo's + database. + example: '2022-02-09T08:45:50.406032Z' + last_accessed_at: + type: string + nullable: true + format: date-time + description: > + The ISO-8601 timestamp of Belvo's most recent successful access to + the institution for the given link. + example: '2021-03-09T10:28:40.000Z' + category: + $ref: '#/components/schemas/EnumAccountCategoryOpenFinance' + balance_type: + type: string + 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. + example: ASSET + overdraft: + $ref: '#/components/schemas/AccountOverdraftOpenFinanceBrazil' + type: + type: string + description: > + The account type, as designated by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: STANDARD_NACIONAL + subtype: + type: string + description: > + The account subtype, as designated by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: FINANCIAMENTO_HABITACIONAL_SFH + name: + type: string + nullable: true + description: The account name, as given by the institution. + example: Cuenta Perfiles- M.N. - MXN-666 + number: + type: string + nullable: true + description: | + The account number, as designated by the institution. + example: '4057068115181' + agency: + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + description: | + The branch code where the product was opened. + example: '6272' + check_digit: + type: string + nullable: true + maxLength: 2 + pattern: '[\w\W\s]*' + description: | + The check digit of the product's number, if applicable. + example: '7' + balance: + $ref: '#/components/schemas/AccountBalanceOpenFinanceBrazil' + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + example: BRL + public_identification_name: + type: string + nullable: true + description: > + The public name for the type of identification. For 🇧🇷 Brazilian + savings and checking accounts, this field will be `AGENCY/ACCOUNT`. + example: AGENCY/ACCOUNT + public_identification_value: + type: string + nullable: true + description: > + The value for the `public_identification_name`. + + + For 🇧🇷 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`. + + + For 🇧🇷 OFDA Brazilian credit card accounts, we will return a + string of concatenated credit card numbers associated with the + account. For example: "8763,9076,5522" + example: 0444/45722-0 + internal_identification: + type: string + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The institution's internal identification for the account. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + example: '92792126019929279212650822221989319252576' + credit_data: + $ref: '#/components/schemas/AccountCreditDataOpenFinanceBrazil' + loan_data: + $ref: '#/components/schemas/AccountLoanDataOpenFinanceBrazil' + funds_data: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + AccountsPaginatedResponseOpenFinanceBrazil: + type: object + title: Accounts (OFDA Brazil) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: An array of account objects. + items: + $ref: '#/components/schemas/AccountOpenFinanceBrazil' + StandardRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + token: + type: string + description: The OTP token generated by the bank. + example: 1234ab + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + 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 408 request_timeout errors. + example: request_timeout + message: + type: string + description: | + A short description of the error. + + + For `request_timeout` errors, the description is: + + - `The request timed out, you can retry asking for less data by changing your query parameters`. + example: >- + The request timed out, you can retry asking for less data by + changing your query parameters + 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 + PatchBody: + type: object + description: A JSON object containing a session UUID and a MFA token + required: + - session + - link + properties: + session: + type: string + pattern: '[a-f0-9]{32}' + description: | + The session you want to resume. You need to use the `session` value + that is provided in the 428 Token Required response that you receive + after you make your POST request. + example: 6e7b283c6efa449c9c028a16b5c249fa + token: + type: string + description: | + The MFA token generated by the institution and required to continue + a session. + example: 1234ab + link: + type: string + format: uuid + description: | + The `link.id` you want to resume. Must be the same `link.id` as the + one you receive in the 428 Token Required response that contains the + `session` ID. + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + TransactionMerchantData: + type: object + nullable: true + description: > + Additional data regarding the merchant involved in the transaction. + + We only return merchant information for new transactions made from + *checking* or *credit card* accounts. + + > **Get merchant information** + We retrieve the merchant information for a transaction as part of our [Transaction categorization](https://developers.belvo.com/docs/banking#categorizing-transactions) product, turning raw data into actionable insights. To enable this product, just [reach out](https://belvo.com/contact/?utm_source=documentation) to us, and we'll get right to it. + properties: + logo: + type: string + nullable: true + description: The URL to the merchant's logo. + example: https://logo.clearbit.com/asesor-contable.es + website: + type: string + nullable: true + description: The URL to the merchant's website. + example: https://merchants-r-us.com + merchant_name: + type: string + description: The name of the merchant. + example: Merchants R Us Global + EnumTransactionCategory: + type: string + nullable: true + enum: + - Bills & Utilities + - Credits & Loans + - Deposits + - Fees & Charges + - Food & Groceries + - Home & Life + - Income & Payments + - Insurance + - Investments & Savings + - Online Platforms & Leisure + - Personal Shopping + - Taxes + - Transfers + - Transport & Travel + - Unknown + - Withdrawal & ATM + - null + description: > + The name of the transaction category. + + + > **Get transaction categorization** + + With [Transaction + categorization](https://developers.belvo.com/docs/banking#categorizing-transactions), + we clean and categorize transactions for you, turning raw data into + actionable insights. To enable this feature, just [reach + out](https://belvo.com/contact/?utm_source=documentation) to us, and + we'll get right to it. + + + We return one of the following enum values: + + - `Bills & Utilities` + - `Credits & Loans` + - `Deposits` + - `Fees & Charges` + - `Food & Groceries` + - `Home & Life` + - `Income & Payments` + - `Insurance` + - `Investments & Savings` + - `Online Platforms & Leisure` + - `Personal Shopping` + - `Taxes` + - `Transfers` + - `Transport & Travel` + - `Unknown`* + - `Withdrawal & ATM` + - `null` + + + \* For clients not using our Transaction Categorization product, we return `null` instead. + example: Income & Payments + EnumTransactionSubcategory: + type: string + nullable: true + enum: + - Electricity & Energy + - Rent + - Telecommunications + - Water + - Auto + - Credit Card + - Instalment + - Interest & Charges + - Mortgage + - Pay Advance + - Personal + - Adjustments + - Bank Fees + - Chargeback + - Refund + - Blocked Balances + - Alimony + - Alcohol & Tobacco + - Bakery & Coffee + - Bars & Nightclubs + - Convenience Store + - Delivery + - Groceries + - Restaurants + - Education + - Gyms & Fitness + - Hair & Beauty + - Health + - Home Decor & Appliances + - Laundry & Dry Cleaning + - Pharmacies + - Professional Services + - Veterinary Services + - Freelance + - Interest + - Retirement + - Salary + - Government + - Home Insurance + - Auto Insurance + - Health & Life Insurance + - Savings + - Fixed income + - Equity + - Investment Funds + - Derivatives + - Cryptocurrencies + - Apps, Software and Cloud Services + - Events, Parks and Museums + - Gambling + - Gaming + - Lottery + - Movie & Audio + - Books & News + - Clothing & Accessories + - Department Store + - Electronics + - E-commerce + - Gifts + - Office Supplies + - Pet Supplies + - Auto Tax & Fees + - Donation + - Government Fees + - Income Tax + - Real Estate Tax & Fees + - Tax Return + - Accommodation + - Auto Expenses + - Auto Rental + - Flights + - Gas + - Mileage Programs + - Parking & Tolls + - Public Transit + - Taxis & Rideshares + - Other + - null + description: | + The transaction subcategory. + + > **Get transaction categorization** + For clients not using our [Transaction categorization](https://developers.belvo.com/docs/banking#categorizing-transactions), we return `null` instead. To enable this feature, just [reach out](https://belvo.com/contact/?utm_source=documentation) to us, and we'll get right to it. + + + We return one of the following enum values: + + - `Electricity & Energy` + - `Rent` + - `Telecommunications` + - `Water` + - `Auto` + - `Credit Card` + - `Instalment` + - `Interest & Charges` + - `Mortgage` + - `Pay Advance` + - `Personal` + - `Adjustments` + - `Bank Fees` + - `Chargeback` + - `Refund` + - `Blocked Balances` + - `Alimony` + - `Alcohol & Tobacco` + - `Bakery & Coffee` + - `Bars & Nightclubs` + - `Convenience Store` + - `Delivery` + - `Groceries` + - `Restaurants` + - `Education` + - `Gyms & Fitness` + - `Hair & Beauty` + - `Health` + - `Home Decor & Appliances` + - `Laundry & Dry Cleaning` + - `Pharmacies` + - `Professional Services` + - `Veterinary Services` + - `Freelance` + - `Interest` + - `Retirement` + - `Salary` + - `Government` + - `Home Insurance` + - `Auto Insurance` + - `Health & Life Insurance` + - `Savings` + - `Fixed income` + - `Equity` + - `Investment Funds` + - `Derivatives` + - `Cryptocurrencies` + - `Apps, Software and Cloud Services` + - `Events, Parks and Museums` + - `Gambling` + - `Gaming` + - `Lottery` + - `Movie & Audio` + - `Books & News` + - `Clothing & Accessories` + - `Department Store` + - `Electronics` + - `E-commerce` + - `Gifts` + - `Office Supplies` + - `Pet Supplies` + - `Auto Tax & Fees` + - `Donation` + - `Government Fees` + - `Income Tax` + - `Real Estate Tax & Fees` + - `Tax Return` + - `Accommodation` + - `Auto Expenses` + - `Auto Rental` + - `Flights` + - `Gas` + - `Mileage Programs` + - `Parking & Tolls` + - `Public Transit` + - `Taxis & Rideshares` + - `Other` + - `null` + example: Freelance + EnumTransactionType: + type: string + nullable: true + enum: + - OUTFLOW + - INFLOW + - null + description: > + The direction of the transaction: + + - `INFLOW` indicates money coming into the account. + + - `OUTFLOW` indicates money going out of the account. + + - `null` when no information was present regarding the direction of the + transaction. + example: INFLOW + EnumTransactionStatus: + type: string + nullable: true + enum: + - PENDING + - PROCESSED + - UNCATEGORIZED + - null + description: | + The status of the transaction. We return one of the following values: + + - `PROCESSED` (The transaction has been processed by the institution.) + - `PENDING` (The institution clearly states that the transaction has not yet been processed.) + - `UNCATEGORIZED` (deprecated) + - `null` (deprecated) + + example: PROCESSED + EnumTransactionBillStatus: + type: string + nullable: true + enum: + - PAID + - CLOSED + - OPEN + - FUTURE + - null + description: | + The status of the bill that the transaction appears on. Can be one of: + + - `PAID`: The bill has been paid in full. + - `CLOSED`: The bill has been closed by the institution. + - `OPEN`: The bill is currently open. (Note: This is the main bill that Belvo retrieves balance data from). + - `FUTURE`: The bill is pending. + - `null`: No bill status was identified. + + ℹ️ Note: Some banks consider CLOSED as PAID. + example: PAID + TransactionCreditCardData: + type: object + nullable: true + description: >- + Additional data provided by the institution for credit card + transactions. + properties: + collected_at: + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + bill_name: + type: string + nullable: true + description: > + The title of the monthly credit card bill the transaction belongs + to. The format of the returned value is institution specific, + however, some common examples are: + + + - diciembre-2021 + + - dec-2021 + + - dec-21 + example: apr-2020 + bill_status: + $ref: '#/components/schemas/EnumTransactionBillStatus' + bill_amount: + type: number + nullable: true + format: float + description: The aggregate bill amount, as of `collected_at`. + example: 300 + previous_bill_total: + type: string + nullable: true + description: The total amount of the previous month's bill, if available. + example: '9614.30' + Transaction: + type: object + title: Transaction Standard (Multi-Region) + required: + - value_date + - accounting_date + - amount + - currency + - description + - reference + - observations + - balance + - status + - account + - type + - collected_at + - category + - merchant + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the transaction. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + internal_identification: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: | + The institution's internal identification for the transaction. + example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl + account: + $ref: '#/components/schemas/Account' + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-11-28T10:27:44.813Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + value_date: + type: string + nullable: true + format: date + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: The date when the transaction occurred, in `YYYY-MM-DD` format. + example: '2019-10-23' + accounting_date: + type: string + nullable: true + description: >- + The date when the transaction was processed and accounted for by the + institution, in `YYYY-MM-DD` format. + example: '2019-10-23' + amount: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The transaction amount. + + ℹ️ The amount displayed is always positive as we indicate the + direction of the transaction in the `type` parameter. + example: 2145.45 + balance: + type: number + nullable: true + format: float + description: The balance at the end of the transaction. + example: 16907.96 + currency: + type: string + nullable: true + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: | + The three-letter currency code (ISO-4217). + example: BRL + description: + type: string + nullable: true + description: > + The description of transaction provided by the institution. Usually + this + + is the text that the end user sees in the online platform. + example: SEVEN BUDDHAS RFC:XXXXXXXXXX + observations: + type: string + nullable: true + description: >- + Additional observations provided by the institution on the + transaction. + example: OPTIONAL OBSERVATIONS + merchant: + $ref: '#/components/schemas/TransactionMerchantData' + category: + $ref: '#/components/schemas/EnumTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumTransactionSubcategory' + reference: + type: string + nullable: true + maxLength: 128 + description: The reference number of the transaction, provided by the bank. + example: '8703' + type: + $ref: '#/components/schemas/EnumTransactionType' + status: + $ref: '#/components/schemas/EnumTransactionStatus' + credit_card_data: + $ref: '#/components/schemas/TransactionCreditCardData' + TransactionsPaginatedResponse: + type: object + title: Transactions Standard (Multi-Region) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of transaction objects (Multi-Region). + items: + $ref: '#/components/schemas/Transaction' + EnumTransactionCreditCardDataFeeType: + type: string + nullable: true + enum: + - ANNUAL_FEE + - NATIONAL_WITHDRAWAL + - INTERNATIONAL_WITHDRAWAL + - EMERGENCY_CREDIT_EVALUATION_FEE + - DUPLICATE_ISSUANCE_FEE + - PAYMENT_FEE + - SMS_FEE + - OTHERS + - null + description: > + The fee that can be charged for a card transaction. We return one of the + following values: + + - `ANNUAL_FEE` + - `NATIONAL_WITHDRAWAL` + - `INTERNATIONAL_WITHDRAWAL` + - `EMERGENCY_CREDIT_EVALUATION_FEE` + - `DUPLICATE_ISSUANCE_FEE` + - `PAYMENT_FEE` + - `SMS_FEE` + - `OTHERS` + - `null` + example: NATIONAL_WITHDRAWAL + EnumTransactionCreditCardDataCreditType: + type: string + nullable: true + enum: + - REVOLVING_CREDIT + - BILL_INSTALLMENT_PAYMENT + - LOAN + - OTHERS + - null + description: > + Other types of credit that have been contracted on the card. We return + one of the following values: + + - `REVOLVING_CREDIT` + - `BILL_INSTALLMENT_PAYMENT` + - `LOAN` + - `OTHERS` + - `null` + example: BILL_INSTALLMENT_PAYMENT + TransactionCreditCardBill: + type: object + nullable: true + description: > + Information regarding the bill that this transaction appears on. + + + Note: This field is currrently unavailable and will only be available in + Q4 2023. + properties: + id: + type: string + format: uuid + description: > + The unique identifier created by Belvo used to reference the current + credit card bill. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + example: 8e9d13c2-af41-4a49-b43e-2da012bd1d11 + internal_identification: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The institution's internal identifier for the bill. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + example: '92792126019929279212650822221989319252576' + TransactionCreditCardDataOpenFinanceBrazil: + type: object + nullable: true + required: + - collected_at + - bill_name + - bill_status + - previous_bill_total + - bill_amount + - card_number + - fee_type + - fee_type_additional_info + - credits_type + - credits_type_additional_info + - installment_identifier + - number_of_installments + description: >- + Additional data provided by the institution for credit card + transactions. + properties: + collected_at: + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + bill_name: + type: string + nullable: true + description: > + The title of the monthly credit card bill the transaction belongs + to. The format of the returned value is institution specific, + however, some common examples are: + + + - diciembre-2021 + + - dec-2021 + + - dec-21 + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + example: apr-2020 + bill_due_date: + type: string + nullable: true + format: date + description: > + The date that the bill is due to be paid, in `YYYY-MM-DD` format. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + example: '2023-06-17' + bill_internal_identification: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The institution's internal identifier for the bill. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + example: 927921260199292792126508222219893192525A6 + bill_status: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OFDA Brazil and will + return `null`. + example: null + previous_bill_total: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OFDA Brazil and will + return `null`. + example: null + bill_amount: + type: number + nullable: true + format: float + pattern: ^-?\d{1,15}\.\d{2,4}$ + description: >- + The bill amount, as of `collected_at`. For more information, see + `credit_card_bill`. + example: 300 + card_number: + type: string + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The credit card number. + + + **Note:** Often, this is just the last four digit of the credit + card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '4453' + fee_type: + $ref: '#/components/schemas/EnumTransactionCreditCardDataFeeType' + fee_type_additional_info: + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + Additional information regarding the fee. + example: ATM withdrawal in Curitiba. + credits_type: + $ref: '#/components/schemas/EnumTransactionCreditCardDataCreditType' + credits_type_additional_info: + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + Additional information regarding the credit type. + example: Some additional information. + installment_identifier: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: > + An identifier for the installment, according to the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: PARCELA_896 + number_of_installments: + type: integer + nullable: true + maximum: 999 + description: > + The total number of installments for the card transaction, if + applicable. + example: 4 + credit_card_bill: + $ref: '#/components/schemas/TransactionCreditCardBill' + EnumTransactionCounterpartyType: + type: string + nullable: true + enum: + - INDIVIDUAL + - COMPANY + - null + description: > + The transaction counterparty type. We return one of the following + values: + + - `INDIVIDUAL` + - `COMPANY` + - `null` + example: INDIVIDUAL + TransactionCounterparty: + type: object + nullable: true + required: + - type + - document_number + - clearing_code + - agency + - check_digit + - number + description: Information regarding the other party of this transaction, if available. + properties: + type: + $ref: '#/components/schemas/EnumTransactionCounterpartyType' + document_number: + type: string + nullable: true + maxLength: 11 + pattern: ^\d{11}$ + description: | + The document number of the representative. + + **Note**: + + For Brazil: + - When the `type` is `INDIVIDUAL`, this is the CPF number. + - When the `type` is `COMPANY`, this is the CNPJ number. + example: '73677831148' + clearing_code: + type: string + nullable: true + maxLength: 3 + pattern: ^\d{3}$ + description: | + The banking clearing code. + example: '001' + agency: + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + description: | + The branch code where the account was opened. + example: '6272' + check_digit: + type: string + nullable: true + maxLength: 2 + pattern: '[\w\W\s]*' + description: | + The check digit of the account number, if applicable. + example: '7' + number: + type: string + nullable: true + maxLength: 20 + pattern: ^\d{8,20}$ + description: | + The account number of the product. + example: '24550245' + TransactionLoanDataFees: + type: object + nullable: true + required: + - name + - code + - amount + description: >- + Details regarding the fees associated with this payment. Only applicable + when `is_detached` = `true`. + properties: + name: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: > + The name of the fee. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `fees` field is present. + example: Reavaliação periódica do bem + code: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: > + The institution's code for the fee. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `fees` field is present. + example: aval_bem + amount: + type: number + nullable: true + format: float + pattern: ^-?\d{1,15}\.\d{2,4}$ + description: > + The amount of the fee. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `fees` field is present. + example: 8903.77 + TransactionLoanDataCharges: + type: object + nullable: true + required: + - type + - info + - amount + description: >- + Details regarding the charges associated with this payment. Only + applicable when `is_detached` = `true`. + properties: + type: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: > + The type of charge. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `charges` field is present + example: MULTA_ATRASO_PAGAMENTO + info: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + Additional information regarding the charge `type`. + example: Late payment charge. + amount: + type: number + format: float + pattern: ^-?\d{1,15}\.\d{2,4}$ + description: > + The amount of the charge. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `charges` field is present + example: 8903.77 + TransactionLoanDataOpenFinanceBrazil: + type: object + nullable: true + required: + - is_detached + - installment_it + - fees + - charges + description: Information regarding the loan transactional data, if applicable. + properties: + is_detached: + type: boolean + description: > + Boolean to indicate whether or not this loan payment was part of the + original payment schedule. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: true + installment_id: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: | + The institution's unique ID for this payment installment. + example: WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH + fees: + type: array + description: >- + Details regarding the fees associated with this payment. Only + applicable when `is_detached` = `true`. + items: + $ref: '#/components/schemas/TransactionLoanDataFees' + charges: + type: array + minItems: 0 + description: >- + Details regarding the charges associated with this payment. Only + applicable when `is_detached` = `true`. + items: + $ref: '#/components/schemas/TransactionLoanDataCharges' + EnumTransactionPaymentType: + type: string + nullable: true + enum: + - FULL + - INSTALLMENT + - null + description: | + The transaction payment type. We return one of the following values: + + - `FULL` + - `INSTALLMENT` + - `null` + example: FULL + TransactionOpenFinanceBrazil: + type: object + title: Transaction (OFDA Brazil) + required: + - id + - internal_identification + - account + - collected_at + - created_at + - value_date + - accounting_date + - amount + - local_currency_amount + - balance + - currency + - description + - observations + - merchant + - category + - subcategory + - reference + - type + - status + - credit_card_data + - counterparty + - loan_data + - payment_type + - operation_type + - operation_type_additional_info + - mcc + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the transaction. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + internal_identification: + type: string + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The institution's internal identification for the transaction. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl + account: + $ref: '#/components/schemas/AccountOpenFinanceBrazil' + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-11-28T10:27:44.813Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + value_date: + type: string + format: date + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date when the transaction occurred, in `YYYY-MM-DD` format, in + `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '2019-10-23' + transacted_at: + type: string + format: date-time + pattern: >- + (^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)\.(?:[0-9]){3}Z$) + description: > + The ISO-8601 timestamp of when the transaction occurred. + + + > **Note:** For transactions that occurred before 31.01.2024, the + timestamp may only indicate the day (for example, + `2016-01-29T00:00:00.000Z`). However, transactions that occurred + after this date must include the date and time + (`2024-02-20T12:29:03.374Z`). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **credit card and checking account + transactions**. + example: '2024-02-20T12:29:03.374Z' + accounting_date: + type: string + nullable: true + description: >- + The date when the transaction was processed and accounted for by the + institution, in `YYYY-MM-DD` format. + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **credit card transactions**. + example: '2019-10-23' + amount: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The transaction amount. + + ℹ️ The amount displayed is always positive as we indicate the + direction of the transaction in the `type` parameter. + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 2145.45 + local_currency_amount: + type: number + nullable: true + format: float + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The value of the transaction in the local currency. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **credit card transactions**. + example: 7623.64 + balance: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + currency: + type: string + nullable: true + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: | + The three-letter currency code (ISO-4217). + example: BRL + description: + type: string + nullable: true + description: > + The description of transaction provided by the institution. Usually + this + + is the text that the end user sees in the online platform. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: SEVEN BUDDHAS RFC:XXXXXXXXXX + observations: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + merchant: + $ref: '#/components/schemas/TransactionMerchantData' + category: + $ref: '#/components/schemas/EnumTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumTransactionSubcategory' + reference: + type: string + nullable: true + maxLength: 128 + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + type: + $ref: '#/components/schemas/EnumTransactionType' + status: + $ref: '#/components/schemas/EnumTransactionStatus' + credit_card_data: + $ref: '#/components/schemas/TransactionCreditCardDataOpenFinanceBrazil' + counterparty: + $ref: '#/components/schemas/TransactionCounterparty' + loan_data: + $ref: '#/components/schemas/TransactionLoanDataOpenFinanceBrazil' + payment_type: + $ref: '#/components/schemas/EnumTransactionPaymentType' + operation_type: + type: string + maxLength: 50 + pattern: ^[A-Za-z_]{0,50}$ + description: > + The type of transaction. For example, a PIX payment or a deposit. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **non-loan account transactions**. + example: TRANSFERENCIA_MESMA_INSTITUICAO + operation_type_additional_info: + type: string + nullable: true + maxLength: 140 + pattern: ^\S[\s\S]*$ + description: > + Additional information regarding the `operation_type`, if + applicable. + example: Internal transfer. + mcc: + type: integer + nullable: true + format: int32 + pattern: ^[0-9]{4}$ + description: > + The four-digit (ISO-18245 compliant) Merchant Category Code (MCC) + for the transaction. This field is only applicable for credit card + transactions. + example: 5137 + TransactionsPaginatedResponseOpenFinanceBrazil: + type: object + title: Transactions (OFDA Brazil) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of transaction objects (OFDA Brazil). + items: + $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + TransactionsRequest: + type: object + required: + - link + - date_from + - date_to + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + account: + type: string + format: uuid + description: If provided, we return transactions only from this account. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting transactions for, in + `YYYY-MM-DD` format. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2020-08-05' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting transactions for, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2020-10-05' + token: + type: string + description: The OTP token generated by the bank. + example: 1234ab + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + AsynchronousAccepted202: + type: object + properties: + request_id: + type: string + description: >- + The unique ID for this request. We recommend you store this value to + later identify which webhook event relates to an asynchronous + request. + example: b5d0106ac9cc43d5b36199fe831f6bbe + Balance: + type: object + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the balance request. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + account: + $ref: '#/components/schemas/Account' + value_date: + type: string + format: date + description: The date when the `balance` was available, in `YYYY-MM-DD` format. + example: '2019-10-23' + balance: + type: number + format: float + description: The funds available in the account by the end of the `value_date`. + example: 50000 + current_balance: + deprecated: true + type: number + nullable: 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.* + + + Please use the `balance` field instead. + example: null + statement: + deprecated: true + type: string + nullable: 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.* + + + *The ID of the banking statement used to extract the `balance`.* + example: null + collected_at: + type: string + nullable: true + deprecated: true + format: date-time + 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.* + + + *The ISO-8601 timestamp when the data point was collected.* + example: null + BalancesPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of balance objects. + items: + $ref: '#/components/schemas/Balance' + BalancesRequest: + type: object + required: + - link + - date_from + - date_to + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + account: + type: string + format: uuid + description: | + If provided, only balances matching this `account.id` are + returned. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + Date from which you want to start receiving balances, in + `YYYY-MM-DD` format. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2021-01-18' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + Date that you want to stop receiving balances, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2021-02-15' + token: + type: string + description: The OTP token generated by the bank. + example: 1234ab + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + 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 + 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' + 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 + 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 + 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 + Institution: + type: object + 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. + + + Please see our + [Institutions](https://developers.belvo.com/docs/institution) + DevPortal article for a detailed list of institution names. + type: + $ref: '#/components/schemas/EnumInstitutionType' + website: + type: string + nullable: true + 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: + - 🇧🇷 BR (Brazil) + - 🇨🇴 CO (Colombia) + - 🇲🇽 MX (Mexico) + items: + type: string + example: MX + primary_color: + type: string + example: '#056dae' + description: The primary color on the institution's website. + logo: + type: string + nullable: true + example: https://belvo-api-media.s3.amazonaws.com/logos/erebor_logo.png + description: The URL of the institution's logo. + icon_logo: + type: string + nullable: true + example: https://statics.belvo.io/widget/images/institutions/erebor.svg + description: The URL of the institution's icon logo. + text_logo: + type: string + nullable: true + example: https://statics.belvo.io/widget/images/institutions/erebor.svg + description: The URL of the institution's text logo. + 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: + + - `ACCOUNTS` + - `BALANCES` + - `EMPLOYMENT_RECORDS` + - `INCOMES` + - `INVOICES` + - `OWNERS` + - `RECURRING_EXPENSES` + - `RISK_INSIGHTS` + - `TRANSACTIONS` + - `TAX_COMPLIANCE_STATUS` + - `TAX_DECLARATIONS` + - `TAX_RETENTIONS` + - `TAX_RETURNS` + - `TAX_STATUS` + 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' + InstitutionsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of institution objects. + items: + $ref: '#/components/schemas/Institution' + OwnerDocumentId: + type: object + nullable: true + required: + - document_type + - document_number + description: >- + Information regarding the identification document the owner provided to + the bank. + properties: + document_type: + type: string + nullable: true + description: > + The type of document the owner provided to the institution to open + the account. Common document types are: + + + 🇧🇷 Brazil + + - `CPF` (*Cadastro de Pessoas Físicas*) + + - `CNPJ`(*Cadastro Nacional de Pessoas Jurídicas*) + + + 🇨🇴 Colombia + + - `CC`(*Cédula de Ciudadanía*) + + - `NIT` (*Número de Identificación Tributaria*) + + + 🇲🇽 Mexico + + - `CURP` (*Clave Única de Registro de Población*) + + - `NISS` (*Número de Seguridad Social*) + + - `RFC` (*Registro Federal de Contribuyentes*) + example: CPF + document_number: + type: string + nullable: true + description: The document's identification number. + example: 235578435-S + Owner: + type: object + title: Owner Standard (Multi-Region) + required: + - id + - link + - internal_identification + - display_name + - email + - phone_number + - address + - collected_at + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier used to reference the current owner. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + format: uuid + description: Belvo's unique ID for the current Link. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: + type: string + nullable: true + description: The institution's internal identifier for the owner. + example: 7e5838e4 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + display_name: + type: string + nullable: true + maxLength: 128 + description: The full name of the owner, as provided by the bank. + example: John Doe + email: + type: string + nullable: true + format: email + maxLength: 256 + description: The account owner's registered email address. + example: johndoe@belvo.com + phone_number: + type: string + nullable: true + description: The account owner's registered phone number. + example: +52-XXX-XXX-XXXX + address: + type: string + nullable: true + description: The accounts owners registered address. + example: Carrer de la Llacuna, 162, 08018 Barcelona + document_id: + $ref: '#/components/schemas/OwnerDocumentId' + business_name: + 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.* + + + *The name of the business.* + example: null + first_name: + 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.* + + + *The first name of the account owner.* + example: null + last_name: + 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.* + + + *The last name of the account owner.* + example: null + second_last_name: + 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.* + + + *The second last name of the account owner.* + example: null + OwnersPaginatedResponse: + type: object + title: Owner Standard (Multi-Region) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of owner objects. + items: + $ref: '#/components/schemas/Owner' + EnumOwnerMaritalStatus: + type: string + nullable: true + enum: + - SINGLE + - MARRIED + - WIDOWED + - SEPARATED + - DIVORCED + - CIVIL_UNION + - OTHER + description: | + The individual's marital status. We return one of the following values: + + - `SINGLE` + - `MARRIED` + - `WIDOWED` + - `SEPARATED` + - `DIVORCED` + - `CIVIL_UNION` + - `OTHER` + example: SINGLE + EnumOwnerGender: + type: string + nullable: true + enum: + - FEMALE + - MALE + - OTHER + description: | + The individual's gender. We return on of the following values: + + - `FEMALE` + - `MALE` + - `OTHER` + + example: FEMALE + OwnerDocumentIdOpenFinanceBrazil: + type: object + required: + - document_type + - document_number + description: > + Information regarding the identification document the owner provided to + the bank. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + properties: + document_type: + type: string + description: > + The type of document the owner provided to the institution to open + the account. Common document types are: + + + 🇧🇷 Brazil + + - `CPF` (*Cadastro de Pessoas Físicas*) + + - `CNPJ`(*Cadastro Nacional de Pessoas Jurídicas*) + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: CPF + document_number: + type: string + description: > + The document's identification number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 235578435-S + EnumOwnerIndividualDocumentIdType: + type: string + nullable: true + enum: + - DRIVERS_LICENCE + - PASSPORT + - ID_CARD + - FISCAL_ID + - FOREIGNER_REGISTRATION_CARD + - OTHER + - null + description: | + The type of ID document. We return one of the following values: + + - `DRIVERS_LICENCE` + - `PASSPORT` + - `ID_CARD` + - `FISCAL_ID` + - `FOREIGNER_REGISTRATION_CARD` + - `OTHER` + - `null` + + example: DRIVERS_LICENCE + OwnerIndividualDocumentIds: + type: object + nullable: true + required: + - type + - type_additional_info + - number + - check_digit + - issue_date + - expiration_date + - country_of_issuance + - additional_info + description: >- + Detailed information regarding additional documents provided to prove + the individuals ID. + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualDocumentIdType' + type_additional_info: + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + description: > + Additional information regarding the document type. + + + > Note: For Business ID documents, this field must return a value + from Brazil's open finance network. + example: Learner's licence + number: + type: string + maxLength: 40 + pattern: ^[\w\W\s]{0,40}$ + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: DL-7896829-7 + check_digit: + type: string + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + description: > + The check digit of the ID document. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '7' + issue_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document was issued, in `YYYY-MM-DD` format. + example: '2019-01-01' + expiration_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + example: '2019-01-01' + country_of_issuance: + type: string + nullable: true + maxLength: 3 + pattern: ^[\w]{3}$ + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + + + This field must be returned when the `type` is `PASSPORT`. + example: CAN + additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + description: | + Additional information about the ID document. + example: The document has water damage + OwnerIndividualNationalityDocumentId: + type: object + nullable: true + required: + - type + - type_additional_info + - number + - issue_date + - expiration_date + - country_of_issuance + - additional_info + description: >- + Detailed information regarding additional documents provided to prove + the individuals ID. + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualDocumentIdType' + number: + type: string + maxLength: 40 + pattern: ^[\w\W\s]{0,40}$ + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: DL-7896829-7 + issue_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document was issued, in `YYYY-MM-DD` format. + example: '2019-01-01' + expiration_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + example: '2019-01-01' + country_of_issuance: + type: string + nullable: true + maxLength: 3 + pattern: ^[\w]{3}$ + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + + + This field must be returned when the `type` is `PASSPORT`. + example: CAN + additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + description: | + Additional information about the ID document. + example: The document has water damage + OwnerNationalities: + type: object + required: + - info + - documents + description: Detailed information regarding the individual's nationalities. + properties: + info: + type: string + nullable: true + pattern: ^\S[\s\S]*$ + maxLength: 40 + description: | + The nationality of the individual. + example: CAN + documents: + type: array + items: + $ref: '#/components/schemas/OwnerIndividualNationalityDocumentId' + OwnerEmails: + type: object + nullable: true + required: + - is_main + - email + description: Additional list of emails the owner provided. + properties: + is_main: + type: boolean + description: > + Boolean to indicate if this is the user's main email address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: true + email: + type: string + maxLength: 320 + pattern: ^[\w\W\s]{0,320}$ + description: > + The user's email address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: homen_morcego@gmail.com + OwnerAddresses: + type: object + nullable: true + required: + - is_main + - address + - additional_info + - district_name + - town + - town_code + - state + - postcode + - country_name + - country_code + - latitude + - longitude + description: Detailed information regarding the owner's addresses. + properties: + is_main: + type: boolean + description: > + Boolean to indicate if this is the user's main address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: true + address: + type: string + maxLength: 150 + pattern: ^[\w\W\s]{0,150}$ + description: > + The user's address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Av Naburo Ykesaki, 1270 + additional_info: + type: string + nullable: true + maxLength: 150 + pattern: ^[\w\W\s]{0,150}$ + description: | + Additional information regarding the user's address. + example: In between two palm trees + district_name: + type: string + nullable: true + maxLength: 50 + pattern: ^[\w\W\s]{0,50}$ + description: | + The distrct of the address. + example: CENTRO + town: + type: string + maxLength: 50 + pattern: ^[\w\W\s]{0,50}$ + description: > + The user's town. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Brasilia + town_code: + type: string + nullable: true + maxLength: 7 + pattern: \d{7}$ + description: | + The seven-digit code for the town, if applicable. + + For Brazil, this is the IBGE town code. + example: '3550308' + state: + type: string + nullable: true + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + description: | + The state that the address is located in. + example: SP + postcode: + type: string + maxLength: 8 + pattern: ^\d{8}$ + description: > + The postcode of the address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '17500001' + country_name: + type: string + maxLength: 80 + pattern: ^[\w\W\s]{0,80}$ + description: > + The name of the country. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Brasil + country_code: + type: string + nullable: true + maxLength: 3 + pattern: ^([A-Z]{3})$ + description: | + The three-letter country code (ISO-3166 Alpha 3 compliant). + example: BRA + latitude: + type: string + nullable: true + maxLength: 13 + pattern: ^-?\d{1,2}\.\d{1,9}$ + description: | + The geographic latitude coordinate. + example: '-23.5475000' + longitude: + type: string + nullable: true + maxLength: 13 + pattern: ^-?\d{1,3}\.\d{1,8}$ + description: | + The geographic longitude coordinate. + example: '-46.6361100' + EnumOwnerPhoneNumberType: + type: string + nullable: true + enum: + - LANDLINE + - MOBILE + - OTHER + - null + description: | + The type of phone number. We return one of the following values: + + - `LANDLINE` + - `MOBILE` + - `OTHER` + - `null` + example: MOBILE + OwnerPhoneNumbers: + type: object + nullable: true + required: + - is_main + - type + - additional_info + - number + - country_code + - area_code + - extension + description: Detailed information regarding the owners's `phone_number`s. + properties: + is_main: + type: boolean + description: > + Boolean to indicate if this is the user's main phone number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: true + type: + $ref: '#/components/schemas/EnumOwnerPhoneNumberType' + additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + description: | + Additional information about the phone number. + example: This is their work mobile number. + number: + type: string + maxLength: 11 + pattern: ^([0-9]{8,11})$ + description: > + The phone number (not including the country, area, or extension + codes). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '29875132' + country_code: + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + description: | + The country dialling code. For example: `351` (no `+`). + example: '351' + area_code: + type: string + nullable: true + maxLength: 2 + pattern: ^\d{1,2}$ + description: | + The area dialling code. + example: '21' + extension: + type: string + nullable: true + maxLength: 5 + pattern: ^\d{1,5}$ + description: | + The extension code. + example: '932' + EnumOwnerFiliationType: + type: string + nullable: true + enum: + - MOTHER + - FATHER + - null + description: | + The familial relationship. We return one of the following values: + + - `MOTHER` + - `FATHER` + - `null` + + example: MOTHER + OwnerFiliations: + type: object + required: + - type + - civil_name + - social_name + description: Information regarding any familial relationships of the individual. + properties: + type: + $ref: '#/components/schemas/EnumOwnerFiliationType' + civil_name: + type: string + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + description: > + The person's full name. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Bruce Wayne + social_name: + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + description: | + The person's social name. + example: The Dark Knight + EnumOwnerIndividualFinancialProfileOccupationCode: + type: string + nullable: true + enum: + - BRAZIL_PUBLIC_OFFICE + - BRAZIL_OCCUPATION_CODE + - OTHER + - null + description: > + The area of employment of the individual. We return one of the following + values: + + - `BRAZIL_PUBLIC_OFFICE` + - `BRAZIL_OCCUPATION_CODE` + - `OTHER` + - `null` + example: BRAZIL_OCCUPATION_CODE + EnumOwnerInformedIncomeFrequency: + type: string + nullable: true + enum: + - DAILY + - WEEKLY + - FORTNIGHTLY + - MONTHLY + - BIMONTHLY + - QUARTERLY + - BIANNUALLY + - ANNUALLY + - OTHERS + description: > + Indicates how often the individual receives their salary. We return one + of the following values: + + - `DAILY` + - `WEEKLY` + - `FORTNIGHTLY` + - `MONTHLY` + - `BIMONTHLY` + - `QUARTERLY` + - `BIANNUALLY` + - `ANNUALLY` + - `OTHERS` + example: MONTHLY + OwnerIndividualInformedIncome: + type: object + required: + - frequency + - amount + - currency + - date + description: > + Information regarding the individual's reported income. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + properties: + frequency: + $ref: '#/components/schemas/EnumOwnerInformedIncomeFrequency' + amount: + type: number + format: float + minLength: 1 + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The reported income that the individual receives. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 45391.89 + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: BRL + date: + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + Date when the individual last received their salary. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '2020-03-19' + OwnerIndividualPatrimony: + type: object + nullable: true + required: + - amount + - currency + - year + description: Information regarding the individual's reported assets (if available). + properties: + amount: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The reported assets of the individual. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `patrimony` object is available. + example: 45391.89 + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `patrimony` object is available. + example: BRL + year: + type: integer + format: int32 + maximum: 2090 + minimum: 1700 + description: > + The year that the reported assets applied. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `patrimony` object is available. + example: 2020 + OwnerIndividualFinancialProfile: + type: object + nullable: true + required: + - company_id + - occupation_code + - occupation_description + - informed_income + - patrimony + description: Information regarding the financial profile of the individual. + properties: + company_id: + type: string + nullable: true + maxLength: 14 + pattern: ^\d{14}$ + description: | + The identifier of the company where the individual is employed. + example: '50685362000135' + occuptation_code: + $ref: >- + #/components/schemas/EnumOwnerIndividualFinancialProfileOccupationCode + occupation_description: + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + description: | + Information regarding the individual's occupation. + example: '01' + informed_income: + $ref: '#/components/schemas/OwnerIndividualInformedIncome' + patrimony: + $ref: '#/components/schemas/OwnerIndividualPatrimony' + EnumOwnerProcuratorType: + type: string + nullable: true + enum: + - LEGAL_REPRESENTATIVE + - ATTORNEY + - null + description: > + The type of representative that can access and make changes to the + account. We return one of the following values: + + - `LEGAL_REPRESENTATIVE` + - `ATTORNEY` + - `null` + + example: LEGAL_REPRESENTATIVE + OwnerProcurators: + type: object + nullable: true + required: + - type + - civil_name + - social_name + - document_number + description: >- + Information regarding any individuals or companies that can act on + behalf of the owner. + properties: + type: + $ref: '#/components/schemas/EnumOwnerProcuratorType' + civil_name: + type: string + maxLength: 70 + pattern: ^[\w\W]*$ + description: > + The representatives's full name. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `procurators` field is available. + example: Alfred Thaddeus Pennyworth + social_name: + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W]*$ + description: | + The person's social name. + example: Alfred Pennyworth + document_number: + type: string + maxLength: 11 + pattern: ^\d{11}$ + description: > + The document number of the representative. + + + **Note**: For individuals, this is Brazil's CPF number. For + businesses, this is Brazil's CNPJ number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `procurators` field is available. + example: '73677831148' + EnumOwnerIndividualProductType: + type: string + nullable: true + enum: + - SAVINGS_ACCOUNT + - CHECKING_ACCOUNT + - null + description: > + The additional products the individual has at the institution. We return + one of the following values: + + - `SAVINGS_ACCOUNT` + - `CHECKING_ACCOUNT` + - `null` + example: SAVINGS_ACCOUNT + OwnerIndividualProducts: + type: object + nullable: true + required: + - type + - subtype + - agency + - clearing_code + - number + - check_digit + description: >- + Details regarding any additional products that the individual has with + the institution. + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualProductType' + subtype: + type: string + nullable: true + description: > + The subtype of the product that the individual has at the + institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: CONJUNTA_SIMPLES + agency: + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + description: | + The branch code where the product was opened. + example: '6272' + clearing_code: + type: string + maxLength: 3 + pattern: ^\d{3}$ + description: > + The banking clearing code for the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: '001' + number: + type: string + maxLength: 20 + pattern: ^\d{8,20}$ + description: > + The account number of the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `procurators` field is available. + example: '24550245' + check_digit: + type: string + maxLength: 2 + pattern: '[\w\W\s]*' + description: > + The check digit of the product's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: '7' + OwnerIndividualFinancialRelation: + type: object + nullable: true + required: + - start_date + - product_services + - product_services_additional_info + - procurators + - products + description: >- + Details regarding any additional relationship the individual has with + the institution (for example, other accounts or products they have with + the institution). + properties: + start_date: + type: string + format: date-time + maxLength: 20 + pattern: >- + ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$ + description: > + The ISO-8601 timestamp when the financial relationship between the + individual and the institution started. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '2021-05-21T08:30:00Z' + product_services: + type: array + minItems: 1 + description: > + A list of products that the individual has with the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + type: string + description: | + The name of the product, according to the institution. + example: CONTA_DEPOSITO_A_VISTA + product_services_additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W]*$ + description: > + Additional information regarding the products that the individual + has. + example: Joint account with Robin + procurators: + type: array + description: >- + Information regarding any individuals or companies that can act on + behalf of the owner. + items: + $ref: '#/components/schemas/OwnerProcurators' + products: + type: array + description: >- + Details regarding any additional products that the individual has + with the institution. + items: + $ref: '#/components/schemas/OwnerIndividualProducts' + OwnerIndividualOpenFinanceBrazil: + type: object + title: Owner Individual (OFDA Brazil) + required: + - id + - link + - internal_identification + - collected_at + - created_at + - display_name + - social_name + - birth_date + - marital_status + - marital_status_additional_info + - gender + - companies_id + - is_local_resident + - document_id + - additional_documents + - nationalities + - email + - emails + - address + - addresses + - phone_number + - phone_numbers + - filiations + - financial_profile + - financial_relation + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier used to reference the current owner. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + format: uuid + description: Belvo's unique ID for the current Link. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: + type: string + nullable: true + description: The institution's internal identifier for the owner. + example: 7e5838e4 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + display_name: + type: string + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The full name of the individual, as provided by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Jack Oswald White + social_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The social name of the individual, as generally accepted by the + country. + example: O Piadista + birth_date: + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The individual's date of birth, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '1988-07-15' + marital_status: + $ref: '#/components/schemas/EnumOwnerMaritalStatus' + marital_status_additional_info: + type: string + nullable: true + maxLength: 50 + pattern: ^[\w\W]{0,50}$ + description: | + Additional information about the individual's marital status. + example: It's complicated + gender: + $ref: '#/components/schemas/EnumOwnerGender' + companies_id: + type: array + minItems: 1 + description: > + The institutions responsible for the creation and verification of + the owner. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + type: string + maxLength: 14 + pattern: ^\d{14}$ + description: > + The institutions responsible for the creation and verification of + the owner. + example: '01773247000103' + is_local_resident: + type: boolean + description: > + Boolean to indicate if the individual is a local resident of the + country. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: true + document_id: + $ref: '#/components/schemas/OwnerDocumentIdOpenFinanceBrazil' + additional_documents: + type: array + description: > + Detailed information regarding additional documents provided to + prove the individuals ID. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + minItems: 1 + items: + $ref: '#/components/schemas/OwnerIndividualDocumentIds' + nationalities: + type: array + nullable: true + minItems: 1 + description: > + Detailed information regarding the individual's nationalities. + + + Only required to be returned when `is_local_resident` is set to + `false`. + items: + $ref: '#/components/schemas/OwnerNationalities' + email: + type: string + nullable: true + format: email + maxLength: 320 + description: > + The account owner's registered email address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: johndoe@belvo.com + emails: + type: array + minItems: 0 + description: > + Additional list of emails the owner provided. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerEmails' + address: + type: string + nullable: true + description: > + The account owner's registered address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + type: array + minItems: 1 + description: > + Detailed information regarding the owner's addresses. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerAddresses' + phone_number: + type: string + nullable: true + description: > + The account owner's registered phone number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: +52-XXX-XXX-XXXX + phone_numbers: + type: array + minItems: 0 + description: > + Detailed information regarding the owner's phone numbers. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerPhoneNumbers' + filiations: + type: array + minItems: 1 + description: > + Information regarding any familial relationships of the individual. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerFiliations' + financial_profile: + $ref: '#/components/schemas/OwnerIndividualFinancialProfile' + financial_relation: + $ref: '#/components/schemas/OwnerIndividualFinancialRelation' + OwnersIndividualPaginatedResponseOpenFinanceBrazil: + type: object + title: Owner Individual (OFDA Brazil) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of owner objects. + items: + $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + OwnerBusinessDocumentIds: + type: object + nullable: true + required: + - type + - type_additional_info + - number + - check_digit + - issue_date + - expiration_date + - country_of_issuance + - additional_info + description: >- + Detailed information regarding additional documents provided to prove + the business's ID. + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualDocumentIdType' + type_additional_info: + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + description: > + Additional information regarding the document type. + + + > Note: For Business ID documents, this field must return a value + from Brazil's open finance network. + example: EIN + number: + type: string + maxLength: 40 + pattern: ^[\w\W]{0,40}$ + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: DL-7896829-7 + check_digit: + type: string + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + description: > + The check digit of the ID document. + + + > **Note**: This field is not applicable for Business ID documents + and will return `null`. + example: null + issue_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date the the ID document was issued, in `YYYY-MM-DD` format. + + + > **Note**: This field is not applicable for Business ID documents + and will return `null`. + example: null + expiration_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + example: '2019-01-01' + country_of_issuance: + type: string + nullable: true + maxLength: 3 + pattern: ^(\w{3}){1}$ + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: CAN + additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + description: > + Additional information about the ID document. + + + > **Note**: This field is not applicable for Business ID documents + and will return `null`. + example: null + EnumOwnerPartyPersonType: + type: string + nullable: true + enum: + - INDIVIDUAL + - COMPANY + description: > + The type of person that is an ownership party of the account. We return + one of the following values: + + - `INDIVIDUAL` + - `COMPANY` + + example: INDIVIDUAL + EnumOwnerPartyType: + type: string + nullable: true + enum: + - MEMBER + - ADMINISTRATOR + description: > + The access type that the `person_type` has to the account. We return one + of the following values: + + + - `MEMBER` indicates that the `person_type` has read access to the + account. + + - `ADMINISTRATOR` indicates that the `person_type` can perform all + actions for the account (including transfers). + example: MEMBER + EnumOwnerPartyDocumentType: + type: string + nullable: true + enum: + - CPF + - CNPJ + - OTHER_TRAVEL_DOCUMENT + - PASSPORT + description: > + The type of ID document the party provided when being added to the + account. We return one of the following values: + + - `CPF` + - `CNPJ` + - `OTHER_TRAVEL_DOCUMENT` + - `PASSPORT` + example: CPF + OwnerParties: + type: object + nullable: true + required: + - person_type + - type + - display_name + - social_name + - trade_name + - start_date + - percentage_type + - document_type + - document_number + - document_issue_date + - document_expiration_date + - document_country + - document_additional_info + description: >- + Detailed information regarding the parties allowed to act on the owner's + behalf. + properties: + person_type: + $ref: '#/components/schemas/EnumOwnerPartyPersonType' + type: + $ref: '#/components/schemas/EnumOwnerPartyType' + display_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The full name of the individual, as provided by the institution. + Only applicable if the `person_type` is `INDIVIDUAL`. + example: Jack Oswald White + social_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The social name of the individual, as generally accepted by the + country. Only applicable if the `person_type` is `INDIVIDUAL`. + example: O Piadista + company_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The full (official) name of the business. Only applicable if the + `person_type` is `COMPANY`. + example: Wayne Enterprises + trade_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The trade name of the business. Only applicable if the `person_type` + is `COMPANY`. + example: WayneCorp + start_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date that the party was added to the account, in `YYYY-MM-DD` + format. + example: '2021-07-15' + percentage_type: + type: number + nullable: true + format: float + minLength: 8 + maxLength: 8 + pattern: ^[01]\.\d{6}$ + description: | + The party's equity interest. + example: 0.51 + document_type: + $ref: '#/components/schemas/EnumOwnerPartyDocumentType' + document_number: + type: string + maxLength: 40 + pattern: ^[\w\W\s]{0,40}$ + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: DL-7896829-7 + document_issue_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document was issued, in `YYYY-MM-DD` format. + example: '2019-01-01' + document_expiration_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + example: '2019-01-01' + document_country: + type: string + nullable: true + maxLength: 3 + pattern: ^(\w{3}){1}$ + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + example: CAN + document_additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + description: | + Additional information regarding the document. + example: Confirmed CPF with their driver's licence. + OwnerBusinessEconomicActivies: + type: object + nullable: true + required: + - is_main + - code + description: Details regarding the reported economic activities of the business. + properties: + is_main: + type: boolean + description: > + Boolean to indicate whether this is the business's main economic + activity. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `economic_activities` field is available. + example: true + code: + type: string + minLength: 2 + maxLength: 7 + pattern: ^\d{2,7}$ + description: > + The code of the economic activity, as given by the country. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `economic_activities` field is available. + example: '8599604' + EnumOwnerBusinessInformedRevenueFrequency: + type: string + nullable: true + enum: + - DAILY + - WEEKLY + - FORTNIGHTLY + - MONTHLY + - BIMONTHLY + - QUARTERLY + - BIANNUALLY + - ANNUALLY + - OTHERS + - null + description: > + Indicates how often the business declares their revenue. We return one + of the following values: + + - `DAILY` + - `WEEKLY` + - `FORTNIGHTLY` + - `MONTHLY` + - `BIMONTHLY` + - `QUARTERLY` + - `BIANNUALLY` + - `ANNUALLY` + - `OTHERS` + - `null` + example: MONTHLY + OwnerBusinessInformedRevenue: + type: object + nullable: true + required: + - frequency + - frequency_additional_info + - amount + - currency + - year + description: Information regarding the business's reported revenue. + properties: + frequency: + $ref: '#/components/schemas/EnumOwnerBusinessInformedRevenueFrequency' + frequency_additional_info: + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + description: | + Additional information regarding the frequency. + example: Recently switched from weekly to monthly. + amount: + type: number + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The reported revenue of the business. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `informed_revenue` field is available. + example: 45391.89 + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `informed_revenue` field is available. + example: BRL + year: + type: integer + maxLength: 4 + minimum: 1700 + maximum: 2090 + description: > + The year when revenue was last declared. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `informed_revenue` field is available. + example: 2022 + OwnerBusinessPatrimony: + type: object + nullable: true + required: + - amount + - currency + - date + description: Information regarding the individual's reported assets. + properties: + amount: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The reported assets of the business. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `patrimony` field is available. + example: 45391.89 + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `patrimony` field is available. + example: BRL + date: + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date that the reported assets applied, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `patrimony` field is available. + example: '2022-12-12' + OwnerBusinessFinancialProfile: + type: object + nullable: true + required: + - economic_activities + - informed_revenue + - patrimony + description: Information regarding the financial profile of the individual. + properties: + economic_activities: + type: array + description: Details regarding the reported economic activities of the business. + items: + $ref: '#/components/schemas/OwnerBusinessEconomicActivies' + informed_revenue: + $ref: '#/components/schemas/OwnerBusinessInformedRevenue' + patrimony: + $ref: '#/components/schemas/OwnerBusinessPatrimony' + EnumOwnerBusinessProductType: + type: string + nullable: true + enum: + - SAVINGS_ACCOUNT + - CHECKING_ACCOUNT + - null + description: > + The additional products the business has at the institution. We return + one of the following values: + + - `SAVINGS_ACCOUNT` + - `CHECKING_ACCOUNT` + - `null` + + example: SAVINGS_ACCOUNT + OwnerBusinessProducts: + type: object + nullable: true + required: + - type + - subtype + - agency + - clearing_code + - number + - check_digit + description: >- + Details regarding any additional products that the individual has with + the institution. + properties: + type: + $ref: '#/components/schemas/EnumOwnerBusinessProductType' + subtype: + type: string + description: > + The subtype of the product that the business has at the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: CONJUNTA_SIMPLES + agency: + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + description: | + The branch code where the product was opened. + example: '6272' + clearing_code: + type: string + maxLength: 3 + pattern: ^\d{3}$ + description: > + The banking clearing code for the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: '001' + number: + type: string + maxLength: 20 + pattern: ^\d{8,20}$ + description: > + The account number of the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: '24550245' + check_digit: + type: string + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + description: > + The check digit of the product's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: '7' + OwnerBusinessFinancialRelation: + type: object + nullable: true + required: + - start_date + - product_services + - procurators + - products + description: >- + Details regarding any additional relationship the business has with the + institution (for example, other accounts or products they have with the + institution). + properties: + start_date: + type: string + format: date-time + maxLength: 20 + pattern: >- + ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$ + description: > + The ISO-8601 timestamp when the financial relationship between the + business and the institution started. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '2021-05-21T08:30:00Z' + product_services: + type: array + minItems: 1 + description: > + A list of products that the business has with the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + type: string + description: | + The name of the product, according to the institution. + example: CONTA_DEPOSITO_A_VISTA + procurators: + type: array + description: >- + Information regarding any individuals or companies that can act on + behalf of the owner. + items: + $ref: '#/components/schemas/OwnerProcurators' + products: + type: array + description: >- + Details regarding any additional products that the business has with + the institution. + items: + $ref: '#/components/schemas/OwnerBusinessProducts' + OwnerBusinessOpenFinanceBrazil: + type: object + title: Owner Business (OFDA Brazil) + required: + - id + - link + - internal_identification + - collected_at + - created_at + - company_name + - trade_name + - incorporation_date + - companies_id + - document_id + - additional_documents + - email + - emails + - address + - addresses + - phone_number + - phone_numbers + - parties + - financial_profile + - financial_relation + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier used to reference the current owner. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + format: uuid + description: Belvo's unique ID for the current Link. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: + type: string + nullable: true + description: The institution's internal identifier for the owner. + example: 7e5838e4 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + company_name: + type: string + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The full (official) name of the business, as provided by the + institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Wayne Enterprises + trade_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: | + The trade name of the business. + example: WayneCorp + incorporation_date: + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date that the business was incorporated, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '1988-07-15' + companies_id: + type: array + minItems: 1 + description: > + The institutions responsible for the creation and verification of + the owner. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + type: string + maxLength: 14 + pattern: ^\d{14}$ + description: > + The institutions responsible for the creation and verification of + the owner. + example: '01773247000103' + document_id: + $ref: '#/components/schemas/OwnerDocumentIdOpenFinanceBrazil' + additional_documents: + type: array + minItems: 1 + description: > + Detailed information regarding additional documents provided to + prove the business's ID. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerBusinessDocumentIds' + email: + type: string + nullable: true + format: email + maxLength: 256 + description: The account owner's registered email address. + example: johndoe@belvo.com + emails: + type: array + minItems: 0 + description: Additional list of emails the owner provided. + items: + $ref: '#/components/schemas/OwnerEmails' + address: + type: string + nullable: true + description: The accounts owners registered address. + example: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + type: array + minItems: 1 + description: Detailed information regarding the owner's addresses. + items: + $ref: '#/components/schemas/OwnerAddresses' + phone_number: + type: string + nullable: true + description: The account owner's registered phone number. + example: +52-XXX-XXX-XXXX + phone_numbers: + type: array + minItems: 0 + description: Detailed information regarding the owner's `phone_number`s. + items: + $ref: '#/components/schemas/OwnerPhoneNumbers' + parties: + type: array + minItems: 1 + description: > + Detailed information regarding the parties allowed to act on the + owner's behalf. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerParties' + financial_profile: + $ref: '#/components/schemas/OwnerBusinessFinancialProfile' + financial_relation: + $ref: '#/components/schemas/OwnerBusinessFinancialRelation' + OwnersBusinessPaginatedResponseOpenFinanceBrazil: + type: object + title: Owner Business (OFDA Brazil) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of owner business (OFDA Brazil) objects. + items: + $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + EnumInvoiceSatInvoiceType: + type: string + nullable: true + enum: + - Egreso + - Ingreso + - Nómina + - Pago + - Traslado + description: | + The fiscal institution's classification of the invoice. + + For Mexico's SAT, we return one of the following values: + + - `Egreso` + - `Ingreso` + - `Nómina` + - `Pago` + - `Traslado` + example: Ingreso + EnumInvoiceType: + type: string + nullable: true + enum: + - OUTFLOW + - INFLOW + - null + description: | + The direction of the invoice (from the perspective of the Link owner). + - `OUTFLOW` indicates a sent invoice. + - `INFLOW` indicates a received invoice. + example: INFLOW + EnumInvoiceSatPaymentMethod: + type: string + nullable: true + enum: + - PUE + - PIP + - PPD + - null + description: > + The payment method code used for this invoice, as defined by the legal + entity of the country. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payment-method). + For Mexico, we return `PUE`, `PIP`, `PPD`, or `null`. + example: PUE + InvoiceDetailRetainedTaxSat: + type: object + required: + - tax + - tax_percentage + - retained_tax_amount + properties: + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + tax_type: + type: string + nullable: true + description: > + **Note**: This field is not applicable for SAT Mexico and will + return `null`. + example: null + tax: + type: string + nullable: true + description: The type of retained tax (for example, ISR, IVA or IEPS). + example: ISR + tax_percentage: + type: number + nullable: true + format: float + description: The percentage of tax retained. + example: 10 + retained_tax_amount: + type: number + nullable: true + format: float + description: The amount of retained tax. + example: 209.79 + InvoiceDetailSat: + type: object + required: + - description + - product_identification + - quantity + - unit_amount + - unit_description + - unit_code + - pre_tax_amount + - tax_percentage + - tax_amount + - total_amount + properties: + description: + type: string + nullable: true + description: > + The description of the invoice item (an invoice can have one or more + items). + example: December 2019 accounting fees + product_identification: + type: string + nullable: true + description: > + The identification code of the product or the service, as defined by + the legal entity in the country. + + - 🇲🇽 [Mexico](http://200.57.3.89/Pys/catPyS.aspx) + example: '84101600' + quantity: + type: number + nullable: true + format: float + description: The quantity of this invoice item. + example: 10 + unit_code: + type: string + nullable: true + description: > + The unit of measure, as defined by the legal entity in the country. + + - 🇲🇽 Mexico [SAT catalog + reference](https://developers.belvo.com/docs/sat-catalogs#unit-code) + example: E48 + unit_description: + type: string + nullable: true + description: > + The description of the item, as defined by the legal entity in the + country. + + - 🇲🇽 Mexico [SAT catalog + reference](https://developers.belvo.com/docs/sat-catalogs#unit-code) + example: Unidad de servicio + unit_amount: + type: number + nullable: true + format: float + description: The price of one a singular item. + example: 200 + tax_type: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + pre_tax_amount: + type: number + nullable: true + format: float + description: | + The total price for this item before tax is applied (`quantity` x + `unit_amount`). + example: 400 + tax_percentage: + type: number + nullable: true + format: float + description: The tax percentage to apply. + example: 16 + tax_amount: + type: number + nullable: true + format: float + description: | + The amount of tax for this invoice item (`pre_tax_amount` x + `tax_percentage`). + example: 64 + total_amount: + type: number + nullable: true + format: float + description: >- + The total price for this invoice item (`pre_tax_amount` + + `tax_amount`). + example: 464 + retained_taxes: + type: array + description: The retained tax on the invoice item. + items: + $ref: '#/components/schemas/InvoiceDetailRetainedTaxSat' + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + InvoicesPaymentsRelatedDocumentsSat: + type: object + required: + - invoice_identification + - currency + - payment_method + - previous_balance + - amount_paid + - outstanding_balance + description: List of all the related deferred invoices affected by the payment. + properties: + invoice_identification: + type: string + nullable: true + description: | + The fiscal institution's unique ID for the related deferred invoice. + example: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: + type: string + nullable: true + description: | + The currency of the related invoice. For example: + + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + + Please note that other currencies other than in the list above may be returned. + example: MXN + payment_method: + type: string + nullable: true + description: | + The payment method of the related invoice. + example: PPD + partiality_number: + type: integer + format: int32 + description: | + The payment installment number. + example: 1 + previous_balance: + type: number + nullable: true + format: float + description: | + The invoice amount before the payment. + example: 18877.84 + amount_paid: + type: number + nullable: true + format: float + description: | + The amount paid in this installment. + example: 8000 + outstanding_balance: + type: number + nullable: true + format: float + description: | + The amount remaining to be paid. + example: 10877.84 + InvoicesPaymentsSat: + type: object + required: + - date + - payment_type + - currency + - exchange_rate + - amount + - operation_number + - beneficiary_account_number + - payer_rfc + - payer_account_number + - payer_bank_name + - related_documents + properties: + date: + type: string + nullable: true + format: date-time + description: | + ISO-8601 timestamp when the payment was made. + example: '2020-03-17T12:00:00.000Z' + payment_type: + type: string + nullable: true + description: > + Payment type code used for this invoice, as defined by the country's + legal entity. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payment-type) + example: '03' + currency: + type: string + nullable: true + description: > + The currency of the payment. For example: + + + - 🇧🇷 BRL (Brazilian Real) + + - 🇨🇴 COP (Colombian Peso) + + - 🇲🇽 MXN (Mexican Peso) + + + Please note that other currencies other than in the list above may + be returned. + example: BRL + exchange_rate: + type: string + nullable: true + description: > + The `currency` to MXN currency exchange rate when the payment was + made. + example: '3.75' + amount: + type: number + nullable: true + format: float + description: | + The invoice amount, in the currency of the original invoice. + example: 8000.5 + operation_number: + type: string + nullable: true + description: | + The fiscal institution's internal identifier for the operation. + example: '831840' + beneficiary_rfc: + type: string + nullable: true + description: | + The fiscal ID of the payment beneficiary. + example: BNM840515VB1 + beneficiary_account_number: + type: string + nullable: true + description: | + The bank account number of the payment beneficiary. + example: '12343453245633' + payer_rfc: + type: string + nullable: true + description: | + The fiscal ID of the payment issuer. + example: BKJM840515VB1 + payer_account_number: + type: string + nullable: true + description: | + The bank account number of the payment issuer. + example: '13343663245699' + payer_bank_name: + type: string + nullable: true + description: | + The banking institution that was used by the payment issuer. + example: CITI BANAMEX + related_documents: + type: array + description: | + A list of all the related deferred invoices affected by the payment. + items: + $ref: '#/components/schemas/InvoicesPaymentsRelatedDocumentsSat' + InvoicesPayrollSat: + type: object + nullable: true + required: + - version + - type + - payment_date + - date_from + - date_to + - days + - amount + description: > + Details regarding the payroll payment. Only applicable for payroll + invoices. + properties: + days: + type: integer + nullable: true + format: int32 + description: | + The number of days covered by the payment. + example: 30 + type: + type: string + nullable: true + description: > + The payroll type, as defined by the legal entity of the country. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payroll-type) + example: O + amount: + type: number + format: float + description: | + The total amount of the payroll payment. + example: 20400.1 + version: + type: string + description: | + The version of the payroll object. + example: '1.2' + date_from: + type: string + nullable: true + format: date + description: | + The start date of the payment period, in `YYYY-MM-DD` format. + example: '2018-07-01' + date_to: + type: string + nullable: true + format: date + description: | + The end date of the payment period, in `YYYY-MM-DD` format. + example: '2018-07-31' + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + payment_date: + type: string + format: date + description: | + The payment date, in `YYYY-MM-DD` format. + InvoiceWarningsSat: + type: object + nullable: true + required: + - code + - message + description: > + Object containing information about any warnings related to this + invoice. + properties: + code: + type: string + nullable: true + description: | + The warning code. Can be one of: + + - `sat_xml_limit_reached` + - `sat_service_unavailable` + - `null` + example: sat_xml_limit_reached + message: + type: string + nullable: true + description: > + The description of the warning. + + + The message will depend on the warning code: + + + `sat_xml_limit_reached`
+ + The daily limit for XML downloads set by SAT was reached so this + invoice might be missing data. Please check + https://tinyurl.com/yydzhy5d for more information on this error. + + + `sat_service_unavailable`
+ + Downloading invoices details is not available. The SAT portal raised + a 503 error. + example: > + The daily limit for XML downloads set by SAT was reached so this + invoice + + might be missing data. Please check https://tinyurl.com/yydzhy5d for + more + + information on this error. + InvoiceWithIdSat: + type: object + title: 🇲🇽 SAT Mexico + required: + - type + - invoice_identification + - invoice_date + - invoice_type + - subtotal_amount + - tax_amount + - discount_amount + - total_amount + - currency + - exchange_rate + - status + - sender_name + - sender_id + - receiver_name + - receiver_id + - certification_authority + - certification_date + - cancelation_status + - cancelation_update_date + - payment_type + - payment_type_description + - invoice_details + - payroll + - payments + - collected_at + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier used to reference the current invoice. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + description: The `link.id` the invoice belongs to. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + invoice_identification: + type: string + nullable: true + description: The fiscal institution's unique ID for the invoice. + example: A1A1A1A1-2B2B-3C33-D44D-555555E55EE + invoice_date: + type: string + nullable: true + description: The date of the invoice, in `YYYY-MM-DD` format. + example: '2019-12-01' + status: + type: string + nullable: true + description: > + The status of the invoice. Can be either *Vigente* (valid) or + *Cancelado* + + (cancelled). + example: Vigente + invoice_type: + $ref: '#/components/schemas/EnumInvoiceSatInvoiceType' + type: + $ref: '#/components/schemas/EnumInvoiceType' + sender_id: + type: string + nullable: true + description: The fiscal ID of the invoice sender + example: AAA111111AA11 + sender_name: + type: string + nullable: true + description: The name of the invoice sender. + example: ACME CORP + sender_tax_fraud_status: + type: string + nullable: true + description: > + Indicates whether or not the sender is on SAT's tax fraud list for + having submitted incorrect data, having outstanding payments, or + having conducted business that is in violation of the fiscal + institution's regulations.

+ + + SAT updates the tax fraud list every three months.

+ + + For more information regarding the reason's a taxpayer can be put on + the tax fraud list, please see [Article + 69](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69.html) + and [Article + 69-B](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69B.html) + of Mexico's Código Fiscal de la Federación. + +

+ + + Possible statuses are: + + + - `INVESTIGATING`
+ + The fiscal institution has identified irregularities and open an + investigation regarding the taxpayer. + +
+ + - `DISMISSED`
+ + The fiscal institution has investigated the taxpayer and declared + them innocent. + +
+ + - `CONFIRMED`
+ + The fiscal institution has confirmed that the taxpayer is guilty. + +
+ + - `OVERTURNED`
+ + The fiscal institution has reassessed a previously confirmed + taxpayer and, based on new evidence, has taken the taxpayer off the + tax fraud list. + +
+ + - `NO_TAX_FRAUD_STATUS`
+ + The receiver or sender is not found in the list (in other words, + they are complying with the fiscal institution's regulations). + example: NO_TAX_FRAUD_STATUS + receiver_id: + type: string + nullable: true + description: The fiscal ID of the invoice receiver. + example: BBB222222BB22 + receiver_name: + type: string + nullable: true + description: The name of the invoice receiver. + example: BELVO CORP + receiver_tax_fraud_status: + type: string + nullable: true + description: > + Indicates whether or not the receiver is on SAT's tax fraud list for + having submitted incorrect data, having outstanding payments, or + having conducted business that is in violation of the fiscal + institution's regulations.

+ + + SAT updates the tax fraud list every three months.

+ + + For more information regarding the reason's a taxpayer can be put on + the tax fraud list, please see [Article + 69](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69.html) + and [Article + 69-B](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69B.html) + of Mexico's Código Fiscal de la Federación. + +

+ + + Possible statuses are: + + + - `INVESTIGATING`
+ + The fiscal institution has identified irregularities and open an + investigation regarding the taxpayer. + +
+ + - `DISMISSED`
+ + The fiscal institution has investigated the taxpayer and declared + them innocent. + +
+ + - `CONFIRMED`
+ + The fiscal institution has confirmed that the taxpayer is guilty. + +
+ + - `OVERTURNED`
+ + The fiscal institution has reassessed a previously confirmed + taxpayer and, based on new evidence, has taken the taxpayer off the + tax fraud list. + +
+ + - `NO_TAX_FRAUD_STATUS`
+ + The receiver or sender is not found in the list (in other words, + they are complying with the fiscal institution's regulations). + example: NO_TAX_FRAUD_STATUS + cancelation_status: + type: string + nullable: true + description: > + If the invoice is cancelled, this field indicates the status of the + cancellation. + cancelation_update_date: + type: string + nullable: true + format: date + description: | + The date of the invoice cancelation, in `YYYY-MM-DD` format. + example: '2019-12-02' + certification_date: + type: string + nullable: true + format: date + description: | + The date of the fiscal certification, in `YYYY-MM-DD` format. + example: '2019-12-01' + certification_authority: + type: string + nullable: true + description: | + The fiscal ID of the certification provider. + example: CCC333333CC33 + payment_type: + type: string + nullable: true + description: > + The payment type code used for this invoice, as defined by the + country legal entity. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payment-type) + example: '99' + payment_type_description: + 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.* + example: null + payment_method: + $ref: '#/components/schemas/EnumInvoiceSatPaymentMethod' + payment_method_description: + 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.* + + + *The description of the payment method used for this invoice.* + example: null + usage: + type: string + nullable: true + description: > + The invoice's usage code, as defined by the legal entity of the + country. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#usage) + example: P01 + version: + type: string + nullable: true + description: | + The CFDI version of the invoice. + example: '3.3' + place_of_issue: + type: string + nullable: true + description: | + The postcode of where the invoice was issued. + example: '01165' + invoice_details: + type: array + description: > + A list of descriptions for each item (purchased product or service + provided) in the invoice. + items: + $ref: '#/components/schemas/InvoiceDetailSat' + currency: + type: string + nullable: true + description: | + The currency of the invoice. For example: + + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + - 🇺🇸 USD (United States Dollar) + example: MXN + subtotal_amount: + type: number + nullable: true + format: float + description: > + The pretax amount of this invoice (sum of each item's + `pre_tax_amount`). + example: 400 + exchange_rate: + type: number + nullable: true + format: float + description: | + The exchange rate used in this invoice for the currency. + example: 0.052 + tax_amount: + type: number + nullable: true + format: float + description: > + The amount of tax for this invoice (sum of each item's + `tax_amount`). + example: 64 + discount_amount: + type: number + nullable: true + format: float + description: | + The total amount discounted in this invoice. + example: 10 + total_amount: + type: number + nullable: true + format: float + description: | + The total amount of the invoice (`subtotal_amount` + `tax_amount` - + `discount_amount`) + example: 454 + payments: + type: array + description: | + A list detailing all the invoice payments. + items: + $ref: '#/components/schemas/InvoicesPaymentsSat' + payroll: + $ref: '#/components/schemas/InvoicesPayrollSat' + folio: + type: string + nullable: true + description: > + The internal control number that the taxpayer assigns to the + invoice. + example: '26' + xml: + type: string + nullable: true + description: | + XML of the invoice document. + warnings: + $ref: '#/components/schemas/InvoiceWarningsSat' + sender_blacklist_status: + 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.* + + Please use `sender_tax_fraud_status` instead. + example: null + receiver_blacklist_status: + 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.* + + Please use `receiver_tax_fraud_status` instead. + example: null + EnumInvoiceDianInvoiceType: + type: string + nullable: true + enum: + - Factura Electrónica de Venta + description: | + The fiscal institution's classification of the invoice. + + For Colombia's DIAN, we return one of the following values: + + - `Factura Electrónica de Venta` + example: Factura Electrónica de Venta + InvoiceSenderDetailsDian: + type: object + nullable: true + description: | + Details regarding the sender. + properties: + collected_at: + type: string + nullable: true + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + tax_payer_type: + type: string + nullable: true + description: > + Indicates if the sender is a business or an individual. Can be + either: + + - `Persona Jurídica` + - `Persona Natural` + example: Persona Natural + regimen: + type: string + nullable: true + description: > + The sender's regimen type. + + + For detailed information regarding DIAN's regimens, please see their + [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: Régimen Simple de Tributación - SIMPLE + tax_scheme: + type: string + nullable: true + description: > + The sender's fiscal responsibilities. + + + For detailed information regarding DIAN's tax schemes, please see + their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: 01-IVA + country: + type: string + nullable: true + description: | + The country where the sender pays their taxes. + example: Colombia + address: + type: string + nullable: true + description: | + The sender's address. + example: Calle 144 No. 12-09 + phone_number: + type: string + nullable: true + description: | + The sender's phone number. + example: '576606522566' + email: + type: string + nullable: true + description: | + The sender's email address. + example: acme_colombia@gmail.com + InvoicesReceiverDetailsDian: + type: object + nullable: true + description: | + Details regarding the receiver. + properties: + collected_at: + type: string + nullable: true + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + tax_payer_type: + type: string + nullable: true + description: > + Indicates if the receiver is a business or an individual. Can be + either: + + - `Persona Jurídica` + - `Persona Natural` + example: Persona Natural + regimen: + type: string + nullable: true + description: > + The receiver's regimen type. + + + For detailed information regarding DIAN's regimens, please see their + [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: Régimen Simple de Tributación - SIMPLE + tax_scheme: + type: string + nullable: true + description: > + The receiver's fiscal responsibilities. + + + For detailed information regarding DIAN's tax schemes, please see + their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: 01-IVA + country: + type: string + nullable: true + description: | + The country where the receiver pays their taxes. + example: Colombia + address: + type: string + nullable: true + description: | + The receiver's address. + example: Calle 144 No. 12-09 + phone_number: + type: string + nullable: true + description: | + The receiver's phone number. + example: 576606522566| + email: + type: string + nullable: true + description: | + The receiver's email address. + example: acme_colombia@gmail.com + EnumInvoiceDianPaymentMethod: + type: string + nullable: true + enum: + - Contado + - Crédito + - null + description: > + The payment method used for this invoice, as defined by the legal entity + of the country. + + + For DIAN Colombia, we return one of the following values: + + - `Contado` + - `Crédito` + - `null` + example: Contado + InvoiceDetailDian: + type: object + required: + - description + - product_identification + - quantity + - unit_amount + - unit_description + - unit_code + - pre_tax_amount + - tax_percentage + - tax_amount + - total_amount + properties: + description: + type: string + nullable: true + description: | + The description of the invoice item (an invoice can have one or more + items). + example: December 2019 accounting fees + product_identification: + type: string + nullable: true + description: > + The identification code of the product or the service, as defined by + the legal entity in the country. + example: AE001 + quantity: + type: number + nullable: true + format: float + description: The quantity of this invoice item. + example: 1 + unit_code: + type: string + nullable: true + description: | + The unit of measure, as defined by the legal entity in the country. + example: EA + unit_description: + type: string + nullable: true + description: > + The description of the item, as defined by the legal entity in the + country. + example: cada + unit_amount: + type: number + nullable: true + format: float + description: The price of one singular item. + example: 5900 + tax_type: + type: string + nullable: true + description: The item's tax type. + example: IVA + pre_tax_amount: + type: number + nullable: true + format: float + description: | + The total price for this item before tax is applied (`quantity` x + `unit_amount`). + example: 5900 + tax_percentage: + type: number + nullable: true + format: float + description: The tax percentage to apply. + example: 16 + tax_amount: + type: number + nullable: true + format: float + description: | + The amount of tax for this invoice item (`pre_tax_amount` x + `tax_percentage`). + example: 64 + total_amount: + type: number + nullable: true + format: float + description: >- + The total price for this invoice item (`pre_tax_amount` + + `tax_amount`). + example: 464 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + InvoicesPaymentsRelatedDocumentsDian: + type: object + required: + - invoice_identification + - currency + - payment_method + - previous_balance + - amount_paid + - outstanding_balance + description: List of all the related deferred invoices affected by the payment. + properties: + invoice_identification: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + currency: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payment_method: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + partiality_number: + type: integer + nullable: true + format: int32 + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + previous_balance: + type: number + nullable: true + format: float + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + amount_paid: + type: number + nullable: true + format: float + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + outstanding_balance: + type: number + nullable: true + format: float + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + InvoicesPaymentsDian: + type: object + required: + - date + - payment_type + - currency + - exchange_rate + - amount + - operation_number + - beneficiary_account_number + - payer_rfc + - payer_account_number + - payer_bank_name + - related_documents + properties: + date: + type: string + nullable: true + format: date-time + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payment_type: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + currency: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + exchange_rate: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + amount: + type: number + nullable: true + format: float + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + operation_number: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + beneficiary_rfc: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + beneficiary_account_number: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payer_rfc: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payer_account_number: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payer_bank_name: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + related_documents: + type: array + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + items: + $ref: '#/components/schemas/InvoicesPaymentsRelatedDocumentsDian' + InvoicesPayrollDian: + type: object + nullable: true + required: + - version + - type + - payment_date + - date_from + - date_to + - days + - amount + description: > + **Note**: This field is not applicable for DIAN Colombia and will return + `null`. + properties: + days: + type: integer + nullable: true + format: int32 + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + type: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + amount: + type: number + nullable: true + format: float + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + version: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + date_from: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + date_to: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + collected_at: + type: string + nullable: true + format: date-time + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payment_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + InvoiceWarningsDian: + type: object + nullable: true + required: + - code + - message + description: > + **Note**: This field is not applicable for DIAN Colombia and will return + `null`. + properties: + code: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + message: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + InvoiceDian: + type: object + title: 🇨🇴 DIAN Colombia + required: + - type + - invoice_identification + - invoice_date + - invoice_type + - subtotal_amount + - tax_amount + - discount_amount + - total_amount + - currency + - exchange_rate + - status + - sender_name + - sender_id + - receiver_name + - receiver_id + - certification_authority + - certification_date + - cancelation_status + - cancelation_update_date + - payment_type + - payment_type_description + - invoice_details + - payroll + - payments + - collected_at + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier for the current invoice. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + description: The `link.id` the invoice belongs to. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + invoice_identification: + type: string + nullable: true + description: The fiscal institution's unique ID for the invoice. + example: >- + 89868fda605e6250a7ecb910dc57ed6f8147c6dc39ec90805bb655a0646e6cc3f991f93463f62e03d236b9cc9c293edc + invoice_date: + type: string + nullable: true + description: The date of the invoice, in `YYYY-MM-DD` format. + example: '2019-12-01' + status: + type: string + nullable: true + description: | + The status of the invoice. Can be one of: + + - *Aprobado* (approved) + - *Aprobado con notificación* (approved with notification) + example: Aprobado + expiration_date: + type: string + nullable: true + format: date + description: > + The date when the invoice is set to expire, in `YYYY-MM-DD` format. + + + For example: If the invoice is paid in installments, this field + indicates the date when the installment is to be paid. + example: '2022-08-19' + invoice_type: + $ref: '#/components/schemas/EnumInvoiceDianInvoiceType' + type: + $ref: '#/components/schemas/EnumInvoiceType' + sender_id: + type: string + nullable: true + description: The fiscal ID of the invoice sender. + example: YHS922233648 + sender_name: + type: string + nullable: true + description: The name of the invoice sender. + example: ACME Corp Colombia + sender_details: + $ref: '#/components/schemas/InvoiceSenderDetailsDian' + sender_tax_fraud_status: + type: string + nullable: true + description: > + Indicates whether or not the sender is on a tax fraud list for + having submitted incorrect data, having outstanding payments, or + having conducted business that is in violation of the fiscal + institution's regulations. + + + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + receiver_id: + type: string + nullable: true + description: The fiscal ID of the invoice receiver. + example: BBB222222BB22 + receiver_name: + type: string + nullable: true + description: The name of the invoice receiver. + example: Roadrunner Traps Colombia + receiver_details: + $ref: '#/components/schemas/InvoicesReceiverDetailsDian' + receiver_tax_fraud_status: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + cancelation_status: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + cancelation_update_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + certification_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + certification_authority: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payment_type: + type: string + nullable: true + description: > + The payment type code used for this invoice, as defined by the + country legal entity. + + + For detailed information regarding DIAN's payment types, please see + their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: '47' + payment_type_description: + type: string + nullable: true + description: | + The description of the payment method used for this invoice. + example: null + payment_method: + $ref: '#/components/schemas/EnumInvoiceDianPaymentMethod' + payment_method_description: + 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.* + + + *The description of the payment method used for this invoice.* + example: null + usage: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + version: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + place_of_issue: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + invoice_details: + type: array + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + items: + $ref: '#/components/schemas/InvoiceDetailDian' + currency: + type: string + nullable: true + description: | + The currency of the invoice. For example: + + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + - 🇺🇸 USD (United States Dollar) + example: COP + subtotal_amount: + type: number + nullable: true + format: float + description: > + The pretax amount of this invoice (sum of each item's + `pre_tax_amount`). + example: 400 + exchange_rate: + type: number + nullable: true + format: float + description: | + The exchange rate used in this invoice for the currency. + example: 0.053 + tax_amount: + type: number + nullable: true + format: float + description: > + The amount of tax for this invoice (sum of each item's + `tax_amount`). + example: 64 + discount_amount: + type: number + nullable: true + format: float + description: | + The total amount discounted in this invoice. + example: 10 + total_amount: + type: number + nullable: true + format: float + description: | + The total amount of the invoice (`subtotal_amount` + `tax_amount` - + `discount_amount`) + example: 454 + payments: + type: array + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + items: + $ref: '#/components/schemas/InvoicesPaymentsDian' + payroll: + $ref: '#/components/schemas/InvoicesPayrollDian' + folio: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + xml: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + warnings: + $ref: '#/components/schemas/InvoiceWarningsDian' + InvoicesResponsePaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of invoice objects. + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + InvoicesRequest: + type: object + required: + - date_from + - date_to + - link + - type + properties: + link: + type: string + format: uuid + description: The fiscal `link.id` to use. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting invoices for, in + `YYYY-MM-DD` format. + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2020-01-01' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting invoices for, in `YYYY-MM-DD` + format. + + + ⚠️ The number of days between `date_from` and `date_to` cannot be + over 365. + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2020-02-01' + type: + $ref: '#/components/schemas/EnumInvoiceType' + attach_xml: + type: boolean + default: false + description: | + When set to `true`, you will receive the XML invoice in the + response. + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + TaxReturnPersonal: + type: object + additionalProperties: true + title: Tax Return Personal + required: + - informacion_general + - sueldos_salarios + - servicios_profesionales + - dividendos + - deducciones_personales + - retenciones + - determinacion_impuesto + - pdf + - receipt_pdf + - collected_at + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: + type: string + format: uuid + description: The `link.id` the statement belongs to + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + type: object + nullable: true + description: | + General information on the tax return (year, RFC, return type, + person/company name, and so on). + sueldos_salarios: + type: object + nullable: true + description: > + Details regarding the income information together combined with + withheld + + taxes. + servicios_profesionales: + type: object + nullable: true + description: | + Details regarding the income and tax information from professional + services provided. + deducciones_personales: + type: object + nullable: true + description: List of all personal tax deductions. + determinacion_impuesto: + type: object + nullable: true + description: Details regarding the final tax return. + retenciones: + type: object + nullable: true + description: Details on the already withheld taxes. + dividendos: + type: object + nullable: true + description: Details regarding dividends. + datos_informativos: + type: object + nullable: true + description: Extra informative data on the tax return. + pdf: + type: string + nullable: true + format: binary + description: Tax return PDF as a binary. + example: '=PDF-STRING=' + receipt_pdf: + type: string + nullable: true + format: binary + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + example: '=PDF-STRING=' + TaxReturnsPersonalPaginated: + type: object + title: Tax Return Personal + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Personal Tax Return objects. + items: + $ref: '#/components/schemas/TaxReturnPersonal' + TaxReturnPersonalMonthly: + type: object + additionalProperties: true + title: Tax Return Personal Monthly + required: + - informacion_general + - pdf + - type + - isr + - iva + - collected_at + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2022-02-09T08:45:50.406032Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + type: object + nullable: true + description: > + General information regarding the tax return (year, RFC, return + type, + + person/company name, and so on). + isr: + type: object + nullable: true + description: > + Information used to calculate the monthly provisional payments of + the + + income tax. + iva: + type: object + nullable: true + description: > + Information used to calculate the monthly provisional payments of + the VAT + + tax. + pdf: + type: string + nullable: true + format: binary + description: Tax return PDF as a binary. + example: '=PDF-STRING=' + receipt_pdf: + type: string + nullable: true + format: binary + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + example: '=PDF-STRING=' + type: + type: string + description: The type of tax return. Can be either monthly or annual. + example: monthly + TaxReturnsPersonalMonthlyPaginated: + type: object + title: Tax Return Personal Monthly + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Monthly Personal Tax Return objects. + items: + $ref: '#/components/schemas/TaxReturnPersonalMonthly' + TaxReturnBusiness: + type: object + additionalProperties: true + title: Tax Return Business + required: + - id + - collected_at + - created_at + - informacion_general + - datos_adicionales + - estado_resultados + - estado_posicion_financiera_balance + - conciliacion_entre_resultado_contable_fiscal + - deducciones_autorizadas + - cifras_cierre_ejercicio + - determinacion_del_impuesto_sobre_la_renta + - dividendos_o_utilidades_distribuidos + - detalle_pago_r1_isr_personas_morales + - pdf + - receipt_pdf + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + type: object + nullable: true + description: > + General information regarding the tax return (year, RFC, return + type, + + person/company name, and so on). + datos_adicionales: + type: object + nullable: true + description: Additional data regarding the tax return. + estado_resultados: + type: object + nullable: true + description: > + Detailed information about the legal entity's yearly profit and + loss. + + + > **Note**: For tax returns submitted for the 2022 tax year and + later, this field will return null as it is no longer a required + field when submitting your tax return. + estado_posicion_financiera_balance: + type: object + nullable: true + description: > + Details regarding balance sheet of the legal entity. + + + > **Note**: For tax returns submitted for the 2022 tax year and + later, this field will return null as it is no longer a required + field when submitting your tax return. + conciliacion_entre_resultado_contable_fiscal: + type: object + nullable: true + description: > + Details regarding the accounting reconciliation. + + + > **Note**: For tax returns submitted for the 2022 tax year and + later, this field will return null as it is no longer a required + field when submitting your tax return. + deducciones_autorizadas: + type: object + nullable: true + description: Details regarding the legal entity's deductions. + cifras_cierre_ejercicio: + type: object + nullable: true + description: Details regarding key numbers at the end of the fiscal exercise. + determinacion_del_impuesto_sobre_la_renta: + type: object + nullable: true + description: Details regarding the final tax return. + dividendos_o_utilidades_distribuidos: + type: object + nullable: true + description: Details regarding distributed dividends. + detalle_pago_r1_isr_personas_morales: + type: object + nullable: true + description: Details of the tax payment. + ingressos: + type: object + nullable: true + description: > + > **Note**: Only applicable for tax return filed on or after 2022. + For tax returns filed before 2022, this field will return `null`. + + + Details regarding the total amounts earned in the fiscal year. + determinacion: + type: object + nullable: true + description: > + > **Note**: Only applicable for tax return filed on or after 2022. + For tax returns filed before 2022, this field will return `null`. + + + Details regarding the tax due or tax credit. + pdf: + type: string + nullable: true + format: binary + description: Tax return PDF as a binary. + example: '=PDF-STRING=' + receipt_pdf: + type: string + nullable: true + format: binary + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + example: '=PDF-STRING=' + TaxReturnsBusinessPaginated: + type: object + title: Tax Return Personal Business + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Business Tax Return objects. + items: + $ref: '#/components/schemas/TaxReturnBusiness' + TaxReturnBusinessMonthly: + type: object + additionalProperties: true + title: Tax Return Business Monthly + required: + - informacion_general + - determinacion_isr + - pdf + - type + - collected_at + - detalle_pago_isr + - determinacion_iva + - detalle_pago_iva + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + type: object + nullable: true + description: > + General information regarding the tax return (year, RFC, return + type, + + person/company name, and so on). + determinacion_isr: + type: object + nullable: true + description: >- + Information used to calculate the provisional income tax for the + period. + detalle_pago_isr: + type: object + nullable: true + description: Information on the monthly provisional payments for the income tax. + determinacion_iva: + type: object + nullable: true + description: >- + Information used to calculate the provisional VAT tax for the + period. + detalle_pago_iva: + type: object + nullable: true + description: Information on the monthly provisional payments for the VAT tax. + pdf: + type: string + nullable: true + format: binary + description: Tax return PDF as a binary. + example: '=PDF-STRING=' + receipt_pdf: + type: string + nullable: true + format: binary + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + example: '=PDF-STRING=' + type: + type: string + nullable: true + description: The type of tax return. Can be either monthly or annual. + example: monthly + TaxReturnsBusinessMonthlyPaginated: + type: object + title: Tax Return Personal Business Monthly + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Monthly Business Tax Return objects. + items: + $ref: '#/components/schemas/TaxReturnBusinessMonthly' + TaxReturnsMonthlyRequest: + type: object + title: Monthly Tax Returns + description: Request body for monthly tax returns + required: + - link + - type + - date_from + - date_to + properties: + link: + type: string + format: uuid + description: The fiscal `link.id` you want specific tax return information for. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + type: boolean + default: false + description: > + When this is set to `true`, you will receive the PDF as a binary + string in + + the response. + example: false + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + type: + type: string + default: monthly + description: > + The type of tax return to return. For monthly tax returns, this + field must be set to `monthly`. + date_from: + type: string + description: > + The starting date you want to get tax returns for, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2018-01-01' + date_to: + type: string + description: > + The date you want to stop getting tax returns for, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2019-01-01' + TaxReturnsYearlyRequest: + type: object + title: Yearly Tax Returns + description: Request body for yearly tax returns + required: + - link + - type + - year_to + - year_from + properties: + link: + type: string + format: uuid + description: The fiscal `link.id` you want specific tax return information for. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + type: boolean + default: false + description: > + When this is set to `true`, you will receive the PDF as a binary + string in + + the response. + example: false + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + type: + type: string + default: yearly + description: > + The type of tax return to return. For yearly tax returns this must + be set to `yearly`. + + + By default, Belvo returns the yearly (annual) tax returns. + year_from: + type: string + description: | + The starting year you want to get tax returns for, in `YYYY` format. + example: '2018' + year_to: + type: string + description: | + The year you want to stop getting tax returns for, in `YYYY` format. + example: '2019' + TaxStatusTaxPayerInformationSat: + type: object + nullable: true + required: + - rfc + - start_operations_date + - status_padron + - last_status_change_date + description: Details regarding the taxpayer. + properties: + rfc: + type: string + nullable: true + description: > + The tax payers's identification number (For Mexico, this is the + RFC). + example: BEMP12345G58 + curp: + type: string + nullable: true + description: > + The tax payers's *Clave Única de Registro de Población* (CURP) + number. + example: null + name: + type: string + nullable: true + description: The tax payers's first name. + example: JOHN + first_last_name: + type: string + nullable: true + description: The tax payers's first last name. + example: DOE + second_last_name: + type: string + nullable: true + description: The tax payers's second last name. + example: SCHMOE + start_operations_date: + type: string + nullable: true + format: date + description: > + Date when the tax payer commenced taxable commercial activities, in + `YYYY-MM-DD` format. + example: null + status_padron: + type: string + nullable: true + description: > + Status of the taxpayer in the Federal Register of Taxpayers (RFC). + Can be `ACTIVO` or `INACTIVO`. + example: null + last_status_change_date: + type: string + nullable: true + format: date + description: > + Date when `status_padron` was most recently updated, in `YYYY-MM-DD` + format. + example: null + commercial_name: + type: string + nullable: true + description: > + The name of the business designated for consumers and the general + public. + + + **Note**: Only applicable for businesses. + example: Jar Jar Transport + social_name: + type: string + nullable: true + description: > + The unique and exclusive name within the national territory that + companies + + receive for legal or administrative purposes. + + + **Note**: Only applicable for businesses. + example: John Doe SA DE CV + email: + type: string + nullable: true + description: Contact email address for the tax payer. + example: john_doe@gmail.com + phone: + type: string + nullable: true + description: Contact phone number for the tax payer. + example: '1234567890' + TaxStatusAddressBetweenStreetSat: + type: object + properties: + street_one: + type: string + nullable: true + description: The first street that `street` is located between. + example: CALLE PRINCIPE + street_two: + type: string + nullable: true + description: The second street that `street` is located between. + example: CALLE NUEVA ROMA + TaxStatusAddressSat: + type: object + nullable: true + required: + - postal_code + description: The tax payer's address details. + properties: + postal_code: + type: string + nullable: true + description: | + The postcode of the address. + example: '21255' + street_type: + type: string + nullable: true + description: The `street` type. + example: CALLE + street: + type: string + nullable: true + description: The tax payers street. + example: LA MALINCHE + exterior_number: + type: string + nullable: true + description: The street number. + example: '432' + interior_number: + type: string + nullable: true + description: Additional address information. + example: PLANTA BAJA + suburb: + type: string + nullable: true + description: | + The suburb of the tax payer. + example: BUENAVENTURA + locality: + type: string + nullable: true + description: | + The locality of the address. + example: none + municipality: + type: string + nullable: true + description: The municipality of the address. + example: CDMX DC + state: + type: string + nullable: true + description: The state that the address is in. + example: Federal + between_street: + type: array + nullable: true + description: | + Additional information about where the `street` is located. + items: + $ref: '#/components/schemas/TaxStatusAddressBetweenStreetSat' + TaxStatusEconomicActivitySat: + type: object + properties: + economic_activity: + type: string + nullable: true + description: The description of the economic activity. + example: Asalariado + initial_date: + type: string + nullable: true + description: The start date of the economic activity, in `YYYY-MM-DD` format. + example: '2020-12-06' + end_date: + type: string + nullable: true + format: date + description: | + The end date of the economic activity, in `YYYY-MM-DD` format. + example: null + order: + type: string + nullable: true + description: The order of the economic activity. + example: '2' + percentage: + type: string + nullable: true + description: | + The percentage of the economic activity. + example: '1' + TaxStatusRegimensSat: + type: object + required: + - regimen + - initial_date + - end_date + properties: + end_date: + type: string + nullable: true + format: date + description: | + The end date of the regimen, in `YYYY-MM-DD` format. + example: null + initial_date: + type: string + nullable: true + format: date + description: | + The start date of the regimen, in `YYYY-MM-DD` format. + example: '2020-12-06' + regimen: + type: string + nullable: true + description: The description of the regimen. + example: Régimen de Ingresos por Dividendos (socios y accionistas) + TaxStatusObligationsSat: + type: object + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + properties: + obligation: + type: string + nullable: true + description: | + The description of the obligation. + example: Declaración informativa de IVA con la anual de ISR + expiration: + type: string + nullable: true + description: > + The deadline to fulfill the obligation, as imposed by the tax + authority. + example: Conjuntamente con la declaración anual del ejercicio. + initial_date: + type: string + nullable: true + format: date + description: | + The date when obligation started, in `YYYY-MM-DD` format. + example: '2020-12-06' + end_date: + type: string + nullable: true + format: date + description: | + The date when obligation ended, in `YYYY-MM-DD` format. + example: null + TaxStatusSat: + type: object + title: SAT 🇲🇽 Mexico + required: + - id + - link + - collected_at + - created_at + - place_and_date_of_issuance + - official_name + - id_cif + - tax_payer_information + - address + - economic_activity + - regimes + - obligations + - digital_stamp + - digital_stamp_chain + - pdf + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Status. + example: 21e9e25b-10a8-48a5-9e6a-4072b364b53f + link: + type: string + format: uuid + description: The `link.id` that the tax status is associated with. + example: c2280c05-cbeb-4a29-ae53-8f837a77995b + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + place_and_date_of_issuance: + type: string + nullable: true + description: The place and date of that the tax status was issued. + example: TLALPAN , CIUDAD DE MEXICO A 19 DE MARZO DE 2020 + official_name: + type: string + nullable: true + description: The name of the person or business. + example: John Doe + id_cif: + type: string + nullable: true + description: | + The taxpayer's *Cédula de Identificación Fiscal* (CIF) ID. + example: '12345678901' + tax_payer_information: + $ref: '#/components/schemas/TaxStatusTaxPayerInformationSat' + address: + $ref: '#/components/schemas/TaxStatusAddressSat' + economic_activity: + type: array + nullable: true + description: | + A list of economic activity objects. + items: + $ref: '#/components/schemas/TaxStatusEconomicActivitySat' + regimes: + type: array + nullable: true + description: | + A list of regimen objects. + items: + $ref: '#/components/schemas/TaxStatusRegimensSat' + obligations: + type: array + nullable: true + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + items: + $ref: '#/components/schemas/TaxStatusObligationsSat' + digital_stamp: + type: string + nullable: true + description: The validation certificate of the document. + example: | + ||2020/04/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: + type: string + nullable: true + description: > + A data chain containing the basic structure of a fiscal digital + check. For Mexico, this is the *Comprobante Fiscal Digital por + Internet* (CFDI). + example: > + EtenSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjow= + pdf: + type: string + nullable: true + format: binary + description: Tax status PDF as a binary string. + example: '=PDF-STRING=' + TaxStatusTaxPayerInformationDian: + type: object + nullable: true + required: + - rfc + - start_operations_date + - status_padron + - last_status_change_date + description: Details regarding the taxpayer. + properties: + rfc: + type: string + nullable: true + description: | + The tax payers's identification number (NIT). + example: BEMP12345G58 + curp: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + name: + type: string + nullable: true + description: The tax payers's first name. + example: JOHN + first_last_name: + type: string + nullable: true + description: The tax payers's first last name. + example: DOE + second_last_name: + type: string + nullable: true + description: The tax payers's second last name. + example: SCHMOE + start_operations_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + status_padron: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + last_status_change_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + commercial_name: + type: string + nullable: true + description: > + The name of the business designated for consumers and the general + public. + + + **Note**: Only applicable for businesses. + example: Jar Jar Transport + social_name: + type: string + nullable: true + description: > + The unique and exclusive name within the national territory that + companies + + receive for legal or administrative purposes. + + + **Note**: Only applicable for businesses. + example: John Doe SA DE CV + email: + type: string + nullable: true + description: Contact email address for the tax payer. + example: john_doe@gmail.com + phone: + type: string + nullable: true + description: Contact phone number for the tax payer. + example: '1234567890' + TaxStatusAddressBetweenStreetDian: + type: object + properties: + street_one: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + street_two: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + TaxStatusAddressDian: + type: object + nullable: true + required: + - postal_code + description: The tax payer's address details. + properties: + postal_code: + type: string + nullable: true + description: | + The postcode of the address. + example: 332-55 + street_type: + type: string + nullable: true + description: The `street` type. + example: CALLE + street: + type: string + nullable: true + description: The tax payers street. + example: LA MALINCHE + exterior_number: + type: string + nullable: true + description: The street number. + example: '432' + interior_number: + type: string + nullable: true + description: Additional address information. + example: AP 306 + suburb: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + locality: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + municipality: + type: string + nullable: true + description: The municipality of the address. + example: Bogota DC + state: + type: string + nullable: true + description: The state that the address is in. + example: Bogota DC + between_street: + type: array + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + items: + $ref: '#/components/schemas/TaxStatusAddressBetweenStreetDian' + TaxStatusEconomicActivityDian: + type: object + properties: + economic_activity: + type: string + nullable: true + description: > + The economic activity code, according to the fiscal institution. + + + For detailed information regarding DIAN's economic activities, + please see their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: '112' + initial_date: + type: string + nullable: true + description: The start date of the economic activity, in `YYYY-MM-DD` format. + example: '2020-12-06' + end_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + order: + type: string + nullable: true + description: The order of the economic activity. + example: '1' + percentage: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + TaxStatusRegimensDian: + type: object + required: + - regimen + - initial_date + - end_date + properties: + end_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + initial_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + regimen: + type: string + nullable: true + description: The description of the regimen. + example: 49-No responsable de IVA + TaxStatusObligationsDian: + type: object + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + properties: + obligation: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + expiration: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + initial_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + end_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + TaxStatusDian: + type: object + title: DIAN 🇨🇴 Colombia + required: + - id + - link + - collected_at + - created_at + - place_and_date_of_issuance + - official_name + - id_cif + - tax_payer_information + - address + - economic_activity + - regimes + - obligations + - digital_stamp + - digital_stamp_chain + - pdf + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Status. + example: 21e9e25b-10a8-48a5-9e6a-4072b364b53f + link: + type: string + format: uuid + description: The `link.id` that the tax status is associated with. + example: c2280c05-cbeb-4a29-ae53-8f837a77995b + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + place_and_date_of_issuance: + type: string + nullable: true + description: >- + The date when the tax status was issued. For example, + `2020-08-05/18:55:16`. + example: 2020-08-05/18:55:16 + official_name: + type: string + nullable: true + description: | + The name of the business. + + Note: For individuals in Colombia, this field will return `null`. + example: Jar Jar Transport + id_cif: + type: string + nullable: true + description: > + The taxpayer's *Cédula de ciudadanía* (CC) ID. Only applicable for + individuals. + example: '12345678901' + tax_payer_information: + $ref: '#/components/schemas/TaxStatusTaxPayerInformationDian' + address: + $ref: '#/components/schemas/TaxStatusAddressDian' + economic_activity: + type: array + nullable: true + description: | + A list of economic activity objects. + items: + $ref: '#/components/schemas/TaxStatusEconomicActivityDian' + regimes: + type: array + nullable: true + description: | + A list of regimen objects. + items: + $ref: '#/components/schemas/TaxStatusRegimensDian' + obligations: + type: array + nullable: true + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + items: + $ref: '#/components/schemas/TaxStatusObligationsDian' + digital_stamp: + type: string + nullable: true + description: The validation certificate of the document. + example: | + "44701362691" + digital_stamp_chain: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + pdf: + type: string + nullable: true + format: binary + description: Tax status PDF as a binary string. + example: '=PDF-STRING=' + TaxStatusPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of tax status objects. + items: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + TaxStatusRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The fiscal `link.id` to use. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + type: boolean + default: false + description: | + When set to `true`, you will receive the PDF in binary format in + the response. + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + EnumTaxComplianceStatusOutcome: + type: string + nullable: true + enum: + - POSITIVE + - NEGATIVE + - NO_OBLIGATIONS + description: | + Indicates whether the taxpayer is complying to all their tax obligations + (`POSITIVE`), if they are not (`NEGATIVE`), or have none to comply to + (`NO_OBLIGATIONS`). + example: NEGATIVE + TaxComplianceStatus: + type: object + required: + - pdf + - collected_at + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Compliance Status. + example: 91106968-1abd-4d64-85c1-4e73d96fb997 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2022-02-09T08:45:50.406032Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + internal_identification: + type: string + nullable: true + description: The institution’s internal identification number for the document. + example: 20NE1234567 + pdf: + type: string + nullable: true + format: binary + description: Tax compliance status PDF as a binary. + example: '=PDF-STRING=' + rfc: + type: string + nullable: true + description: >- + The account holder's RFC (Registro Federal de Contribuyentes) + number. + example: KDFC211118IS0 + outcome: + $ref: '#/components/schemas/EnumTaxComplianceStatusOutcome' + TaxComplianceStatusPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of tax compliance status objects. + items: + $ref: '#/components/schemas/TaxComplianceStatus' + TaxComplianceStatusRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The fiscal `link.id` to use. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + type: boolean + default: false + description: | + When set to `true`, you will receive the PDF in binary format in + the response. + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + EnumIncomeStreamType: + type: string + enum: + - SALARY + - GOVERNMENT + - INTEREST + - RENT + - RETIREMENT + - FREELANCE + - ALTERNATIVE_INCOME + - TRANSFER + - DEPOSIT + - UNKNOWN + description: | + The type of income used in the calculations. + + We return one of the following enum values: + + - `SALARY` + - `GOVERNMENT` + - `INTEREST` + - `RENT` + - `RETIREMENT` + - `FREELANCE` + - `ALTERNATIVE_INCOME` + - `TRANSFER` + - `DEPOSIT` + - `UNKNOWN` + example: SALARY + EnumIncomeStreamFrequency: + type: string + enum: + - MONTHLY + - FORTNIGHTLY + - WEEKLY + - IRREGULAR + - SINGLE + description: | + How often the income is received. + + We return one of the following enum values: + + - `MONTHLY` - For transactions that occur once per month. + - `FORTNIGHTLY` - For transactions that occur once every two weeks. + - `WEEKLY` - For transactions that occur once per week. + - `IRREGULAR` - For transactions that do not occur on a defined frequency pattern. + - `SINGLE` - For transactions that occur only once and do not repeat. + example: MONTHLY + EnumIncomeStreamConfidence: + type: string + enum: + - HIGH + - MEDIUM + - LOW + description: | + Belvo's level of confidence for future incomes. + + We return one of the following enum values: + + - `HIGH` + - `MEDIUM` + - `LOW` + example: HIGH + IncomeStreamsBody: + type: object + required: + - account_id + - income_type + - frequency + - monthly_average + - average_income_amount + - last_income_amount + - currency + - last_income_description + - last_income_date + - stability + - regularity + - trend + - lookback_periods + - full_periods + - periods_with_income + - number_of_incomes + - confidence + description: | + A list of income streams for the account. + + For each income stream, we provide additional insights such as: + - Frequency, stability, and confidence level of the income transactions. + - Key metrics about the transaction amounts. + ℹ️ If no income sources are found, we return an empty array. + properties: + account_id: + type: string + description: Unique ID for the bank account to be verified for income streams. + example: EBACA-89077589 + income_type: + $ref: '#/components/schemas/EnumIncomeStreamType' + frequency: + $ref: '#/components/schemas/EnumIncomeStreamFrequency' + monthly_average: + type: number + format: float + description: > + The average amount of income received from the source over + `lookback_periods`. + example: 2500 + average_income_amount: + type: number + format: float + description: | + The average income transaction amount from the source. + example: 2500 + last_income_amount: + type: number + format: float + description: | + The amount of the most recent income received from the source. + example: 2500 + currency: + type: string + description: | + The three-letter currency code of the income. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + example: BRL + last_income_description: + type: string + description: | + The description of the most recent income from the stream. + example: Salário + last_income_date: + type: string + format: date + description: > + The date when the most recent income from the stream was received, + in `YYYY-MM-DD` format. + example: '2023-02-09' + stability: + type: number + nullable: true + format: float + description: > + The stability of the income based on its amount, with a range from 0 + to 1, where 1 represents perfect stability. + + + **Note:** For transactions with `frequency`=`SINGLE`, this value + returns `null`. + example: 1 + regularity: + type: number + nullable: true + format: float + description: > + The regularity of the income based in its frequency, with a range + from 0 to 1, where 1 represents perfect regularity. + + + **Note:** For transactions with `frequency`=`SINGLE`, this value + returns `null`. + example: 1 + trend: + type: number + nullable: true + format: float + description: > + The income trend during a period of time calculated between last + income and first income received, where: + - a negative float means that the income trend is decreasing during the time period. + - a positive float means that the income trend is increasing during the time period. + + **Note:** For transactions with `frequency`=`SINGLE`, this value + returns `null`. + example: 0 + lookback_periods: + type: integer + format: int32 + description: > + Number of period units (based on *rolling months*) used to generate + insights and calculations. + + + **Note:** A *rolling month* is a period of 30 days. For example, + 2023-01-15 to 2023-02-15. + example: 9 + full_periods: + type: integer + format: int32 + description: > + Number of period units (based on *rolling months*) with data to + perform calculations. + + + **Note:** A *rolling month* is a period of 30 days. For example, + 2023-01-15 to 2023-02-15. + example: 9 + periods_with_income: + type: integer + format: int32 + description: > + Number of period units (based on *rolling months*) with at least one + income available. + + + **Note:** A *rolling month* is a period of 30 days. For example, + 2023-01-15 to 2023-02-15. + example: 9 + number_of_incomes: + type: integer + format: int32 + description: | + Number of income transactions over the `lookback_periods`. + example: 9 + confidence: + $ref: '#/components/schemas/EnumIncomeStreamConfidence' + EnumIncomeSourceType: + type: string + enum: + - BANK + description: | + The type of source we generate income insights from. + We return one of the following enum values: + + - `BANK` + example: BANK + Income: + type: object + description: Income insights + required: + - id + - link + - created_at + - income_streams + - income_source_type + - first_transaction_date + - last_transaction_date + - number_of_income_streams + - monthly_average + - monthly_average_regular + - monthly_average_irregular + - monthly_average_low_confidence + - monthly_average_medium_confidence + - monthly_average_high_confidence + - total_income_amount + - total_regular_income_amount + - total_low_confidence + - total_medium_confidence + - total_high_confidence + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier for the current income. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + link: + type: string + format: uuid + description: The `link.id` the income analysis belongs to. + example: f4621548-2f9e-440e-9ebd-ae8decac8c02 + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was created in Belvo's + database. + example: '2022-02-09T08:45:50.406032Z' + income_streams: + type: array + description: An array of enriched income stream objects. + items: + $ref: '#/components/schemas/IncomeStreamsBody' + income_source_type: + $ref: '#/components/schemas/EnumIncomeSourceType' + first_transaction_date: + type: string + nullable: true + format: date + description: > + The date when the first transaction occurred, in `YYYY-MM-DD` + format. + example: '2022-06-09' + last_transaction_date: + type: string + format: date + description: > + The date when when the last transaction occurred, in `YYYY-MM-DD` + format. + example: '2023-02-09' + number_of_income_streams: + type: integer + format: int32 + description: | + Number of total income streams analized. + example: 1 + monthly_average: + type: number + format: float + description: > + Average amount of income received per month across all the accounts + for the specific user. + example: 2500 + monthly_average_regular: + type: number + format: float + description: > + Average amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, or `WEEKLY`) received per month for the specific + user. + example: 2500 + monthly_average_irregular: + type: number + format: float + description: > + Average amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) received per month for the specific user. + example: 0 + monthly_average_low_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `LOW` confidence. + example: 0 + monthly_average_medium_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `MEDIUM` confidence. + example: 0 + monthly_average_high_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `HIGH` confidence. + example: 2500 + total_income_amount: + type: number + format: float + description: | + Total amount of all income received for the specific user. + example: 22500 + total_regular_income_amount: + type: number + format: float + description: > + Total amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, `WEEKLY`) for the specific user. + example: 22500 + total_irregular_income_amount: + type: number + format: float + description: > + Total amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) for the specific user. + example: 0 + total_low_confidence: + type: number + format: float + description: | + Total amount of income for the specific user with `LOW` confidence. + example: 0 + total_medium_confidence: + type: number + format: float + description: > + Total amount of income for the specific user with `MEDIUM` + confidence. + example: 0 + total_high_confidence: + type: number + format: float + description: | + Total amount of income for the specific user with `HIGH` confidence. + example: 22500 + IncomesPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of income objects. + items: + $ref: '#/components/schemas/Income' + EnumInvoiceAllowedIncomeTypesRequest: + type: string + enum: + - SALARY + - GOVERNMENT + - INTEREST + - RENT + - RETIREMENT + - FREELANCE + - ALTERNATIVE_INCOME + - TRANSFER + - DEPOSIT + - UNKNOWN + description: | + The categories of the incomes you want to get information for. + + You can send through one or more of the following values: + - `SALARY` + - `GOVERNMENT` + - `INTEREST` + - `RENT` + - `RETIREMENT` + - `FREELANCE` + - `ALTERNATIVE_INCOME` + - `TRANSFER` + - `DEPOSIT` + - `UNKNOWN` + example: SALARY + EnumIncomeMinimumConfidenceLevelRequest: + type: string + enum: + - HIGH + - MEDIUM + - LOW + description: > + The minimum confidence level of the incomes you want to get information + for. + + + You can send through one of the following values: + + - `HIGH` + - `MEDIUM` + - `LOW` + example: HIGH + IncomesRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + allowed_income_types: + type: array + description: The categories of the incomes you want to get information for. + items: + $ref: '#/components/schemas/EnumInvoiceAllowedIncomeTypesRequest' + minimum_confidence_level: + $ref: '#/components/schemas/EnumIncomeMinimumConfidenceLevelRequest' + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting incomes for, in + `YYYY-MM-DD` format, within the last 365 days. When you use this + parameter, you must also send `date_to`. + + + + ⚠️ You must have at least 90 days between `date_from` and `date_to`. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2020-08-01' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting incomes for, in `YYYY-MM-DD` + format, within the last 365 days. When you use this parameter, you + must also send `date_from`. + + + + ⚠️ You must have at least 90 days between `date_from` and `date_to`. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2020-12-30' + token: + type: string + description: The OTP token generated by the bank. + example: 1234ab + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + InvalidPeriodError: + type: object + title: Invalid Period + description: > + This error occurs when you request incomes for a link within a given + date range, however, the period between `date_from` and `date_to` is + less than 90 days. + properties: + code: + type: string + description: > + A unique error code (`invalid_period`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_period errors. + example: invalid_period + message: + type: string + description: | + A short description of the error. + + + For `invalid_period` errors, the description is: + + - `The number of days between date_from and date_to must be at least 90 days`. + example: >- + The number of days between date_from and date_to must be at least 90 + days + 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 + RecurringExpenseSourceTransaction: + type: object + nullable: true + required: + - amount + - description + - value_date + description: >- + An array of minified transaction objects used to evaluate the recurring + expense. If no transactions were found, we return an empty array. + properties: + amount: + type: number + format: float + description: The transaction amount. + example: 2145.45 + description: + type: string + nullable: true + description: > + The description of the transaction provided by the institution. + Usually, this is the text that the end user would see in the bank + statement. The description can be an empty string. + + + > **Note:** For EYOD Risk Insights, the description is the one that + you provided in the initial request. + example: Netflix.com/march + value_date: + type: string + format: date + description: The date when the transaction occurred, in `YYYY-MM-DD` format. + example: '2019-10-23' + EnumRecurringExpenseFrequency: + type: string + enum: + - MONTHLY + default: MONTHLY + description: | + The frequency at which this recurring expense occurs. + + + ℹ️ **Note:** Belvo only identifies `MONTHLY` frequencies. + example: MONTHLY + EnumRecurringExpenseCategory: + type: string + enum: + - Bills & Utilities + - Credits & Loans + - Insurance + - Online Platforms & Leisure + - Transport & Travel + - Taxes + description: > + The transaction category for the recurring expense. For more information + on the available categories, please see our [Transaction categorization + documentation](https://developers.belvo.com/docs/banking#categorizing-transactions). + + + - `Online Platforms & Leisure` (Netflix, Spotify, Gym Memberships) + + - `Bills & Utilities` (electricity, telephone, internet) + + - `Credits & Loans` (credit card cash advances, student loan, watercraft + lease) + + - `Insurance` (home, car, and health & life insurance) + + - `Transport & Travel` (Uber trip, airbnb, parking) + + - `Taxes` (service fee, donation, court taxes) + example: Online Platforms & Leisure + EnumRecurringExpensePaymentType: + type: string + nullable: true + enum: + - SUBSCRIPTION + - REGULAR + description: | + The type of recurring expense. We return one of the following values: + + - `SUBSCRIPTION` + - `REGULAR` + example: SUBSCRIPTION + RecurringExpenses: + type: object + required: + - account + - name + - transactions + - frequency + - average_transaction_amount + - median_transaction_amount + - days_since_last_transaction + - category + - payment_type + description: | + Recurring expense insights. + + + ℹ️ If no recurring expense insights are found, we return an empty array. + properties: + id: + type: string + format: uuid + description: >- + Belvo's unique identifier used to reference the current recurring + expense. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + account: + $ref: '#/components/schemas/Account' + name: + type: string + nullable: true + default: null + description: > + The name for the recurring expense. + + + ℹ️ **Note**: This information is taken from the description section + of a transaction and then normalized to provide you with an + easy-to-read name. As such, sometimes the name will reflect the + merchant the payment is made to (for example, Netflix.com), while + for other recurring expenses, this could be something like "Monthly + payment to John". + example: Netflix + transactions: + type: array + description: >- + An array of minified transaction objects used to evaluate the + recurring expense. If no transactions were found, we return an empty + array. + items: + $ref: '#/components/schemas/RecurringExpenseSourceTransaction' + frequency: + $ref: '#/components/schemas/EnumRecurringExpenseFrequency' + average_transaction_amount: + type: number + format: float + description: The average transaction amount of the recurring expense. + example: 32.9 + median_transaction_amount: + type: number + format: float + description: The median transaction amount of the recurring expense. + example: 32.9 + days_since_last_transaction: + type: integer + format: int32 + description: > + Number of days since the last recurring expense occurred. + + + Based on the frequency, you can infer how many days until the next + charge will occur. + example: 5 + category: + $ref: '#/components/schemas/EnumRecurringExpenseCategory' + payment_type: + $ref: '#/components/schemas/EnumRecurringExpensePaymentType' + RecurringExpensesPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of recurring expense objects. + items: + $ref: '#/components/schemas/RecurringExpenses' + RecurringExpensesRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + token: + type: string + description: The OTP token generated by the bank. + example: 1234ab + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting recurring expenses + for, in `YYYY-MM-DD` format, within the last 365 days. When you use + this parameter, you must also send `date_to`. + + + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2022-08-01' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting recurring expenses for, in + `YYYY-MM-DD` format, within the last 365 days. When you use this + parameter, you must also send `date_from`. + + + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2022-12-30' + RiskInsightsAssetMetrics: + type: object + nullable: true + description: > + Aggregate details regarding the assets used in the risk insight + analysis. For asset metrics, we only consider checking and savings + accounts. + + + + > Asset metrics can provide a snapshot of your user's wealth and liquid + assets, indicating how they manage their wealth and their current + financial status. + required: + - institutions + - num_accounts + - num_checking_accounts + - num_savings_accounts + - checking_accounts_balance + - savings_accounts_balance + properties: + institutions: + type: array + nullable: true + description: > + An array of institutions from which account information was + retrieved for the user. + + + > **Note**: For most use cases, this array will only return one + item. + items: + type: string + description: The name of the institution + example: erebor_mx_retail + example: + - erebor_mx_retail + num_assets_accounts: + type: integer + nullable: true + format: int32 + description: | + The total number of accounts found for the user. + example: 1 + num_checking_accounts: + type: integer + nullable: true + format: int32 + description: | + The total number of checking accounts found for the user. + example: 1 + num_savings_accounts: + type: integer + nullable: true + format: int32 + description: | + The total number of savings accounts found for the user. + example: 1 + checking_accounts_balance: + type: number + nullable: true + format: float + description: | + The total closing balance of all checking accounts. + example: 35901.46 + savings_accounts_balance: + type: number + nullable: true + format: float + description: | + The total closing balance of all savings accounts. + example: 300.02 + RiskInsightsCreditCardMetrics: + type: object + nullable: true + required: + - num_accounts + - sum_credit_limit + - sum_credit_used + - credit_card_limit_utilization + description: > + Aggregated metrics calculated based on the user's credit card accounts. + + + > Credit card metrics illustrate a customer's credit card habits, + revealing how many credit card accounts a customer has, their total + credit limit, how much of that limit they're using, and the rate of + their credit card limit utilization. + properties: + num_accounts: + type: integer + format: int32 + minimum: 0 + description: | + Number of credit cards accounts associated to the user. + example: 2 + sum_credit_limit: + type: number + nullable: true + format: float + description: | + Sum total of all credit cards' limits. + example: 106560 + sum_credit_used: + type: number + nullable: true + format: float + description: | + Sum total of all credit used. + example: 101020.14 + credit_card_limit_utilization: + type: number + nullable: true + format: float + description: | + The percentage of the credit card limit used. + example: 0.95 + RiskInsightsLoansMetrics: + type: object + nullable: true + description: > + Aggregated metrics calculated based on the user's loan accounts and + checking accounts that have an overdraft. + + + > Loan metrics help in understanding a customer's borrowing and + repayment behavior, which can help in assessing their ability to take on + additional credit and potential default risks. + required: + - num_accounts + - sum_loans_principal + - sum_loans_outstanding_principal + - sum_loans_monthly_payment + - loan_limit_utilization + - overdraft_limit + - overdraft_limit_utilization + properties: + num_accounts: + type: integer + format: int32 + description: | + The number of loan accounts associated with the user. + example: 1 + sum_loans_principal: + type: number + nullable: true + format: float + description: | + Sum total of the principal for all of the user's loan accounts. + example: 5000 + sum_loans_outstanding_principal: + type: number + nullable: true + format: float + description: > + Sum total of the outstanding principal for all the user's loan + accounts. + example: 2000 + sum_loans_monthly_payment: + type: number + nullable: true + format: float + description: | + Sum total of the monthly payments for all the user's loan accounts. + example: 400 + loan_limit_utilization: + type: number + nullable: true + format: float + description: | + The percentage of the loan limit used. + example: 0.3 + overdraft_limit: + type: number + nullable: true + format: float + description: | + The total overdraft limit of all checking and savings accounts. + example: 900 + overdraft_limit_utilization: + type: number + nullable: true + format: float + description: | + The percentage of the overdraft limit used. + example: 0.4 + RiskInsightsBalanceMetrics: + type: object + nullable: true + description: >- + Balance metrics calculated based on the user's balances from checking + and savings accounts. + required: + - closing_balance + - min_balance_3d + - min_balance_1w + - min_balance_1m + - min_balance_3m + - min_balance_6m + - min_balance_12m + - mean_balance_3d + - mean_balance_1w + - mean_balance_1m + - mean_balance_3m + - mean_balance_6m + - mean_balance_12m + - max_balance_3d + - max_balance_1w + - max_balance_1m + - max_balance_3m + - max_balance_6m + - max_balance_12m + - std_balance_3d + - std_balance_1w + - std_balance_1m + - std_balance_3m + - std_balance_6m + - std_balance_12m + - balance_trend_3d + - balance_trend_1w + - balance_trend_1m + - balance_trend_3m + - balance_trend_6m + - balance_trend_12m + - days_balance_below_0_3d + - days_balance_below_0_1w + - days_balance_below_0_1m + - days_balance_below_0_3m + - days_balance_below_0_6m + - days_balance_below_0_12m + - days_balance_below_mean_3d + - days_balance_below_mean_1w + - days_balance_below_mean_1m + - days_balance_below_mean_3m + - days_balance_below_mean_6m + - days_balance_below_mean_12m + - days_balance_below_x_3d + - days_balance_below_x_1w + - days_balance_below_x_1m + - days_balance_below_x_3m + - days_balance_below_x_6m + - days_balance_below_x_12m + - balance_threshold_x + properties: + closing_balance: + type: number + nullable: true + format: float + description: | + The balance of all the accounts at the `collected_at` time. + example: 35901.46 + min_balance_3d: + type: number + nullable: true + format: float + description: | + The minimum balance in the last three days. + example: 35417.68 + min_balance_1w: + type: number + nullable: true + format: float + description: | + The minimum balance in the last week). + example: 34150.5 + min_balance_1m: + type: number + nullable: true + format: float + description: | + The minimum balance in the last month. + example: 33990.59 + min_balance_3m: + type: number + nullable: true + format: float + description: | + The minimum balance in the last three months. + example: 33990.59 + min_balance_6m: + type: number + nullable: true + format: float + description: | + The minimum balance in the six last months. + example: 33990.59 + min_balance_12m: + type: number + nullable: true + format: float + description: | + The minimum balance in the last twelve months. + example: 33990.59 + mean_balance_3d: + type: number + nullable: true + format: float + description: | + The mean balance in the last three days. + example: 35659.57 + mean_balance_1w: + type: number + nullable: true + format: float + description: | + The mean balance in the last week. + example: 35077.1 + mean_balance_1m: + type: number + nullable: true + format: float + description: | + The mean balance in the last month. + example: 34816.08 + mean_balance_3m: + type: number + nullable: true + format: float + description: | + The mean balance in the last three months. + example: 34816.08 + mean_balance_6m: + type: number + nullable: true + format: float + description: | + The mean balance in the last six months. + example: 34816.08 + mean_balance_12m: + type: number + nullable: true + format: float + description: | + The mean balance in the last twelve months. + example: 34816.08 + max_balance_3d: + type: number + nullable: true + format: float + description: | + The maximum balance in the last three days. + example: 35901.46 + max_balance_1w: + type: number + nullable: true + format: float + description: | + The maximum balance in the last week. + example: 35901.46 + max_balance_1m: + type: number + nullable: true + format: float + description: | + The maximum balance in the last month. + example: 35901.46 + max_balance_3m: + type: number + nullable: true + format: float + description: | + The maximum balance in the last three months. + example: 35901.46 + max_balance_6m: + type: number + nullable: true + format: float + description: | + The maximum balance in the last six months. + example: 35901.46 + max_balance_12m: + type: number + nullable: true + format: float + description: | + The maximum balance in the last twelve months. + example: 35901.46 + std_balance_3d: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last three days. + example: 279.31 + std_balance_1w: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last week. + example: 764.03 + std_balance_1m: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last month. + example: 586.55 + std_balance_3m: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last three months. + example: 586.55 + std_balance_6m: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last six months. + example: 586.55 + std_balance_12m: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last twelve months. + example: 586.55 + balance_trend_3d: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last three days. + example: 193.51 + balance_trend_1w: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last week. + example: 290.18 + balance_trend_1m: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last month. + example: 22.6 + balance_trend_3m: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last three months. + example: 22.6 + balance_trend_6m: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last six months. + example: 22.6 + balance_trend_12m: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last twelve months. + example: 22.6 + days_balance_below_0_3d: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last three days. + example: 0 + days_balance_below_0_1w: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last week. + example: 0 + days_balance_below_0_1m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last month. + example: 0 + days_balance_below_0_3m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last three months. + example: 0 + days_balance_below_0_6m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last six months. + example: 0 + days_balance_below_0_12m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last twelve months. + example: 0 + days_balance_below_mean_3d: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_3d`. + example: 2 + days_balance_below_mean_1w: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_1w`. + example: 3 + days_balance_below_mean_1m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_1m`. + example: 17 + days_balance_below_mean_3m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_3m`. + example: 17 + days_balance_below_mean_6m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_6m`. + example: 17 + days_balance_below_mean_12m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_12m`. + example: 17 + days_balance_below_x_3d: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last three days. + example: 0 + days_balance_below_x_1w: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last week. + example: 0 + days_balance_below_x_1m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last month. + example: 0 + days_balance_below_x_3m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last three months. + example: 0 + days_balance_below_x_6m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last six months. + example: 0 + days_balance_below_x_12m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last twelve months. + example: 0 + balance_threshold_x: + type: number + format: float + description: > + The threshold used to compute `days_balance_below_x_period`. Please + note, this is value is country specific (both in terms of the amount + and the currency). + example: 1000 + RiskInsightsTransactionMetrics: + type: object + nullable: true + description: > + Aggregated metrics calculated based on the user's transactions from + checking, savings, credit card, and loan accounts. + + + + > ℹ️ **Note** + + > + + > If there is not enough transactional data for a given period, we + return `null` for calculated fields and `0` for 'count-based' fields. + For example, if the account has only been open for five days (or you + have provided data just for five days), we return values for `_3d`, + `_1w`, and `_1m`, however: + + > + + > - `mean_num_transactions_3m` will return `null` as there is no data + for months two and three (calculated field). + + > - `num_transactions_3m` will return `0` as there is no data for months + two and three ('count-based' field) + required: + - num_transactions_3d + - num_transactions_1w + - num_transactions_1m + - num_transactions_3m + - num_transactions_6m + - num_transactions_12m + - max_num_transactions_3d + - max_num_transactions_1w + - max_num_transactions_1m + - max_num_transactions_3m + - max_num_transactions_6m + - max_num_transactions_12m + - mean_num_transactions_3d + - mean_num_transactions_1w + - mean_num_transactions_1m + - mean_num_transactions_3m + - mean_num_transactions_6m + - mean_num_transactions_12m + - num_incoming_transactions_3d + - num_incoming_transactions_1w + - num_incoming_transactions_1m + - num_incoming_transactions_3m + - num_incoming_transactions_6m + - num_incoming_transactions_12m + - max_num_incoming_transactions_3d + - max_num_incoming_transactions_1w + - max_num_incoming_transactions_1m + - max_num_incoming_transactions_3m + - max_num_incoming_transactions_6m + - max_num_incoming_transactions_12m + - mean_num_incoming_transactions_3d + - mean_num_incoming_transactions_1w + - mean_num_incoming_transactions_1m + - mean_num_incoming_transactions_3m + - mean_num_incoming_transactions_6m + - mean_num_incoming_transactions_12m + - sum_incoming_amount_3d + - sum_incoming_amount_1w + - sum_incoming_amount_1m + - sum_incoming_amount_3m + - sum_incoming_amount_6m + - sum_incoming_amount_12m + - max_incoming_amount_3d + - max_incoming_amount_1w + - max_incoming_amount_1m + - max_incoming_amount_3m + - max_incoming_amount_6m + - max_incoming_amount_12m + - mean_incoming_amount_3d + - mean_incoming_amount_1w + - mean_incoming_amount_1m + - mean_incoming_amount_3m + - mean_incoming_amount_6m + - mean_incoming_amount_12m + - num_outgoing_transactions_3d + - num_outgoing_transactions_1w + - num_outgoing_transactions_1m + - num_outgoing_transactions_3m + - num_outgoing_transactions_6m + - num_outgoing_transactions_12m + - max_num_outgoing_transactions_3d + - max_num_outgoing_transactions_1w + - max_num_outgoing_transactions_1m + - max_num_outgoing_transactions_3m + - max_num_outgoing_transactions_6m + - max_num_outgoing_transactions_12m + - mean_num_outgoing_transactions_3d + - mean_num_outgoing_transactions_1w + - mean_num_outgoing_transactions_1m + - mean_num_outgoing_transactions_3m + - mean_num_outgoing_transactions_6m + - mean_num_outgoing_transactions_12m + - sum_outgoing_amount_3d + - sum_outgoing_amount_1w + - sum_outgoing_amount_1m + - sum_outgoing_amount_3m + - sum_outgoing_amount_6m + - sum_outgoing_amount_12m + - max_outgoing_amount_3d + - max_outgoing_amount_1w + - max_outgoing_amount_1m + - max_outgoing_amount_3m + - max_outgoing_amount_6m + - max_outgoing_amount_12m + - mean_outgoing_amount_3d + - mean_outgoing_amount_1w + - mean_outgoing_amount_1m + - mean_outgoing_amount_3m + - mean_outgoing_amount_6m + - mean_outgoing_amount_12m + - days_without_transactions_3d + - days_without_transactions_1w + - days_without_transactions_1m + - days_without_transactions_3m + - days_without_transactions_6m + - days_without_transactions_12m + - days_since_last_transaction + - days_since_last_incoming_transaction + - days_since_last_outgoing_transaction + - days_history + properties: + num_transactions_3d: + type: integer + format: int32 + default: 0 + description: > + The total number of transactions analyzed to determine the risk + insights for the last three days (incoming and outgoing). + example: 26 + num_transactions_1w: + type: integer + format: int32 + default: 0 + description: > + The total number of transactions analyzed to determine the risk + insights for the last week (incoming and outgoing). + example: 46 + num_transactions_1m: + type: integer + format: int32 + default: 0 + description: > + The total number of transactions analyzed to determine the risk + insights for the last month (incoming and outgoing). + example: 168 + num_transactions_3m: + type: integer + format: int32 + default: 0 + description: > + The total number of transactions analyzed to determine the risk + insights for the last three months (incoming and outgoing). + example: 460 + num_transactions_6m: + type: integer + format: int32 + default: 670 + description: > + The total number of transactions analyzed to determine the risk + insights for the last six months (incoming and outgoing). + example: 472 + num_transactions_12m: + type: integer + format: int32 + default: 0 + description: > + The total number of transactions analyzed to determine the risk + insights for the last twelve months (incoming and outgoing). + example: 496 + max_num_transactions_3d: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last three days. + example: 10 + max_num_transactions_1w: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last week. + example: 10 + max_num_transactions_1m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last month. + example: 18 + max_num_transactions_3m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last three months. + example: 18 + max_num_transactions_6m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last six months. + example: 18 + max_num_transactions_12m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last twelve months. + example: 18 + mean_num_transactions_3d: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last three days. + example: 6.5 + mean_num_transactions_1w: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last week. + example: 5.75 + mean_num_transactions_1m: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last month. + example: 5.42 + mean_num_transactions_3m: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last three months. + example: 5.05 + mean_num_transactions_6m: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last six months. + example: 2.61 + mean_num_transactions_12m: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last twelve months. + example: 1.37 + num_incoming_transactions_3d: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last three days. + example: 12 + num_incoming_transactions_1w: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last week. + example: 21 + num_incoming_transactions_1m: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last month. + example: 80 + num_incoming_transactions_3m: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last three months. + example: 229 + num_incoming_transactions_6m: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last six months. + example: 238 + num_incoming_transactions_12m: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last twelve months. + example: 256 + max_num_incoming_transactions_3d: + type: integer + format: int32 + default: 0 + description: | + The maximum number of inflow transactions for the last three days. + example: 6 + max_num_incoming_transactions_1w: + type: integer + format: int32 + default: 0 + description: | + The maximum number of inflow transactions for the last week. + example: 6 + max_num_incoming_transactions_1m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of inflow transactions for the last month. + example: 10 + max_num_incoming_transactions_3m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of inflow transactions for the last three months. + example: 10 + max_num_incoming_transactions_6m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of inflow transactions for the last six months. + example: 10 + max_num_incoming_transactions_12m: + type: integer + format: int32 + default: 0 + description: > + The maximum number of inflow transactions for the last twelve + months. + example: 10 + mean_num_incoming_transactions_3d: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last three days. + example: 3 + mean_num_incoming_transactions_1w: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last week. + example: 2.62 + mean_num_incoming_transactions_1m: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last month. + example: 2.58 + mean_num_incoming_transactions_3m: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last three months. + example: 2.52 + mean_num_incoming_transactions_6m: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last six months. + example: 1.31 + mean_num_incoming_transactions_12m: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last twelve months. + example: 0.71 + sum_incoming_amount_3d: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last three days. + example: 17142.16 + sum_incoming_amount_1w: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last week. + example: 24825.92 + sum_incoming_amount_1m: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last month. + example: 75993.36 + sum_incoming_amount_3m: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last three months. + example: 198197.28 + sum_incoming_amount_6m: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last six months. + example: 223697.28 + sum_incoming_amount_12m: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last twelve months. + example: 274697.28 + max_incoming_amount_3d: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last three days. + example: 3000 + max_incoming_amount_1w: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last week. + example: 3000 + max_incoming_amount_1m: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last month. + example: 3000 + max_incoming_amount_3m: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last three months. + example: 3000 + max_incoming_amount_6m: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last six months. + example: 3000 + max_incoming_amount_12m: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last twelve months. + example: 3000 + mean_incoming_amount_3d: + type: number + nullable: true + format: float + description: | + The mean incoming value of all transactions in the last three days. + example: 1428.51 + mean_incoming_amount_1w: + type: number + nullable: true + format: float + description: | + The mean incoming value of all transactions in the last week. + example: 1182.19 + mean_incoming_amount_1m: + type: number + nullable: true + format: float + description: | + The mean incoming value of all transactions in the last month. + example: 949.92 + mean_incoming_amount_3m: + type: number + nullable: true + format: float + description: > + The mean incoming value of all transactions in the last three + months. + example: 865.49 + mean_incoming_amount_6m: + type: number + nullable: true + format: float + description: | + The mean incoming value of all transactions in the last six months. + example: 939.9 + mean_incoming_amount_12m: + type: number + nullable: true + format: float + description: > + The mean incoming value of all transactions in the last twelve + months. + example: 1073.04 + num_outgoing_transactions_3d: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last three days. + example: 14 + num_outgoing_transactions_1w: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last week. + example: 25 + num_outgoing_transactions_1m: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last month. + example: 88 + num_outgoing_transactions_3m: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last three months. + example: 231 + num_outgoing_transactions_6m: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last six months. + example: 234 + num_outgoing_transactions_12m: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last twelve months. + example: 240 + max_num_outgoing_transactions_3d: + type: integer + format: int32 + default: 0 + description: | + The maximum number of outflow transactions for the last three days. + example: 6 + max_num_outgoing_transactions_1w: + type: integer + format: int32 + default: 0 + description: | + The maximum number of outflow transactions for the last week. + example: 6 + max_num_outgoing_transactions_1m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of outflow transactions for the last month. + example: 8 + max_num_outgoing_transactions_3m: + type: integer + format: int32 + default: 0 + description: > + The maximum number of outflow transactions for the last three + months. + example: 9 + max_num_outgoing_transactions_6m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of outflow transactions for the last six months. + example: 9 + max_num_outgoing_transactions_12m: + type: integer + format: int32 + default: 0 + description: > + The maximum number of outflow transactions for the last twelve + months. + example: 9 + mean_num_outgoing_transactions_3d: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last three days. + example: 3.5 + mean_num_outgoing_transactions_1w: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last week. + example: 3.12 + mean_num_outgoing_transactions_1m: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last month. + example: 2.84 + mean_num_outgoing_transactions_3m: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last three months. + example: 2.54 + mean_num_outgoing_transactions_6m: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last six months. + example: 1.29 + mean_num_outgoing_transactions_12m: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last twelve months. + example: 0.66 + sum_outgoing_amount_3d: + type: number + nullable: true + format: float + description: | + The total sum of all outflow transactions for the last three days. + example: 18246.95 + sum_outgoing_amount_1w: + type: number + nullable: true + format: float + description: | + The total sum of all outflow transactions for the last week. + example: 26362.25 + sum_outgoing_amount_1m: + type: number + nullable: true + format: float + description: | + The total sum of all outflow transactions for the last month. + example: 78243.82 + sum_outgoing_amount_3m: + type: number + nullable: true + format: float + description: | + The total sum of all outflow transactions for the last three months. + example: 192608.77 + sum_outgoing_amount_6m: + type: number + nullable: true + format: float + description: | + The total sum of all outflow transactions for the last six months. + example: 201608.77 + sum_outgoing_amount_12m: + type: number + nullable: true + format: float + description: > + The total sum of all outflow transactions for the last twelve + months. + example: 219608.77 + max_outgoing_amount_3d: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last three days. + example: 3000 + max_outgoing_amount_1w: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last week. + example: 3000 + max_outgoing_amount_1m: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last month. + example: 3000 + max_outgoing_amount_3m: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last three months. + example: 3000 + max_outgoing_amount_6m: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last six months. + example: 3000 + max_outgoing_amount_12m: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last twelve months. + example: 3000 + mean_outgoing_amount_3d: + type: number + nullable: true + format: float + description: | + The mean outgoing value of all transaction in the last three days. + example: 1303.35 + mean_outgoing_amount_1w: + type: number + nullable: true + format: float + description: | + The mean outgoing value of all transaction in the last week. + example: 1054.49 + mean_outgoing_amount_1m: + type: number + nullable: true + format: float + description: | + The mean outgoing value of all transaction in the last month. + example: 889.13 + mean_outgoing_amount_3m: + type: number + nullable: true + format: float + description: | + The mean outgoing value of all transaction in the last three months. + example: 833.8 + mean_outgoing_amount_6m: + type: number + nullable: true + format: float + description: | + The mean outgoing value of all transaction in the last six months. + example: 861.58 + mean_outgoing_amount_12m: + type: number + nullable: true + format: float + description: > + The mean outgoing value of all transaction in the last twelve + months. + example: 915.04 + days_without_transactions_3d: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last + three days. + example: 0 + days_without_transactions_1w: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last + week. + example: 0 + days_without_transactions_1m: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last + month. + example: 0 + days_without_transactions_3m: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last + three months. + example: 0 + days_without_transactions_6m: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last six + months. + example: 87 + days_without_transactions_12m: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last + twelve months. + example: 261 + days_since_last_transaction: + type: integer + format: int32 + default: 0 + description: | + The number of days since the last transaction occurred. + example: 0 + days_since_last_incoming_transaction: + type: integer + format: int32 + default: 0 + description: | + The number of days since the last inflow transaction occurred. + example: 0 + days_since_last_outgoing_transaction: + type: integer + format: int32 + default: 0 + description: | + The number of days since the last outflow transaction occurred. + example: 0 + days_history: + type: integer + format: int32 + default: 0 + description: > + The number of days between when the risk insight request was made + and the first transaction. + example: 365 + RiskInsightsCashflowMetrics: + type: object + nullable: true + description: > + Aggregate metrics calculated based on the user's transactions from + checking, savings, credit, and loan accounts. However, internal + transfers (transfers between accounts belonging to the same link) are + not used in the calculation. + + + + > ℹ️ **Note** + + > + + > If there is not enough transactional data for a given period, we + return `null`. For example, if the account has only been open for 15 + days (or you have only provided data for just 15 days), we return values + for `_3d`, `_1w`, and `_1m`, however for `_3m` we will return `null` as + there is no data for months two and three. + required: + - max_positive_3d + - max_positive_1w + - max_positive_1m + - max_positive_3m + - max_positive_6m + - max_positive_12m + - max_negative_3d + - max_negative_1w + - max_negative_1m + - max_negative_3m + - max_negative_6m + - max_negative_12m + - mean_positive_3d + - mean_positive_1w + - mean_positive_1m + - mean_positive_3m + - mean_positive_6m + - mean_positive_12m + - mean_negative_3d + - mean_negative_1w + - mean_negative_1m + - mean_negative_3m + - mean_negative_6m + - mean_negative_12m + - sum_positive_3d + - sum_positive_1w + - sum_positive_1m + - sum_positive_3m + - sum_positive_6m + - sum_positive_12m + - sum_positive_trend_3d + - sum_positive_trend_1w + - sum_positive_trend_1m + - sum_positive_trend_3m + - sum_positive_trend_6m + - sum_positive_trend_12m + - sum_negative_3d + - sum_negative_1w + - sum_negative_1m + - sum_negative_3m + - sum_negative_6m + - sum_negative_12m + - sum_negative_trend_3d + - sum_negative_trend_1w + - sum_negative_trend_1m + - sum_negative_trend_3m + - sum_negative_trend_6m + - sum_negative_trend_12m + - positive_to_negative_ratio_3d + - positive_to_negative_ratio_1w + - positive_to_negative_ratio_1m + - positive_to_negative_ratio_3m + - positive_to_negative_ratio_6m + - positive_to_negative_ratio_12m + - net_cashflow_3d + - net_cashflow_1w + - net_cashflow_1m + - net_cashflow_3m + - net_cashflow_6m + - net_cashflow_12m + - net_cashflow_trend_3d + - net_cashflow_trend_1w + - net_cashflow_trend_1m + - net_cashflow_trend_3m + - net_cashflow_trend_6m + - net_cashflow_trend_12m + properties: + max_positive_3d: + type: number + nullable: true + format: float + description: > + The highest value of positive cash flow transactions in the last + three days. + example: 1850.12 + max_positive_1w: + type: number + nullable: true + format: float + description: | + The highest value of positive cash flow transactions the last week. + example: 3808.99 + max_positive_1m: + type: number + nullable: true + format: float + description: | + The highest value of positive cash flow transactions the last month. + example: 4012.61 + max_positive_3m: + type: number + nullable: true + format: float + description: > + The highest value of positive cash flow transactions the last three + months. + example: 5001.08 + max_positive_6m: + type: number + nullable: true + format: float + description: > + The highest value of positive cash flow transactions the last six + months. + example: 8500 + max_positive_12m: + type: number + nullable: true + format: float + description: > + The highest value of positive cash flow transactions the last twelve + months. + example: 8500 + max_negative_3d: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last + three days. + example: 3375.43 + max_negative_1w: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last + week. + example: 3375.43 + max_negative_1m: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last + month. + example: 5305.92 + max_negative_3m: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last + three months. + example: 7535.85 + max_negative_6m: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last six + months. + example: 7535.85 + max_negative_12m: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last + twelve months. + example: 7535.85 + mean_positive_3d: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + three days. + example: 1410.54 + mean_positive_1w: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + week. + example: 1665.74 + mean_positive_1m: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + month. + example: 1827.36 + mean_positive_3m: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + three months. + example: 1881.58 + mean_positive_6m: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + six months. + example: 2102.19 + mean_positive_12m: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + twelve months. + example: 2502.06 + mean_negative_3d: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + three days. + example: 3373.48 + mean_negative_1w: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + week. + example: 2477.04 + mean_negative_1m: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + month. + example: 1904.96 + mean_negative_3m: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + three months. + example: 1838.47 + mean_negative_6m: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + six months. + example: 1877.63 + mean_negative_12m: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + twelve months. + example: 1948.51 + sum_positive_3d: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last three days. + example: 5642.16 + sum_positive_1w: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last week. + example: 13325.92 + sum_positive_1m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last month. + example: 52993.36 + sum_positive_3m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last three months. + example: 163697.28 + sum_positive_6m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last six months. + example: 189197.28 + sum_positive_12m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last twelve months. + example: 240197.28 + sum_positive_trend_3d: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last three days. + example: 98.902 + sum_positive_trend_1w: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last week. + example: -84.0393 + sum_positive_trend_1m: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last month. + example: 22.7315 + sum_positive_trend_3m: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last three months. + example: 1.8398 + sum_positive_trend_6m: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last six months. + example: -17.1869 + sum_positive_trend_12m: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last twelve months. + example: -25.9856 + sum_negative_3d: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last three days. + example: 6746.95 + sum_negative_1w: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last week. + example: 14862.25 + sum_negative_1m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last month. + example: 55243.82 + sum_negative_3m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last three months. + example: 158108.77 + sum_negative_6m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last six months. + example: 167108.77 + sum_negative_12m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last twelve months. + example: 185108.77 + sum_negative_trend_3d: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last three days. + example: -3.91 + sum_negative_trend_1w: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last week. + example: 254.2517 + sum_negative_trend_1m: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last month. + example: 58.376 + sum_negative_trend_3m: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last three months. + example: 2.5895 + sum_negative_trend_6m: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last six months. + example: -1.4824 + sum_negative_trend_12m: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last twelve months. + example: -4.2394 + positive_to_negative_ratio_3d: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last three days.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 0.84 + positive_to_negative_ratio_1w: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last week.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 0.9 + positive_to_negative_ratio_1m: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last month.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 0.96 + positive_to_negative_ratio_3m: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last three months.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 1.04 + positive_to_negative_ratio_6m: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last six months.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 1.13 + positive_to_negative_ratio_12m: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last twelve months.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 1.3 + net_cashflow_3d: + type: number + nullable: true + format: float + description: | + The net cash flow in the last three days. + example: -1104.79 + net_cashflow_1w: + type: number + nullable: true + format: float + description: | + The net cash flow in the last week. + example: -1536.33 + net_cashflow_1m: + type: number + nullable: true + format: float + description: | + The net cash flow in the last month. + example: -2250.46 + net_cashflow_3m: + type: number + nullable: true + format: float + description: | + The net cash flow in the last three months. + example: 5588.51 + net_cashflow_6m: + type: number + nullable: true + format: float + description: | + The net cash flow in the last six months. + example: 22088.51 + net_cashflow_12m: + type: number + nullable: true + format: float + description: | + The net cash flow in the last twelve months. + example: 55088.51 + net_cashflow_trend_3d: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last three days months. + example: 1448.683 + net_cashflow_trend_1w: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last week. + example: 163.8856 + net_cashflow_trend_1m: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last month. + example: 1.3034 + net_cashflow_trend_3m: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last three months. + example: -0.472 + net_cashflow_trend_6m: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last six months. + example: -15.1286 + net_cashflow_trend_12m: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last twelve months. + example: -21.5511 + RiskInsightsCategoryMetrics: + type: object + properties: + category: + $ref: '#/components/schemas/EnumTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumTransactionSubcategory' + net_amount_3m: + type: number + nullable: true + format: float + description: >- + The net amount of the transactions for this category in the last + three months (calculated as the total incoming - total outgoing + transactions for this category). + example: 642.76 + category_inflow_ratio_3m: + type: number + nullable: true + format: float + description: > + The ratio of `net_amount_3m` divided by the sum of all incoming + categorized transactions (including the current category) for the + same period. + + + Note: If there are no inflow transactions for the period, this value + will return `null`. + example: 1 + trend_3m: + type: number + nullable: true + format: float + description: >- + The net category transaction trend (incoming - outgoing transactions + for the category) for the period. + example: 0 + RiskInsights: + type: object + required: + - id + - link + - created_at + - accounts + - assets_metrics + - transactions_metrics + - balances_metrics + - cashflow_metrics + - credit_cards_metrics + - loans_metrics + - category_metrics + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the risk insights request. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + link: + type: string + format: uuid + description: The `link.id` the risk insights analysis belongs to. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-01T20:25:47.307911Z' + accounts: + type: array + nullable: true + description: >- + An array of Belvo-generated account numbers (UUIDs) that were used + during the risk insights analysis. If no accounts were found, we + return an empty array. + items: + type: string + format: uuid + description: The Belvo-generated ID for the account. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + example: + - 0d3ffb69-f83b-456e-ad8e-208d0998d71d + - 00293c8e-1152-440b-9892-3c071fb88672 + - cf638fba-ef45-4c10-bc6f-adecc4b2bf4e + - 3861a5da-ae9b-4f20-a632-a9294489d5ac + - 1f60315b-236d-498e-be7a-92bc613d329b + - a2c8da63-ed51-41e6-891a-4ae7e784463a + assets_metrics: + $ref: '#/components/schemas/RiskInsightsAssetMetrics' + credit_cards_metrics: + $ref: '#/components/schemas/RiskInsightsCreditCardMetrics' + loans_metrics: + $ref: '#/components/schemas/RiskInsightsLoansMetrics' + balances_metrics: + $ref: '#/components/schemas/RiskInsightsBalanceMetrics' + transactions_metrics: + $ref: '#/components/schemas/RiskInsightsTransactionMetrics' + cashflow_metrics: + $ref: '#/components/schemas/RiskInsightsCashflowMetrics' + category_metrics: + type: array + description: > + An array of aggregate metrics regarding the transaction categories + and subcategories that Belvo has identified within the user's + transaction history. + + + In the array, Belvo only returns categories that have been + identified. + items: + $ref: '#/components/schemas/RiskInsightsCategoryMetrics' + RiskInsightsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of risk insights objects. + items: + $ref: '#/components/schemas/RiskInsights' + EnumTaxRetentionReceiverNationality: + type: string + nullable: true + enum: + - NATIONAL + - FOREIGN + description: > + Whether the invoice receiver is a Mexican national or not. If the + receiver is not considered a Mexican national, the retained taxes can be + calculated differently. Possible values: + - `NATIONAL` + - `FOREIGN` + example: NATIONAL + EnumTaxRetentionPaymentStatus: + type: string + nullable: true + enum: + - PAID + - PROVISIONED + description: | + Indicates whether or not the tax has been paid or not. Can be either: + - `PAID` + - `PROVISIONED` + example: PAID + RetentionBreakdown: + type: object + required: + - base_amount + - tax_type + - retained_amount + - payment_status + description: A breakdown of the retained taxes + properties: + base_amount: + type: number + nullable: true + format: float + description: | + The base amount that was used to calculate the tax retention. + example: 0.03 + tax_type: + type: string + nullable: true + description: > + Optional attribute to indicate the type of tax withheld for the + period or year according to the [SAT + catalog](https://developers.belvo.com/docs/sat-catalogs#retention-code). + example: '01' + retained_amount: + type: number + nullable: true + format: float + description: | + The amount retained. + example: 0 + payment_status: + $ref: '#/components/schemas/EnumTaxRetentionPaymentStatus' + TaxRetentions: + type: object + required: + - collected_at + - invoice_identification + - version + - code + - issued_at + - certified_at + - cancelled_at + - sender_id + - sender_name + - receiver_nationality + - receiver_id + - receiver_name + - total_invoice_amount + - total_taxable_amount + - total_exempt_amount + - total_retained_amount + - retention_breakdown + - xml + properties: + id: + type: string + format: uuid + description: >- + Belvo's unique identifier used to reference the current tax + retention statement. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + format: uuid + description: The `link.id` the tax retention belongs to. + example: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp of when the data point was collected. + example: '2022-02-09T08:45:50.406032Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:46:20.406032Z' + invoice_identification: + type: string + nullable: true + format: uuid + description: > + The fiscal institution's unique ID for the invoice that the tax + retention relates to. + example: def404af-5eef-4112-aa99-d1ec8493b89a + version: + type: string + nullable: true + description: | + The CFDI version of the tax retentions. + example: '1.0' + code: + type: integer + nullable: true + format: int32 + description: > + The tax retention code. For more information, see our [SAT Catalogs + DevPortal + article](https://developers.belvo.com/docs/sat-catalogs#retention-code). + example: 25 + issued_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp of when the tax retention was issued. + example: '2019-01-03T21:10:40.000Z' + certified_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp of when the tax retention was certified. + example: '2019-01-03T21:10:41.000Z' + cancelled_at: + type: string + nullable: true + format: date-time + description: > + The ISO-8601 timestamp of when the tax retention was canceled (if + applicable). + example: null + sender_id: + type: string + nullable: true + description: | + The fiscal ID of the invoice sender. + example: JKUF980404P0 + sender_name: + type: string + nullable: true + description: | + The name of the invoice sender. + example: Roberto Nunez Batman + receiver_nationality: + $ref: '#/components/schemas/EnumTaxRetentionReceiverNationality' + receiver_id: + type: string + nullable: true + description: | + The fiscal ID of the invoice receiver. + example: GYGK3207809L1 + receiver_name: + type: string + nullable: true + description: | + The name of the invoice receiver. + example: ACME LTD + total_invoice_amount: + type: number + nullable: true + format: float + description: | + The total amount of the invoice that the tax retention relates to. + example: 53249.8 + total_exempt_amount: + type: number + nullable: true + format: float + description: | + Total amount that is exempt from taxation. + example: 1000.8 + total_retained_amount: + type: number + nullable: true + format: float + description: | + Total tax retained. + example: 1550.7 + total_taxable_amount: + type: number + nullable: true + format: float + description: > + The total amount that can be taxed. Calculated as + `total_invoice_amount` - `total_exempt_amount`. + example: 43249 + retention_breakdown: + type: array + nullable: true + description: | + A breakdown of the retained taxes. + items: + $ref: '#/components/schemas/RetentionBreakdown' + xml: + type: string + nullable: true + description: | + The tax retention document in XML form. + example: '=XML-STRING=' + TaxRetentionsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of tax retentions objects. + items: + $ref: '#/components/schemas/TaxRetentions' + EnumTaxRetentionType: + type: string + enum: + - OUTFLOW + - INFLOW + description: > + The type of tax retention in relation to the invoice (from the + perspective of the Link owner). + + + - `OUTFLOW` relates to a tax retention for a sent invoice. + + - `INFLOW` related to a tax retention for a received invoice. + example: INFLOW + TaxRetentionsRequest: + type: object + required: + - link + - date_from + - date_to + - type + properties: + link: + type: string + format: uuid + description: | + The `link.id` that you want to get information for. + example: 9e432f18-36ca-4bd6-a3f3-1971e58dc1e8 + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting tax retentions for, in + `YYYY-MM-DD` format. + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2020-01-01' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting tax retentions for, in + `YYYY-MM-DD` format. + + + ⚠️ The number of days between `date_from` and `date_to` cannot be + over 365. + example: '2020-02-01' + type: + $ref: '#/components/schemas/EnumTaxRetentionType' + attach_xml: + type: boolean + default: true + description: | + When set to `true`, you will receive the XML tax retention in the + response. + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + DocumentInformationIndividual: + type: object + required: + - name + - type + - form_number + - year + description: Object containing detailed information about the fiscal document. + properties: + name: + type: string + description: The name of the tax document. + example: >- + Declaracion de Renta y Complementario o de Ingresos y Patrimonio + para Personas Juridicas y Asimiladas y Personas Naturales y + Asimiladas no Residentes y Sucesiones Iliquidas de Causantes no + Residentes + type: + type: string + description: >- + The type of tax declaration form. For DIAN, this will be either + `110` or `210`. + example: '110' + form_number: + type: string + description: Institution-provided identifier for the tax declaration. + example: '2117680087604' + year: + type: integer + nullable: true + description: | + The year of this tax declaration. + example: 2021 + DocumentIdIndividual: + type: object + required: + - document_type + - document_number + description: Object containing information about the ID document of the tax payer. + properties: + document_type: + type: string + description: The type of ID document. + example: NIT + document_number: + type: string + description: The number of the ID document. + example: '7113223466' + ReportingId: + type: object + required: + - reporting_type + - reporting_value + description: >- + Object containing information about where the tax payer reports their + income. + properties: + reporting_type: + type: string + description: >- + The type of reporting ID. For DIAN, this is the sectional address + code (*Codigo Dirrecion Seccional*) + example: sectional_address_code + reporting_value: + type: string + description: The value of the reporting ID. + example: '32' + TaxPayerInformationIndividual: + type: object + required: + - first_last_name + - second_last_name + - first_name + - other_names + - main_economic_activity + - document_id + - reporting_id + description: Object containing information about the tax payer. + properties: + first_last_name: + type: string + description: The tax payer's first last name. + example: Restrepo + second_last_name: + type: string + description: The tax payer's second last name. + example: Vives + first_name: + type: string + description: The tax payer's first name. + example: Carlos + other_names: + type: string + description: Additional names of the tax payer. + example: Alberto + main_economic_activity: + type: string + description: The main economic activity the tax payer is involved in. + example: '0010' + document_id: + $ref: '#/components/schemas/DocumentIdIndividual' + reporting_id: + $ref: '#/components/schemas/ReportingId' + EquityStatementIndividual: + type: object + required: + - total_gross_equity + - total_debts + - total_net_equity + description: Object containing the general fiscal situation of the taxpayer. + properties: + total_gross_equity: + type: number + format: float + description: The total gross equity of the tax payer. + example: 4648000 + total_debts: + type: number + format: float + description: The total debts of the tax_payer + example: 77626000 + total_net_equity: + type: number + format: float + description: The total net equity value of the taxpayer. + example: 0 + GrossIncomeIndividual: + type: object + required: + - earned_income + - fee_based_income + - capital_income + - non_labor_income + description: Object containing the declared gross income of the tax payer. + properties: + earned_income: + type: number + format: float + description: Income received from employment. + example: 115004000 + fee_based_income: + type: number + format: float + description: >- + Income received from emitted invoices (for example, income that + independent contractors or freelancers receive). + example: 0 + capital_income: + type: number + format: float + description: >- + Income received from an investment (such as dividends or from + renting a property). + example: 0 + non_labor_income: + type: number + format: float + description: >- + Income that cannot be classified into the other three fields (such + as income from cryptocurrencies or regular transfers from parents). + example: 0 + NonTaxableIncomeIndividual: + type: object + required: + - earned_income + - fee_based_income + - capital_income + - non_labor_income + description: Object containing the declared non-taxable income of the tax payer. + properties: + earned_income: + type: number + format: float + description: Income received from employment. + example: 115004000 + fee_based_income: + type: number + format: float + description: >- + Income received from emitted invoices (for example, income + independent contractors or freelancers receive). + example: 0 + capital_income: + type: number + format: float + description: >- + Income received from an investment (such as dividends or from + renting a property). + example: 0 + non_labor_income: + type: number + format: float + description: >- + Income that cannot be classified into the other three fields (such + as income from cryptocurrencies or regular transfers from parents). + example: 0 + NetIncomeIndividual: + type: object + required: + - earned_income + - fee_based_income + - capital_income + - non_labor_income + description: >- + Object containing the declared net income of the tax payer. The values + are calculated as the `gross_income` - `non_taxable_income`. + properties: + earned_income: + type: number + format: float + description: Income received from employment. + example: 115004000 + fee_based_income: + type: number + format: float + description: >- + Income received from emitted invoices (for example, income + independent contractors or freelancers receive). + example: 0 + capital_income: + type: number + format: float + description: >- + Income received from an investment (such as dividends or from + renting a property). + example: 0 + non_labor_income: + type: number + format: float + description: >- + Income that cannot be classified into the other three fields (such + as income from cryptocurrencies or regular transfers from parents). + example: 0 + AnnualTotalsIndividual: + type: object + required: + - total_exempt_income + - total_applicable_deductions + - total_exemptions_and_deductions + - total_ordinary_net_income + description: >- + Object containing the tax payers total exempt, deducted, and ordinary + net incomes. + properties: + total_exempt_income: + type: number + format: float + description: Total income that is not taxable, according to the institution. + example: 115004000 + total_applicable_deductions: + type: number + format: float + description: >- + Total deductions that the taxpayer can apply to their income, + according to the institution. + example: 0 + total_exemptions_and_deductions: + type: number + format: float + description: >- + Sum total of all exempt and deductions that can be applied to the + taxpayer's income. + example: 0 + total_ordinary_net_income: + type: number + format: float + description: >- + Sum total of the taxpayer's income (gross income - exemptions - + deductions). + example: 0 + AnnualIncomeStatementIndividual: + type: object + required: + - gross_income + - non_taxable_income + - net_income + - annual_totals + description: >- + Object containing the reported annual incomes, deductions, and final + balances of the tax payer. + properties: + gross_income: + $ref: '#/components/schemas/GrossIncomeIndividual' + non_taxable_income: + $ref: '#/components/schemas/NonTaxableIncomeIndividual' + net_income: + $ref: '#/components/schemas/NetIncomeIndividual' + annual_totals: + $ref: '#/components/schemas/AnnualTotalsIndividual' + PensionIncomeStatementIndividual: + type: object + required: + - net_pension_income + - net_taxable_pension_income + description: Object containing the tax payer's total pension income. + properties: + net_pension_income: + type: number + format: float + description: The total net pension of the taxpayer. + example: 0 + net_taxable_pension_income: + type: number + format: float + description: The total taxable pension income of the taxpayer. + example: 0 + TaxAssessmentIndividual: + type: object + required: + - fortuitous_profit_tax + - total_tax_on_taxable_net_income + - net_income_tax + - total_tax_due + - previous_year_balance + - total_withheld_tax + - balance_payable + - balance_refundable + - total_payment + description: >- + Object containing the calculated tax assessment of the tax payer. This + includes the total taxable income, the income tax applied, and taxes + already withheld. + properties: + fortuitous_profit_tax: + type: number + format: float + description: >- + The tax applied on your unexpected income (such as lottery wins or + house sales). + example: 0 + total_tax_on_taxable_net_income: + type: number + format: float + description: >- + The calculated total tax that can be applied on the tax payer's + taxable income (total income - exemptions - deductions). + example: 9144000 + net_income_tax: + type: number + format: float + description: >- + After additional deductions that you can apply, this will be the net + income tax. If not further deduction are identified, this value will + be the same as `total_tax_on_taxable_net_income`. + example: 9144000 + total_tax_due: + type: number + format: float + description: >- + After further deductions, this is the final calculated tax that the + taxpayer is required to pay. + example: 9144000 + previous_year_balance: + type: number + format: float + description: > + Only applicable for DIAN. + + + + The amount the tax payer has as a "credit" fromt he previous year + (this is equal to the `balance_refundable`) of the previous year. + example: 1514000 + total_withheld_tax: + type: number + format: float + description: The total tax already withheld in the current fiscal year. + example: 7714000 + balance_payable: + type: number + format: float + description: How much the tax payer is required to pay. + example: 0 + balance_refundable: + type: number + format: float + description: >- + How much the tax payer is expected to receive. For DIAN, this will + count as credit for the next fiscal year (see + `previous_year_balance`). + example: 84000 + total_payment: + type: number + format: float + description: >- + The total the tax payer is required to pay, taking into account + deductions and fiscal credits. + example: 0 + TaxDeclarationIndividual: + type: object + title: Individual Tax Declaration + required: + - id + - link + - collected_at + - created_at + - document_information + - tax_payer_information + - equity_statement + - annual_income_statement + - pension_income_statement + - tax_assessment + - date_issued + - pdf + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the current tax declaration. + example: 1c83ead8-6665-429c-a17a-ddc76cb3a95e + link: + type: string + format: uuid + description: >- + Belvo's unique ID of the user that this tax declaration is + associated with. + example: 8a95ca1a-1a7a-4ce0-8599-f8ff1dc792ac + collected_at: + type: string + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + created_at: + type: string + format: date-time + description: >- + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2020-04-23T21:30:20.336854+00:00' + document_information: + $ref: '#/components/schemas/DocumentInformationIndividual' + tax_payer_information: + $ref: '#/components/schemas/TaxPayerInformationIndividual' + equity_statement: + $ref: '#/components/schemas/EquityStatementIndividual' + annual_income_statement: + $ref: '#/components/schemas/AnnualIncomeStatementIndividual' + pension_income_statement: + $ref: '#/components/schemas/PensionIncomeStatementIndividual' + tax_assessment: + $ref: '#/components/schemas/TaxAssessmentIndividual' + date_issued: + type: string + format: date + description: The date the tax declaration was issued by the fiscal institution. + example: '2022-09-02' + pdf: + type: string + nullable: true + description: The PDF of the tax declaration, as a binary string. + example: '==BINARY-STRING==' + TaxDeclarationIndividualPaginated: + type: object + title: Tax Declaration Individual + additionalProperties: false + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Individual Tax Declaration objects. + items: + $ref: '#/components/schemas/TaxDeclarationIndividual' + DocumentInformationBusiness: + type: object + required: + - name + - type + - form_number + - year + description: Object containing detailed information about the fiscal document. + properties: + name: + type: string + description: The name of the tax document. + example: >- + Declaracion de Renta y Complementario o de Ingresos y Patrimonio + para Personas Juridicas y Asimiladas y Personas Naturales y + Asimiladas no Residentes y Sucesiones Iliquidas de Causantes no + Residentes + type: + type: string + description: >- + The type of tax declaration form. For DIAN, this will be either + `110` or `210`. + example: '110' + form_number: + type: string + description: The institution-provided identifier for the tax declaration. + example: '2117680087604' + year: + type: integer + nullable: true + description: | + The year of this tax declaration. + example: 2021 + DocumentIdBusiness: + type: object + required: + - document_type + - document_number + description: Object containing information about the ID document of the tax payer. + properties: + document_type: + type: string + description: The type of ID document. + example: NIT + document_number: + type: string + description: The number of the ID document. + example: '8312224477' + TaxPayerInformationBusiness: + type: object + required: + - first_last_name + - second_last_name + - first_name + - other_names + - company_name + - main_economic_activity + - document_id + - reporting_id + description: Object containing information about the tax payer. + properties: + first_last_name: + type: string + nullable: true + description: The tax payer's first last name. + example: Restrepo + second_last_name: + type: string + nullable: true + description: The tax payer's second last name. + example: Vives + first_name: + type: string + nullable: true + description: The tax payer's first name. + example: Carlos + other_names: + type: string + nullable: true + description: Additional names of the tax payer. + example: Alberto + company_name: + type: string + description: The name of the company, as registered at the institution. + example: Trusty Spanners + main_economic_activity: + type: string + description: The main economic activity the tax payer is involved in. + example: '0032' + document_id: + $ref: '#/components/schemas/DocumentIdBusiness' + reporting_id: + $ref: '#/components/schemas/ReportingId' + EquityStatementBusiness: + type: object + required: + - cash_and_cash_equivalents + - investments_and_derivative_financial_instruments + - accounts_documents_and_finance_leases_receivable + - inventory + - property_plant_and_equipment_investment_properties + - total_gross_equity + - debts + - total_net_equity + description: Object containing the general fiscal situation of the taxpayer. + properties: + cash_and_cash_equivalents: + type: number + format: float + description: >- + Total cash (or cash equivalents) that the business currently holds + at the end of the fiscal year. + example: 4648000 + investments_and_derivative_financial_instruments: + type: number + format: float + description: >- + Total value of all investments, stocks, or similar, that the company + has. + example: 77626000 + accounts_documents_and_finance_leases_receivable: + type: number + format: float + description: >- + Total of all payments the company expects to receive (for example, + from partial invoices that have not been paid yet). + example: 0 + inventory: + type: number + format: float + description: Total financial value of the company's sellable inventory. + example: 0 + property_plant_and_equipment_investment_properties: + type: number + format: float + description: >- + Total value of real estate, plant infrastructure, or equipment that + has been purchased. + example: 0 + total_gross_equity: + type: number + format: float + description: Total gross equity. + example: 220860000 + debts: + type: number + format: float + description: Total debts that the company currently has. + example: 207030000 + total_net_equity: + type: number + format: float + description: >- + The total net equity of the company (`total_gross_equity` - + `debts`). + example: 13830000 + AnnualIncomeStatementBusiness: + type: object + required: + - gross_income_from_ordinary_activities + - dividends + - other_income + - total_gross_income + - returns_rebates_and_discounts_on_sales + - total_net_income + description: >- + Object containing the reported annual incomes, deductions, and final + balances of the tax payer. + properties: + gross_income_from_ordinary_activities: + type: number + format: float + description: >- + Total gross income that the company generated from their main + economic activity. + example: 210043000 + dividends: + type: number + format: float + description: Total income that the company generated from dividends. + example: 0 + other_income: + type: number + format: float + description: >- + Total income that the company generated from activities not + associated with their main economic activity. + example: 0 + total_gross_income: + type: number + format: float + description: Total gross income the company generated. + example: 210043000 + returns_rebates_and_discounts_on_sales: + type: number + format: float + description: >- + Total value of cancelled orders, corrected invoices, or similar, + that can be discounted from the `total_gross_income`. + example: 0 + total_net_income: + type: number + format: float + description: >- + Total net income of the company, taking into account + `returns_rebates_and_discounts_on_sales`. + example: 210043000 + AnnualCostsAndDeductionsStatementBusiness: + type: object + required: + - costs + - administration_expenses + - distribution_and_sales_expenses + - financial_expenses + - total_costs_and_deductible_expenses + description: Object containing the reported annual costs and applicable deductions. + properties: + costs: + type: number + format: float + description: Total costs for the company to operate. + example: 1881843000 + administration_expenses: + type: number + format: float + description: >- + Total costs of the company related to training, company offsites, or + similar. + example: 3266000 + distribution_and_sales_expenses: + type: number + format: float + description: >- + Total costs the company incurred in order to distribute or sell + their product. + example: 0 + financial_expenses: + type: number + format: float + description: >- + Total value of any fees incurred by the company to operate (such as + bank fees). + example: 0 + total_costs_and_deductible_expenses: + type: number + format: float + description: Total value of all costs and dedictible expenses. + example: 191449000 + TaxAssessmentBusiness: + type: object + required: + - net_income_taxable + - fortuitous_profit_tax + - total_tax_on_taxable_net_income + - net_income_tax + - total_tax_due + - total_withholdings_for_the_taxable_year_to_be_declared + - total_withheld_tax + - total_balance_payable + - total_balance_in_favor + - total_payment + description: >- + Object containing the calculated tax assessment of the tax payer. This + includes the total taxable income, the income tax applied, and taxes + already withheld. + properties: + net_income_taxable: + type: number + format: float + description: The net income on which tax can be applied. + example: 18594000 + fortuitous_profit_tax: + type: number + format: float + description: >- + The tax applied on your unexpected income (such as lottery wins or + house sales). + example: 0 + total_tax_on_taxable_net_income: + type: number + format: float + description: >- + The calculated total tax that can be applied on the tax payer's + taxable income (total income - exemptions - deductions). + example: 5764000 + net_income_tax: + type: number + format: float + description: >- + After additional deductions that you can apply, this will be the net + income tax. If no further deduction are identified, this value will + be the same as `total_tax_on_taxable_net_income`. + example: 5764000 + total_tax_due: + type: number + format: float + description: >- + After further deductions, this is the final calculated tax that the + taxpayer is required to pay. + example: 5764000 + total_withholdings_for_the_taxable_year_to_be_declared: + type: number + format: float + description: How much the tax payer has already paid througout the fiscal year. + example: 7361000 + total_balance_payable: + type: number + format: float + description: How much the tax payer is required to pay. + example: 0 + total_balance_in_favor: + type: number + format: float + description: How much the tax payer is expected to receive. + example: 1889000 + total_payment: + type: number + format: float + description: >- + The total the tax payer is required to pay, taking into account + deductions and fiscal credits. + example: 0 + TaxDeclarationBusiness: + type: object + title: Business Tax Declaration + required: + - id + - link + - collected_at + - created_at + - document_information + - tax_payer_information + - equity_statement + - annual_income_statement + - annual_costs_and_deductions_statement + - tax_assessment + - date_issued + - pdf + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the current tax declaration. + example: 1c83ead8-6665-429c-a17a-ddc76cb3a95e + link: + type: string + format: uuid + description: >- + Belvo's unique ID of the user that this tax declaration is + associated with. + example: 8a95ca1a-1a7a-4ce0-8599-f8ff1dc792ac + collected_at: + type: string + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + created_at: + type: string + format: date-time + description: >- + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2020-04-23T21:30:20.336854+00:00' + document_information: + $ref: '#/components/schemas/DocumentInformationBusiness' + tax_payer_information: + $ref: '#/components/schemas/TaxPayerInformationBusiness' + equity_statement: + $ref: '#/components/schemas/EquityStatementBusiness' + annual_income_statement: + $ref: '#/components/schemas/AnnualIncomeStatementBusiness' + annual_costs_and_deductions_statement: + $ref: '#/components/schemas/AnnualCostsAndDeductionsStatementBusiness' + tax_assessment: + $ref: '#/components/schemas/TaxAssessmentBusiness' + date_issued: + type: string + format: date + description: The date the tax declaration was issued by the fiscal institution. + example: '2022-09-02' + pdf: + type: string + nullable: true + description: The PDF of the tax declaration, as a binary string. + example: '==BINARY-STRING==' + TaxDeclarationBusinessPaginated: + type: object + title: Tax Declaration Business + additionalProperties: false + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Business Tax Declaration objects. + items: + $ref: '#/components/schemas/TaxDeclarationBusiness' + TaxDeclarationsRequest: + type: object + title: Tax Declarations + description: Request body for tax declrarations + required: + - link + - type + - year_to + - year_from + properties: + link: + type: string + format: uuid + description: >- + The fiscal `link.id` you want specific tax declaration information + for. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + year_from: + type: string + description: > + The starting year you want to get tax declaration for, in `YYYY` + format. + example: '2018' + year_to: + type: string + description: > + The year you want to stop getting tax declaration for, in `YYYY` + format. + example: '2019' + attach_pdf: + type: boolean + default: false + description: > + When this is set to `true`, you will receive the PDF as a binary + string in + + the response. + example: false + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + EnumEmploymentRecordStatus: + type: string + nullable: true + enum: + - EMPLOYED + - UNEMPLOYED + description: > + Indicates whether or not the individual is currently `EMPLOYED` or + `UNEMPLOYED`. + example: EMPLOYED + EmploymentRecordEntitlement: + type: object + description: Details regarding the benefits the individual is entitled to. + properties: + entitled_to_health_insurance: + type: boolean + description: > + Indicated whether or not the individual is entitled to health + insurance. + example: true + entitled_to_company_benefits: + type: boolean + description: > + Indicates whether or not the individual is entitled to company + benefits. + example: true + valid_until: + type: string + nullable: true + format: date + description: > + Date until when the individual is covered by health insurance and/or + company benefits. If `null` the employee is currently working and no + end date is required. + example: null + status: + $ref: '#/components/schemas/EnumEmploymentRecordStatus' + EnumEmploymentRecordDocumentType: + type: string + nullable: true + enum: + - NSS + - CURP + description: > + The type of document related to the individual. We return one of the + following values: + + - `NSS` + - `CURP` + + example: NSS + EmploymentRecordDocumentId: + type: object + description: Details regarding the individual's ID documents. + properties: + document_type: + $ref: '#/components/schemas/EnumEmploymentRecordDocumentType' + document_number: + type: string + nullable: true + description: | + The ID document's number (as a string). + example: '10277663582' + EmploymentRecordPersonalData: + type: object + description: Details regarding the personal information of the individual. + properties: + official_name: + type: string + nullable: true + description: | + The legal name of the individual + example: Bruce Banner del Torro + first_name: + type: string + nullable: true + description: | + The first name of the individual. + example: Bruce + last_name: + type: string + nullable: true + description: | + The last name of the individual. + example: Banner del Torro + email: + type: string + nullable: true + deprecated: true + description: | + The email address of the individual. + example: bruce.banner@avengers.com + birth_date: + type: string + nullable: true + format: date + description: | + The date of birth of the individual, in `YYYY-MM-DD` format. + example: '2022-02-09' + entitlements: + $ref: '#/components/schemas/EmploymentRecordEntitlement' + document_ids: + type: array + description: Details regarding the individual's ID documents. + items: + $ref: '#/components/schemas/EmploymentRecordDocumentId' + EmploymentRecordSocialSecuritySummary: + type: object + description: Details regarding the individual's social security contributions. + properties: + weeks_redeemed: + type: integer + nullable: true + format: int32 + description: | + Number of weeks the individual needed to take out of their pension. + example: 0 + weeks_reinstated: + type: integer + nullable: true + format: int32 + description: > + Number of weeks the individual has paid back into their pension + (*AFORE*), after having redeemed them previously. + example: 0 + weeks_contributed: + type: integer + nullable: true + format: int32 + description: > + Number of weeks the individual has contributed to their social + security, based on the number of weeks the individual has worked + according to IMSS. + example: 188 + EnumEmploymentRecordStatusUpdateEvents: + type: string + enum: + - DISMISSED_RESIGNED + - SALARY_MODIFICATION + - HIRED + - VOLUNTARY_CONTRIBUTION + - ABSENCE + - SICK_LEAVE + description: > + The event that caused the change in employment status or salary. We + return one of the following values: + + - `DISMISSED_RESIGNED` + - `SALARY_MODIFICATION` + - `HIRED` + - `VOLUNTARY_CONTRIBUTION` + - `ABSENCE` + - `SICK_LEAVE` + + example: HIRED + EmploymentRecordEmploymentStatusUpdates: + type: object + description: Details regarding any employment changes of the individual. + properties: + event: + $ref: '#/components/schemas/EnumEmploymentRecordStatusUpdateEvents' + base_salary: + type: number + format: float + description: | + The base salary of the individual, current as of the `update_date`. + example: 1033.09 + update_date: + type: string + format: date + description: | + The date that the employment event occurred, in `YYYY-MM-DD` format. + example: '2021-09-01' + EmploymentRecordDetail: + type: object + description: Details regarding the individual's employment history. + properties: + collected_at: + type: string + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + employer: + type: string + description: | + The official name of the employer. + example: Batman Enterprises CDMX + employer_id: + type: string + description: | + The official ID of the employer, according to the country. + example: 780-BAT-88769-CDMX + start_date: + type: string + format: date + description: | + Date when employment started, in `YYYY-MM-DD` format. + example: '2019-10-10' + end_date: + type: string + nullable: true + format: date + description: | + Date when employment finished, in `YYYY-MM-DD` format. + example: '2019-12-31' + weeks_employed: + type: integer + format: int32 + description: | + Number of weeks that the individual was employed. + example: 12 + state: + type: string + description: > + In what geographical state the individual was employed, according to + the country. + example: DISTRITO FEDERAL + most_recent_base_salary: + type: number + format: float + description: > + The most recent base salary the individual earned. + + + For Mexico, this is the *daily* rate that the individual earned, + including the perks that the individual is entitled to throughout + the year. + example: 762.54 + monthly_salary: + type: number + format: float + description: > + The monthly salary of the individual, including any additional + perks. + currency: + type: string + description: | + The three-letter currency code in which the salary is paid. + example: MXN + employment_status_updates: + type: array + description: Details regarding any employment changes of the individual. + items: + $ref: '#/components/schemas/EmploymentRecordEmploymentStatusUpdates' + EmploymentRecordFile: + type: object + description: Additional PDF binary files relating to the individual's employment. + properties: + type: + type: string + description: | + The title of the document. + example: ReporteSemanasCotizadas_190123 + value: + type: string + nullable: true + description: > + The PDF binary of the file (as a string). + + + > **Note**: In our sandbox environment, this field will return + `null`. + example: '=PDF_BINARY=' + EmploymentRecord: + type: object + description: Employment record response payload + properties: + id: + type: string + format: uuid + description: >- + The unique identifier created by Belvo for the current IMSS + statement. + example: fef05fc8-7357-4a4a-9d29-55038ea31a04 + link: + type: string + format: uuid + description: The unique identifier created by Belvo for the current user. + example: 27c1d5cf-e8fb-433a-a2f7-d246de199c01 + created_at: + type: string + format: date-time + description: >- + The ISO-8601 timestamp of when the data point was initially created + in Belvo's database. + example: '2020-04-23T21:32:55.336854+00:00' + collected_at: + type: string + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + report_date: + type: string + format: date + description: >- + The date when the employment record report was generated, in + `YYYY-MM-DD` format. + example: '2023-01-19' + internal_identification: + type: string + description: >- + Unique ID for user according to the institution. For IMSS Mexico, + this is the CURP. + example: BLPM951331IONVGR54 + personal_data: + $ref: '#/components/schemas/EmploymentRecordPersonalData' + social_security_summary: + $ref: '#/components/schemas/EmploymentRecordSocialSecuritySummary' + employment_records: + type: array + description: Details regarding the individual's employment history. + items: + $ref: '#/components/schemas/EmploymentRecordDetail' + files: + type: array + nullable: true + description: Additional PDF binary files relating to the individual's employment. + items: + $ref: '#/components/schemas/EmploymentRecordFile' + EmploymentRecordsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of employment record objects. + items: + $ref: '#/components/schemas/EmploymentRecord' + EmploymentRecordRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The `link.id` you want to retrieve employment records for. + example: d686c617-6d9e-4bc6-9801-5ac276ccb6a2 + attach_pdf: + type: boolean + default: false + description: > + When set to `true`, you will receive the PDF in binary format in the + response. + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + EnumIncomeVerificationAccountHolderType: + type: string + enum: + - INDIVIDUAL + description: | + The type of account holder. Can be: + + - `INDIVIDUAL` + example: INDIVIDUAL + EnumIncomeVerificationAccountCategory: + type: string + enum: + - CHECKING_ACCOUNT + - SAVINGS_ACCOUNT + description: | + The type of account. + + Can be either: + - `CHECKING_ACCOUNT` + - `SAVINGS_ACCOUNT` + example: CHECKING_ACCOUNT + EnumIncomeVerificationType: + type: string + nullable: true + enum: + - INFLOW + description: | + The direction of the transaction: + + - `INFLOW` indicates money coming into the account. + example: INFLOW + EyodIncomeVerificationBodyRequest: + type: object + required: + - transaction_id + - account_holder_type + - account_holder_id + - account_id + - account_category + - value_date + - description + - type + - amount + - currency + - institution + properties: + transaction_id: + type: string + description: Your unique ID for the income. + example: 3CWE4927CF15355 + account_holder_type: + $ref: '#/components/schemas/EnumIncomeVerificationAccountHolderType' + account_holder_id: + type: string + format: uuid + description: | + Your unique ID for the account holder, in UUID format. + example: a61bc801-9fa5-457b-88ad-850c96eaca30 + account_id: + type: string + description: | + Your unique ID for the account where the transaction occurred. + example: EBACA-89077589 + account_category: + $ref: '#/components/schemas/EnumIncomeVerificationAccountCategory' + value_date: + type: string + format: date + description: > + The date when the income transaction occurred, in `YYYY-MM-DD` + format. + example: '2022-11-18' + description: + type: string + description: | + The description of the income. + example: SALÁRIO MENSAL + type: + $ref: '#/components/schemas/EnumIncomeVerificationType' + amount: + type: number + format: float + description: | + The income amount. + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + type: string + description: | + The three-letter currency code of the income. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + example: BRL + institution: + type: string + description: > + The institution where the account is registered. + + + + **Note:** This is the name that you use in your system to identify + the institution. For example Erebor Retail Brasil Retail. + example: Erebor Retail Brasil + EyodIncomeVerificationRequest: + type: object + required: + - language + - transactions + properties: + language: + type: string + description: | + Two-letter ISO 639-1 code for the language of the transaction. + example: pt + transactions: + type: array + description: > + An array of transaction objects that you want enriched. + + + + **Note:** Each object corresponds to one, unique transaction and you + can send through up to 10,000 transactions per request. + items: + $ref: '#/components/schemas/EyodIncomeVerificationBodyRequest' + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting incomes for, in + `YYYY-MM-DD` format, within the last 365 days. When you use this + parameter, you must also send `date_to`. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2022-08-01' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting incomes for, in `YYYY-MM-DD` + format, within the last 365 days. When you use this parameter, you + must also send `date_from`. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2022-12-30' + allowed_income_types: + type: array + description: The categories of the incomes you want to get information for. + items: + $ref: '#/components/schemas/EnumInvoiceAllowedIncomeTypesRequest' + minimum_confidence_level: + $ref: '#/components/schemas/EnumIncomeMinimumConfidenceLevelRequest' + IncomeEyod: + type: object + description: Income insights + required: + - account_holder_id + - income_streams + - income_source_type + - first_transaction_date + - last_transaction_date + - number_of_income_streams + - monthly_average + - monthly_average_regular + - monthly_average_irregular + - monthly_average_low_confidence + - monthly_average_medium_confidence + - monthly_average_high_confidence + - total_income_amount + - total_regular_income_amount + - total_low_confidence + - total_medium_confidence + - total_high_confidence + properties: + account_holder_id: + type: string + description: >- + The unique `account_holder_id` the account belongs to, as you + provided in the Income Verification request. + example: f4621548-2f9e-440e-9ebd-ae8decac8c02 + income_streams: + type: array + description: An array of enriched income stream objects. + items: + $ref: '#/components/schemas/IncomeStreamsBody' + income_source_type: + $ref: '#/components/schemas/EnumIncomeSourceType' + first_transaction_date: + type: string + nullable: true + format: date + description: > + The date when the first transaction occurred, in `YYYY-MM-DD` + format. + example: '2022-06-09' + last_transaction_date: + type: string + format: date + description: > + The date when when the last transaction occurred, in `YYYY-MM-DD` + format. + example: '2023-02-09' + number_of_income_streams: + type: integer + format: int32 + description: | + Number of total income streams analized. + example: 1 + monthly_average: + type: number + format: float + description: > + Average amount of income received per month across all the accounts + for the specific user. + example: 2500 + monthly_average_regular: + type: number + format: float + description: > + Average amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, or `WEEKLY`) received per month for the specific + user. + example: 2500 + monthly_average_irregular: + type: number + format: float + description: > + Average amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) received per month for the specific user. + example: 0 + monthly_average_low_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `LOW` confidence. + example: 0 + monthly_average_medium_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `MEDIUM` confidence. + example: 0 + monthly_average_high_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `HIGH` confidence. + example: 2500 + total_income_amount: + type: number + format: float + description: | + Total amount of all income received for the specific user. + example: 22500 + total_regular_income_amount: + type: number + format: float + description: > + Total amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, `WEEKLY`) for the specific user. + example: 22500 + total_irregular_income_amount: + type: number + format: float + description: > + Total amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) for the specific user. + example: 0 + total_low_confidence: + type: number + format: float + description: | + Total amount of income for the specific user with `LOW` confidence. + example: 0 + total_medium_confidence: + type: number + format: float + description: > + Total amount of income for the specific user with `MEDIUM` + confidence. + example: 0 + total_high_confidence: + type: number + format: float + description: | + Total amount of income for the specific user with `HIGH` confidence. + example: 22500 + 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 403 access_to_resource_denied. + example: access_to_resource_denied + message: + type: string + description: | + A short description of the error. + + + For `access_to_resource_denied` errors, the description is: + + - `You don't have access to this resource.`. + example: You don't have access to this resource. + 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 + EnumCategorizationAccountHolderType: + type: string + enum: + - INDIVIDUAL + - BUSINESS + description: | + The type of account holder. + + Can be either: + + - `INDIVIDUAL` + - `BUSINESS` + example: INDIVIDUAL + EnumCategorizationAccountCategory: + type: string + enum: + - CHECKING_ACCOUNT + - CREDIT_CARD + - LOAN_ACCOUNT + - SAVINGS_ACCOUNT + description: | + The type of account. + + Can be either: + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `LOAN_ACCOUNT` + - `SAVINGS_ACCOUNT` + example: CREDIT_CARD + EnumCategorizationTransactionType: + type: string + enum: + - INFLOW + - OUTFLOW + description: | + The direction of the transaction. + + Can be either: + + - `INFLOW` indicates a received transaction. + - `OUTFLOW` indicates a sent transaction. + example: OUTFLOW + CategorizationBodyRequest: + type: object + required: + - transaction_id + - account_holder_type + - account_holder_id + - account_id + - account_category + - value_date + - description + - type + - amount + - currency + - institution + properties: + transaction_id: + type: string + description: Your unique ID for the transaction. + example: 3CWE4927CF15355 + account_holder_type: + $ref: '#/components/schemas/EnumCategorizationAccountHolderType' + account_holder_id: + type: string + description: | + Your unique ID for the account holder. + example: '7890098789087' + account_id: + type: string + description: | + Your unique ID for the account where the transaction occurred. + example: EREB-89077589 + account_category: + $ref: '#/components/schemas/EnumCategorizationAccountCategory' + value_date: + type: string + format: date + description: | + The date when the transaction occurred, in `YYYY-MM-DD` format. + example: '2022-11-18' + description: + type: string + description: | + The description of the transaction. + example: APPL3STORE + type: + $ref: '#/components/schemas/EnumCategorizationTransactionType' + amount: + type: number + format: float + description: | + The transaction amount. + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + type: string + description: | + The currency of the account, in ISO-4217 format. For example: + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + example: BRL + institution: + type: string + description: > + The institution where the account is registered. + + + + >**Note:** This is the name that you use in your system to identify + an institution. + example: Erebor Retail Brasil + mcc: + type: integer + nullable: true + format: int32 + description: | + The four-digit ISO 18245 Merchant Category Code (MCC). + example: 2345 + CategorizationRequest: + type: object + required: + - language + - transactions + properties: + language: + type: string + description: | + Two-letter ISO 639-1 code for the language of the transaction. + example: pt + transactions: + type: array + description: > + An array of transaction objects that you want categorized. + + + + **Note:** Each object corresponds to one, unique transaction and you + can send through up to 10,000 transactions per request. + items: + $ref: '#/components/schemas/CategorizationBodyRequest' + EnumCategorizationTransactionCategory: + type: string + nullable: true + enum: + - Bills & Utilities + - Credits & Loans + - Deposits + - Fees & Charges + - Food & Groceries + - Home & Life + - Income & Payments + - Insurance + - Investments & Savings + - Online Platforms & Leisure + - Personal Shopping + - Taxes + - Transfers + - Transport & Travel + - Unknown + - Withdrawal & ATM + - null + description: > + The name of the category to which this transaction belongs. For more + info about this feature, check our [Transaction + categorization](https://developers.belvo.com/docs/banking#categorizing-transactions) + article. + + + We return one of the following enum values: + + - `Bills & Utilities` + - `Credits & Loans` + - `Deposits` + - `Fees & Charges` + - `Food & Groceries` + - `Home & Life` + - `Income & Payments` + - `Insurance` + - `Investments & Savings` + - `Online Platforms & Leisure` + - `Personal Shopping` + - `Taxes` + - `Transfers` + - `Transport & Travel` + - `Unknown` + - `Withdrawal & ATM` + - `null` + example: Income & Payments + EnumCategorizationTransactionSubcategory: + type: string + nullable: true + enum: + - Electricity & Energy + - Rent + - Telecommunications + - Water + - Auto + - Credit Card + - Instalment + - Interest & Charges + - Mortgage + - Pay Advance + - Personal + - Adjustments + - Bank Fees + - Chargeback + - Refund + - Blocked Balances + - Alimony + - Alcohol & Tobacco + - Bakery & Coffee + - Bars & Nightclubs + - Convenience Store + - Delivery + - Groceries + - Restaurants + - Education + - Gyms & Fitness + - Hair & Beauty + - Health + - Home Decor & Appliances + - Laundry & Dry Cleaning + - Pharmacies + - Professional Services + - Veterinary Services + - Freelance + - Interest + - Retirement + - Salary + - Government + - Home Insurance + - Auto Insurance + - Health & Life Insurance + - Savings + - Fixed income + - Equity + - Investment Funds + - Derivatives + - Cryptocurrencies + - Apps, Software and Cloud Services + - Events, Parks and Museums + - Gambling + - Gaming + - Lottery + - Movie & Audio + - Books & News + - Clothing & Accessories + - Department Store + - Electronics + - E-commerce + - Gifts + - Office Supplies + - Pet Supplies + - Auto Tax & Fees + - Donation + - Government Fees + - Income Tax + - Real Estate Tax & Fees + - Tax Return + - Accommodation + - Auto Expenses + - Auto Rental + - Flights + - Gas + - Mileage Programs + - Parking & Tolls + - Public Transit + - Taxis & Rideshares + - Other + - null + description: > + The transactions subcategory. For more info about this feature, check + our [Transaction + categorization](https://developers.belvo.com/docs/banking#categorizing-transactions) + article. + + + + We return one of the following enum values: + + - `Electricity & Energy` + - `Rent` + - `Telecommunications` + - `Water` + - `Auto` + - `Credit Card` + - `Instalment` + - `Interest & Charges` + - `Mortgage` + - `Pay Advance` + - `Personal` + - `Adjustments` + - `Bank Fees` + - `Chargeback` + - `Refund` + - `Blocked Balances` + - `Alimony` + - `Alcohol & Tobacco` + - `Bakery & Coffee` + - `Bars & Nightclubs` + - `Convenience Store` + - `Delivery` + - `Groceries` + - `Restaurants` + - `Education` + - `Gyms & Fitness` + - `Hair & Beauty` + - `Health` + - `Home Decor & Appliances` + - `Laundry & Dry Cleaning` + - `Pharmacies` + - `Professional Services` + - `Veterinary Services` + - `Freelance` + - `Interest` + - `Retirement` + - `Salary` + - `Government` + - `Home Insurance` + - `Auto Insurance` + - `Health & Life Insurance` + - `Savings` + - `Fixed income` + - `Equity` + - `Investment Funds` + - `Derivatives` + - `Cryptocurrencies` + - `Apps, Software and Cloud Services` + - `Events, Parks and Museums` + - `Gambling` + - `Gaming` + - `Lottery` + - `Movie & Audio` + - `Books & News` + - `Clothing & Accessories` + - `Department Store` + - `Electronics` + - `E-commerce` + - `Gifts` + - `Office Supplies` + - `Pet Supplies` + - `Auto Tax & Fees` + - `Donation` + - `Government Fees` + - `Income Tax` + - `Real Estate Tax & Fees` + - `Tax Return` + - `Accommodation` + - `Auto Expenses` + - `Auto Rental` + - `Flights` + - `Gas` + - `Mileage Programs` + - `Parking & Tolls` + - `Public Transit` + - `Taxis & Rideshares` + - `Other` + - `null` + example: Freelance + CategorizationMerchantData: + type: object + nullable: true + description: | + Additional data regarding the merchant involved in the transaction. + properties: + logo: + type: string + nullable: true + description: The URL to the merchant's logo. + example: >- + https://www.apple.com/ac/structured-data/images/open_graph_logo.png?202110180743 + website: + type: string + nullable: true + description: The URL to the merchant's website. + example: https://www.apple.com/br/ + merchant_name: + type: string + description: The name of the merchant. + example: Apple, Inc + CategorizationBody: + type: object + required: + - transaction_id + - account_holder_type + - account_holder_id + - account_id + - account_category + - value_date + - description + - type + - amount + - currency + - institution + - category + - merchant + properties: + transaction_id: + type: string + description: The unique ID for the transaction in your system. + example: 3CWE4927CF15355 + account_holder_type: + $ref: '#/components/schemas/EnumCategorizationAccountHolderType' + account_holder_id: + type: string + description: | + The unique ID for the account holder in your system. + example: '7890098789087' + account_id: + type: string + description: > + The unique ID for the account where the transaction occurred in your + system. + example: EREB-89077589 + account_category: + $ref: '#/components/schemas/EnumCategorizationAccountCategory' + value_date: + type: string + format: date + description: | + The date when the transaction occurred, in `YYYY-MM-DD` format. + example: '2022-11-18' + description: + type: string + description: | + The description of the transaction. + example: APPL3STORE + type: + $ref: '#/components/schemas/EnumCategorizationTransactionType' + amount: + type: number + format: float + description: | + The transaction amount. + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + type: string + description: |- + The currency of the account, in ISO-4217 format. For example: + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + example: BRL + institution: + type: string + description: > + The institution where the account is registered. + + + + >**Note:** This is the name that you use in your system to identify + an institution. + + example: Erebor Brazil + mcc: + type: integer + nullable: true + format: int32 + description: | + The four-digit ISO 18245 Merchant Category Code (MCC). + example: 2345 + category: + $ref: '#/components/schemas/EnumCategorizationTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumCategorizationTransactionSubcategory' + merchant: + $ref: '#/components/schemas/CategorizationMerchantData' + Categorization: + type: object + properties: + transactions: + type: array + description: An array of enriched transaction objects. + items: + $ref: '#/components/schemas/CategorizationBody' + CreditScoreReasonCode: + type: object + description: An array of codes that explain the reason behind the credit score. + properties: + code: + type: string + pattern: '[A-Z][0-9]{2}' + description: | + The reason code for the credit score. + example: C06 + description: + type: string + minLength: 1 + maxLength: 160 + pattern: ^.{1,160}$ + description: | + A description of the reason code. + example: Out of Pattern transaction checking deposit day + CreditScore: + type: object + description: Credit Score response + properties: + id: + type: string + format: uuid + description: | + The unique ID for the credit score analysis. + example: a4e0d6f8-aa0b-45e4-9cd2-38cc741a64ad + user_id: + type: string + description: | + Your unique ID for the user. + example: AGH7890098789087 + created_at: + type: string + format: date-time + description: | + The ISO-8601 timestamp when the credit score analysis was created. + example: '2023-06-01T12:00:00.000Z' + score: + type: integer + format: int32 + description: | + The credit score of the user. + example: 400 + date_to: + type: string + format: date + description: > + The date that the credit score analysis ends, in `YYYY-MM-DD` + format. + example: '2023-06-01' + reason_codes: + type: array + minItems: 1 + description: An array of codes that explain the reason behind the credit score. + items: + $ref: '#/components/schemas/CreditScoreReasonCode' + CreditScorePaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of credit score objects. + items: + $ref: '#/components/schemas/CreditScore' + CreditScoreRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date until when you want to calculate the credit score for, in + `YYYY-MM-DD` format. + + + If not provided, we calculate the credit score using from the time + of the request and use up to 365 days of data (if available). + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2023-02-28' + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + EnumRiskInsightTransactionType: + type: string + nullable: true + enum: + - INFLOW + - OUTFLOW + description: | + The direction of the transaction: + + - `INFLOW` indicates money coming into the account. + - `OUTFLOW` indicates money leaving the account. + example: INFLOW + EyodCreditScoreTransactionBody: + type: object + description: | + The EYOD Risk Insight transaction object + required: + - transaction_id + - account_id + - value_date + - type + - amount + - currency + - description + properties: + transaction_id: + type: string + description: Your unique ID for the transaction. + example: 3CWE4927CF15355 + account_id: + type: string + description: > + Your unique ID for the account where the transaction occurred. + + + **Note:** You must provide the details of this account in the + `accounts` array of the Risk Insights request. Otherwise, we return + an error. + example: AGH7890098789087-Checking-Erebor + value_date: + type: string + format: date + description: > + The date when the transaction occurred, in `YYYY-MM-DD` format. + + + **Note:** Transactions that occur after the `reference_date` are not + considered in the risk insight analysis. + example: '2023-05-18' + type: + $ref: '#/components/schemas/EnumRiskInsightTransactionType' + amount: + type: number + format: float + description: | + The transaction amount. + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + type: string + description: > + The three-letter currency code of the transaction. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + **Note:** Ensure that the currency of the transaction and the + account associated with it are the same. For example, if the + currency of the account is `MXN`, then all the transactions + associated with that account should also be in `MXN`. + + example: BRL + description: + type: string + maxLength: 500 + description: | + The description of the transaction. + example: Pagamento Netflix Maio 2023 + EyodCreditScoreAccountBody: + type: object + description: | + EYOD Risk Insight account object. + required: + - id + - category + - balance + - balance_date + - currency + properties: + id: + type: string + description: | + Your unique ID for the user's account. + example: AGH7890098789087-Checking-Erebor + category: + type: string + enum: + - CHECKING_ACCOUNT + - CREDIT_CARD + - LOAN_ACCOUNT + - SAVINGS_ACCOUNT + description: | + The category of the bank account. Can be either: + + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `LOAN_ACCOUNT` + - `SAVINGS_ACCOUNT` + example: CHECKING_ACCOUNT + balance: + type: number + format: float + description: The balance of the account. + example: 12540.67 + balance_date: + type: string + format: date + description: > + The date that the `balance` amount was retrieved, in `YYYY-MM-DD` + format. + + + **Note:** For each account you wish to have analyzed, try to provide + the same date when the balance was available. + example: '2023-06-01' + currency: + type: string + description: > + The three-letter currency code of the `balance`. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + **Note:** Ensure that the currency of the account and the + transactions associated with it are the same. For example, if the + currency of the account is `MXN`, then all the transactions + associated with that account should also be in `MXN`. + + example: BRL + EyodCreditScoreRequest: + type: object + description: > + EYOD Credit Score request object. + + + **Note:** You can only send through information for **one** user at a + time. + required: + - user_id + - date_to + - language + - transactions + - accounts + properties: + user_id: + type: string + description: | + Your unique ID for the user. + example: AGH7890098789087 + date_to: + type: string + format: date + description: > + The date from which you want Belvo to start performing the credit + score analysis, in `YYYY-MM-DD` format. If you do not specify a + `date_to`, we use the current date at the time of your request. + + + > **Note:** + + > + + > We recommend you use `date_to` if you do not have an account + balance for the past few days. + + > + + > For example, if the last account balance date that you have a + value for was last week, set the `date_to` parameter to that date. + The credit score that you receive will be **relative** to the + `date_to` parameter. + example: '2023-06-01' + language: + type: string + description: > + The two-letter ISO 639-1 code for the language of the transaction. + For example: + + - `pt` for Portugese + + > **Note**: At present, we only support `pt` for Portuguese. + example: pt + transactions: + type: array + maxItems: 10000 + description: > + An array of transaction objects that you want analyzed for the + credit score analysis. + + + + **Note:** Each object corresponds to one unique transaction and you + can send through up to 10,000 transactions per request. + items: + $ref: '#/components/schemas/EyodCreditScoreTransactionBody' + accounts: + type: array + description: > + An array of account objects that the transactions are associated + with. + + + + Each transaction you provide in the `transactions` array must have + an associated account. If you provide transactions without an + associated account, we return an error. + + + **Note:** Each object corresponds to one unique account. + items: + $ref: '#/components/schemas/EyodCreditScoreAccountBody' + examples: + AccountsBankingChecking: + summary: Checking Account + description: Example of a checking account. + value: + - id: c21f3914-bcbe-44c4-a2e8-a5e33f6888d4 + link: 57f212dc-1ba4-407f-b7f0-15a5e5ff17ae + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CHECKING_ACCOUNT + balance_type: ASSET + type: Cuentas de efectivo + name: Cuenta Perfiles- M.N.- - ERB-237 + number: '2180700688677950' + balance: + available: 4523.48 + current: 4523.48 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: CLABE + public_identification_value: '2180700008677950' + last_accessed_at: '2022-02-01T20:25:47.307911Z' + credit_data: null + loan_data: null + funds_data: null + AccountsBankingCreditCard: + summary: Credit Card Account + description: Example of a credit card account. + value: + - id: 0f82c5db-13a2-43c7-a69a-e036160aba3a + link: 57f212dc-1ba4-407f-b7f0-15a5e5ff17ae + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + balance_type: LIABILITY + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + available: 1550.15 + current: 4049.85 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2022-02-01T20:25:47.307911Z' + credit_data: + collected_at: '2022-02-09T08:45:50.406032Z' + credit_limit: 15600 + cutting_date: '2021-04-11' + next_payment_date: '2021-03-31' + minimum_payment: 690 + no_interest_payment: 11550.15 + interest_rate: 4 + monthly_payment: null + last_payment_date: null + loan_data: null + funds_data: null + AccountsBankingLoan: + summary: Loan Account + description: Example of a loan account. + value: + - id: 0f82c5db-13a2-43c7-a69a-e036160aba3a + link: 57f212dc-1ba4-407f-b7f0-15a5e5ff17ae + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: LOAN_ACCOUNT + balance_type: LIABILITY + type: Créditos + name: Cuenta nómina + number: '72964044' + balance: + available: 34708.36 + current: 34708.36 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: ACCOUNT_NUMBER + public_identification_value: '217035843284091420' + last_accessed_at: '2022-02-01T20:25:47.307911Z' + credit_data: null + loan_data: + collected_at: '2022-02-09T08:45:50.406032Z' + loan_type: SFH + contract_amount: 202000 + principal: 192000 + outstanding_principal: 142000 + outstanding_balance: 164000 + payment_day: '17' + interest_rates: + - name: jurosEfetivo + type: MONTHLY + value: 7.85 + fees: + - type: OPERATION_FEE + value: 5.6 + monthly_payment: 1000 + number_of_installments_total: 50 + number_of_installments_outstanding: 41 + contract_start_date: '2018-01-01' + contract_end_date: '2027-10-01' + contract_number: ER8072930097 + funds_data: null + AccountsBankingPension: + summary: Pension Account + description: Example of a pension account. + value: + - id: 3d5b0f90-90df-455d-a647-5b74feb746f6 + link: fbbb5ea7-4605-437f-b5c5-667fd037a303 + institution: + name: erebor_br_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: PENSION_FUND_ACCOUNT + balance_type: ASSET + type: Contas + name: Conta corrente + number: '37903487' + balance: + available: 26305.33 + current: 26305.33 + currency: BRL + bank_product_id: null + internal_identification: null + public_identification_name: PENSION_PLAN_ID + public_identification_value: '626249048387247512' + last_accessed_at: '2021-03-09T08:19:05.000Z' + credit_data: null + loan_data: null + funds_data: + - collected_at: '2022-02-09T08:45:50.406032Z' + name: CICLO DE VIDA 2040 I + type: PGBL + balance: 94793 + percentage: 9 + public_identifications: + - name: CNPJ + value: 11.233.333/4424-01 + - name: SUSEP + value: 13311.2333222/3333-44 + - collected_at: '2022-02-09T08:45:50.406032Z' + name: CICLO DE VIDA 2020 I + type: PGBL + balance: 50834 + percentage: 91 + public_identifications: + - name: CNPJ + value: 11.222.333/4444-02 + - name: SUSEP + value: 11111.222222/3333-44 + AccountsBankingSavings: + summary: Savings Account + description: Example of a savings account. + value: + - id: 3d5b0f90-90df-455d-a647-5b74feb746f6 + link: fbbb5ea7-4605-437f-b5c5-667fd037a303 + institution: + name: erebor_co_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: SAVINGS_ACCOUNT + balance_type: ASSET + type: Cuenta de Ahorro + name: Cuenta de Ahorro + number: '13166008' + balance: + available: 4978436.05 + current: 4978436.05 + currency: COP + bank_product_id: null + internal_identification: null + public_identification_name: ACCOUNT_NUMBER + public_identification_value: '260825906' + last_accessed_at: '2021-03-09T10:28:40.000Z' + credit_data: null + loan_data: null + funds_data: null + AccountsOfdaChecking: + summary: Checking OFDA Brazil + description: Example of an checking account (OFDA Brazil). + value: + - id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CHECKING_ACCOUNT + balance_type: ASSET + overdraft: + used: 10000.99 + arranged: 99.99 + unarranged: 99.99 + type: CONTA_DEPOSITO_A_VISTA + subtype: INDIVIDUAL + name: null + number: '11188222' + agency: '6272' + check_digit: '4' + balance: + current: 999.99 + available: 15000 + blocked: 41233.07 + automatically_invested: 15000 + currency: BRL + public_identification_name: AGENCY/NUMBER + public_identification_value: 6272/11188222 + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: null + funds_data: null + AccountsOfdaCreditCard: + summary: Credit Card OFDA Brazil + description: Example of an credit card account (OFDA Brazil). + value: + - id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CREDIT_CARD + balance_type: LIABILITY + overdraft: null + type: GRAFITE + subtype: Dinners Elo Grafite + name: Dinners Grafite + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 60.32 + automatically_invested: 131.5 + currency: BRL + public_identification_name: CREDIT_CARD_NUMBER + public_identification_value: '8921' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: + cards: + - is_multiple: false + identification_number: '8921' + limits: + - type: LIMITE_CREDITO_TOTAL + line_name: CREDITO_A_VISTA + card_number: '8921' + used_amount: 7500.05 + credit_limit: 23000.98 + available_amount: 15500.93 + is_limit_flexible: true + consolidation_type: CONSOLIDADO + line_name_additional_info: NA + network: DINERS_CLUB + collected_at: '2023-07-24T00:46:24.431038Z' + credit_limit: 23000.98 + cutting_date: null + interest_rate: null + minimum_payment: 0 + monthly_payment: null + last_payment_date: null + next_payment_date: null + last_period_balance: null + no_interest_payment: null + network_additional_info: null + loan_data: null + funds_data: null + AccountsOfdaLoanData: + summary: Loan OFDA Brazil + description: Example of an loan account (OFDA Brazil). + value: + - id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: LOAN_ACCOUNT + balance_type: LIABILITY + overdraft: null + type: EMPRESTIMOS + subtype: CREDITO_PESSOAL_SEM_CONSIGNACAO + name: Aquisição de equipamentos + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 0 + automatically_invested: 0 + currency: BRL + public_identification_name: NUMBER + public_identification_value: '90847453264' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: + fees: + - code: ADMNISTRACAO + name: Taxa de administracao + rate: 0 + type: null + value: 200.5 + fee_charge: FIXED + fee_charge_type: SINGLE + loan_code: '01181521040211011740907325668478542336597' + loan_type: CREDITO_PESSOAL_SEM_CONSIGNACAO + principal: null + limit_date: null + collaterals: + - type: CESSAO_DIREITOS_CREDITORIOS + amount: 15000.31 + subtype: ACOES_DEBENTURES + currency: BRL + cutting_day: null + payment_day: null + collected_at: '2023-07-24T00:46:44.756806Z' + consignee_id: '13832718000196' + credit_limit: null + cutting_date: null + interest_rate: null + interest_rates: + - name: NOMINAL + type: YEARLY + value: 0.015 + interest_rate_data: + type: AA + tax_type: NOMINAL_TAX + rate_type: SIMPLE_RATE + pre_fixed_rate: 0.015 + additional_info: NA + post_fixed_rate: 0 + calculation_base: 21/252 + reference_index_info: null + reference_index_type: PRE_FIXED + reference_index_subtype: PRE_FIXADO + contract_amount: 12070.6 + contract_number: '90847453264' + monthly_payment: null + payment_due_day: null + settlement_date: '2021-06-21' + balloon_payments: + - amount: 0 + currency: BRL + due_date: '2020-01-10' + contract_end_date: '2023-01-08' + last_payment_date: null + next_payment_date: null + contracted_charges: + - info: NA + rate: 0.06 + type: LATE_PAYMENT_PENALTY_FEE + disbursement_dates: + - '2022-01-08' + contract_start_date: '2022-01-08' + last_period_balance: null + no_interest_payment: null + outstanding_balance: 14402.379 + total_effective_cost: 0.015 + amortization_schedule: PRICE + installment_frequency: OTHER + outstanding_principal: null + contract_remaining_total: 727 + amortization_schedule_info: NA + first_installment_due_date: '2022-01-08' + installment_frequency_info: DIA + number_of_installments_paid: 3 + contract_remaining_frequency: DAY + number_of_installments_total: 730 + number_of_installments_past_due: 1 + number_of_installments_outstanding: 727 + installments_contract_term_frequency: DAY + funds_data: null + AccountsOfdaCheckingDetail: + summary: Checking OFDA Brazil + description: Example of an checking account (OFDA Brazil). + value: + id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CHECKING_ACCOUNT + balance_type: ASSET + overdraft: + used: 10000.99 + arranged: 99.99 + unarranged: 99.99 + type: CONTA_DEPOSITO_A_VISTA + subtype: INDIVIDUAL + name: null + number: '11188222' + agency: '6272' + check_digit: '4' + balance: + current: 999.99 + available: 15000 + blocked: 41233.07 + automatically_invested: 15000 + currency: BRL + public_identification_name: AGENCY/NUMBER + public_identification_value: 6272/11188222 + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: null + funds_data: null + AccountsOfdaCreditCardDetail: + summary: Credit Card OFDA Brazil + description: Example of an credit card account (OFDA Brazil). + value: + id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CREDIT_CARD + balance_type: LIABILITY + overdraft: null + type: GRAFITE + subtype: Dinners Elo Grafite + name: Dinners Grafite + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 60.32 + automatically_invested: 131.5 + currency: BRL + public_identification_name: CREDIT_CARD_NUMBER + public_identification_value: '8921' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: + cards: + - is_multiple: false + identification_number: '8921' + limits: + - type: LIMITE_CREDITO_TOTAL + line_name: CREDITO_A_VISTA + card_number: '8921' + used_amount: 7500.05 + credit_limit: 23000.98 + available_amount: 15500.93 + is_limit_flexible: true + consolidation_type: CONSOLIDADO + line_name_additional_info: NA + network: DINERS_CLUB + collected_at: '2023-07-24T00:46:24.431038Z' + credit_limit: 23000.98 + cutting_date: null + interest_rate: null + minimum_payment: 0 + monthly_payment: null + last_payment_date: null + next_payment_date: null + last_period_balance: null + no_interest_payment: null + network_additional_info: null + loan_data: null + funds_data: null + AccountsOfdaLoanDataDetail: + summary: Loan OFDA Brazil + description: Example of an loan account (OFDA Brazil). + value: + id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: LOAN_ACCOUNT + balance_type: LIABILITY + overdraft: null + type: EMPRESTIMOS + subtype: CREDITO_PESSOAL_SEM_CONSIGNACAO + name: Aquisição de equipamentos + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 0 + automatically_invested: 0 + currency: BRL + public_identification_name: NUMBER + public_identification_value: '90847453264' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: + fees: + - code: ADMNISTRACAO + name: Taxa de administracao + rate: 0 + type: null + value: 200.5 + fee_charge: FIXED + fee_charge_type: SINGLE + loan_code: '01181521040211011740907325668478542336597' + loan_type: CREDITO_PESSOAL_SEM_CONSIGNACAO + principal: null + limit_date: null + collaterals: + - type: CESSAO_DIREITOS_CREDITORIOS + amount: 15000.31 + subtype: ACOES_DEBENTURES + currency: BRL + cutting_day: null + payment_day: null + collected_at: '2023-07-24T00:46:44.756806Z' + consignee_id: '13832718000196' + credit_limit: null + cutting_date: null + interest_rate: null + interest_rates: + - name: NOMINAL + type: YEARLY + value: 0.015 + interest_rate_data: + type: AA + tax_type: NOMINAL_TAX + rate_type: SIMPLE_RATE + pre_fixed_rate: 0.015 + additional_info: NA + post_fixed_rate: 0 + calculation_base: 21/252 + reference_index_info: null + reference_index_type: PRE_FIXED + reference_index_subtype: PRE_FIXADO + contract_amount: 12070.6 + contract_number: '90847453264' + monthly_payment: null + payment_due_day: null + settlement_date: '2021-06-21' + balloon_payments: + - amount: 0 + currency: BRL + due_date: '2020-01-10' + contract_end_date: '2023-01-08' + last_payment_date: null + next_payment_date: null + contracted_charges: + - info: NA + rate: 0.06 + type: LATE_PAYMENT_PENALTY_FEE + disbursement_dates: + - '2022-01-08' + contract_start_date: '2022-01-08' + last_period_balance: null + no_interest_payment: null + outstanding_balance: 14402.379 + total_effective_cost: 0.015 + amortization_schedule: PRICE + installment_frequency: OTHER + outstanding_principal: null + contract_remaining_total: 727 + amortization_schedule_info: NA + first_installment_due_date: '2022-01-08' + installment_frequency_info: DIA + number_of_installments_paid: 3 + contract_remaining_frequency: DAY + number_of_installments_total: 730 + number_of_installments_past_due: 1 + number_of_installments_outstanding: 727 + installments_contract_term_frequency: DAY + funds_data: null + TransactionsCheckingPaginated: + summary: Checking Account Transaction + description: An example of a checking account transaction + value: + count: 198 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: CUENTA NARANJA LITE + + number: '996685090015' + type: CUENTA NARANJA LITE + + category: CHECKING_ACCOUNT + bank_product_id: '46' + public_identification_name: CLABE + public_identification_value: '058597000010485108' + currency: MXN + balance: + current: 0 + available: 0 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 932.5 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: '085904452810319225' + value_date: '2022-07-11' + description: Transferencia interbancaria + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: LCzHexIyHi + TransactionsSavingsPaginated: + summary: Savings Account Transaction + description: An example of a savings account transaction + value: + count: 198 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: Mi ahorro Erebor + number: '997468860036' + type: null + category: SAVINGS_ACCOUNT + bank_product_id: null + public_identification_name: CLABE + public_identification_value: '058597000011543422' + currency: MXN + balance: + current: 4.09 + available: 4.09 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 4.09 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: null + value_date: '2022-07-11' + description: Interes + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: '0089608418' + TransactionsCreditCardPaginated: + summary: Credit Card Transaction + description: An example of a credit card transaction + value: + count: 198 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + current: 5874.13 + available: 5621.12 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2021-03-09T10:28:40.000Z' + balance_type: LIABILITY + credit_data: + credit_limit: 192000 + collected_at: '2022-02-09T08:45:50.406032Z' + cutting_date: '2019-12-11' + next_payment_date: '2019-12-01' + minimum_payment: 2400 + no_interest_payment: 37390.83 + monthly_payment: null + end_date: null + last_payment_date: null + interest_rate: 4 + loan_data: null + funds_data: null + collected_at: '2022-02-09T08:45:50.406032Z' + value_date: '2019-10-23' + accounting_date: '2019-10-23T13:01:41.941Z' + amount: 2145.45 + balance: 16907.96 + currency: MXN + description: SEVEN BUDDHAS RFC:XXXXXXXXXX + observations: OPTIONAL OBSERVATIONS + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + reference: '8703' + type: OUTFLOW + status: PROCESSED + credit_card_data: + bill_name: apr-2020 + previous_bill_total: '2000.00' + collected_at: '2022-02-09T08:45:50.406032Z' + TransactionsChecking: + summary: Checking Account Transaction + description: An example of a checking account transaction + value: + - id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: CUENTA NARANJA LITE + + number: '996685090015' + type: CUENTA NARANJA LITE + + category: CHECKING_ACCOUNT + bank_product_id: '46' + public_identification_name: CLABE + public_identification_value: '058597000010485108' + currency: MXN + balance: + current: 0 + available: 0 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 932.5 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: '085904452810319225' + value_date: '2022-07-11' + description: Transferencia interbancaria + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: LCzHexIyHi + TransactionsSavings: + summary: Savings Account Transaction + description: An example of a savings account transaction + value: + - id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: Mi ahorro Erebor + number: '997468860036' + type: null + category: SAVINGS_ACCOUNT + bank_product_id: null + public_identification_name: CLABE + public_identification_value: '058597000011543422' + currency: MXN + balance: + current: 4.09 + available: 4.09 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 4.09 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: null + value_date: '2022-07-11' + description: Interes + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: '0089608418' + TransactionsCreditCard: + summary: Credit Card Transaction + description: An example of a credit card transaction + value: + - id: 9e432f18-36ca-4bd6-a3f3-1971e58dc1e8 + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + current: 5874.13 + available: 5621.12 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2021-03-09T10:28:40.000Z' + balance_type: LIABILITY + credit_data: + credit_limit: 192000 + collected_at: '2022-02-09T08:45:50.406032Z' + cutting_date: '2019-12-11' + next_payment_date: '2019-12-01' + minimum_payment: 2400 + no_interest_payment: 37390.83 + monthly_payment: null + end_date: null + last_payment_date: null + interest_rate: 4 + loan_data: null + funds_data: null + collected_at: '2022-02-09T08:45:50.406032Z' + value_date: '2019-10-23' + accounting_date: '2019-10-23T13:01:41.941Z' + amount: 2145.45 + balance: 16907.96 + currency: MXN + description: SEVEN BUDDHAS RFC:XXXXXXXXXX + observations: OPTIONAL OBSERVATIONS + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + reference: '8703' + type: OUTFLOW + status: PROCESSED + credit_card_data: + bill_name: apr-2020 + previous_bill_total: '2000.00' + collected_at: '2022-02-09T08:45:50.406032Z' + TransactionsCheckingOfda: + summary: Transaction OFDA Brazil (Checking) + description: Example of an checking account transaction (OFDA Brazil). + value: + - id: 2ccf4372-a091-403e-bc00-3afeec91419b + account: + id: 73f52d7c-49ea-4903-8e91-764eb05c4f8c + link: a288f663-92dd-4a57-8a36-a00c192822dd + institution: + name: oferebor_br_retail + type: bank + created_at: '2023-11-07T13:13:10.781520Z' + collected_at: '2023-11-07T13:13:07.707609Z' + internal_identification: 6C9b3e7f09d8a411e982fbb2e6f5a3d77acbf15e8b9473629d9f78 + category: CHECKING_ACCOUNT + bank_product_id: null + balance_type: ASSET + credit_data: null + loan_data: null + balance: + current: 360 + available: 360 + automatically_invested: 360 + name: null + number: '09009570' + agency: '7632' + type: CONTA_DEPOSITO_A_VISTA + currency: BRL + last_accessed_at: null + public_identification_name: AGENCY/NUMBER + public_identification_value: 7632/09009570 + subtype: INDIVIDUAL + check_digit: '9' + overdraft: + arranged: '0.0000' + used: '0.0000' + unarranged: '0.0000' + created_at: '2023-11-01T16:16:37.910619Z' + category: null + subcategory: null + merchant: null + mcc: null + type: OUTFLOW + amount: 100 + status: PROCESSED + balance: null + currency: BRL + reference: null + value_date: '2023-09-21' + transacted_at: '2023-09-21T12:29:03.374Z' + description: PIX EMITIDO OUTRA IF + collected_at: '2023-11-07T13:13:10.350717Z' + counterparty: + document_number: '32187940563' + type: INDIVIDUAL + clearing_code: '160' + agency: '3201' + number: '73916428' + check_digit: '4' + observations: null + payment_type: null + operation_type: OUTROS + operation_type_additional_info: null + accounting_date: '2023-09-21' + credit_card_data: null + local_currency_amount: null + internal_identification: 15a1498f-392e-4cb7-9f63-0e06ac827794 + TransactionsCheckingDetail: + summary: Checking Account Transaction + description: An example of a checking account transaction + value: + id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: CUENTA NARANJA LITE + + number: '996685090015' + type: CUENTA NARANJA LITE + + category: CHECKING_ACCOUNT + bank_product_id: '46' + public_identification_name: CLABE + public_identification_value: '058597000010485108' + currency: MXN + balance: + current: 0 + available: 0 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 932.5 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: '085904452810319225' + value_date: '2022-07-11' + description: Transferencia interbancaria + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: LCzHexIyHi + TransactionsSavingsDetail: + summary: Savings Account Transaction + description: An example of a savings account transaction + value: + id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: Mi ahorro Erebor + number: '997468860036' + type: null + category: SAVINGS_ACCOUNT + bank_product_id: null + public_identification_name: CLABE + public_identification_value: '058597000011543422' + currency: MXN + balance: + current: 4.09 + available: 4.09 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 4.09 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: null + value_date: '2022-07-11' + description: Interes + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: '0089608418' + TransactionsCreditCardDetail: + summary: Credit Card Transaction + description: An example of a credit card transaction + value: + id: 9e432f18-36ca-4bd6-a3f3-1971e58dc1e8 + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + current: 5874.13 + available: 5621.12 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2021-03-09T10:28:40.000Z' + balance_type: LIABILITY + credit_data: + credit_limit: 192000 + collected_at: '2022-02-09T08:45:50.406032Z' + cutting_date: '2019-12-11' + next_payment_date: '2019-12-01' + minimum_payment: 2400 + no_interest_payment: 37390.83 + monthly_payment: null + end_date: null + last_payment_date: null + interest_rate: 4 + loan_data: null + funds_data: null + collected_at: '2022-02-09T08:45:50.406032Z' + value_date: '2019-10-23' + accounting_date: '2019-10-23T13:01:41.941Z' + amount: 2145.45 + balance: 16907.96 + currency: MXN + description: SEVEN BUDDHAS RFC:XXXXXXXXXX + observations: OPTIONAL OBSERVATIONS + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + category: Income & Payments + subcategory: Freelance + reference: '8703' + type: OUTFLOW + status: PROCESSED + credit_card_data: + bill_name: apr-2020 + previous_bill_total: '2000.00' + collected_at: '2022-02-09T08:45:50.406032Z' + TransactionsCheckingOfdaDetail: + summary: Transaction OFDA Brazil (Checking) + description: Example of an checking account transaction (OFDA Brazil). + value: + id: 2ccf4372-a091-403e-bc00-3afeec91419b + account: + id: 73f52d7c-49ea-4903-8e91-764eb05c4f8c + link: a288f663-92dd-4a57-8a36-a00c192822dd + institution: + name: oferebor_br_retail + type: bank + created_at: '2023-11-07T13:13:10.781520Z' + collected_at: '2023-11-07T13:13:07.707609Z' + internal_identification: 6C9b3e7f09d8a411e982fbb2e6f5a3d77acbf15e8b9473629d9f78 + category: CHECKING_ACCOUNT + bank_product_id: null + balance_type: ASSET + credit_data: null + loan_data: null + balance: + current: 360 + available: 360 + automatically_invested: 360 + name: null + number: '09009570' + agency: '7632' + type: CONTA_DEPOSITO_A_VISTA + currency: BRL + last_accessed_at: null + public_identification_name: AGENCY/NUMBER + public_identification_value: 7632/09009570 + subtype: INDIVIDUAL + check_digit: '9' + overdraft: + arranged: '0.0000' + used: '0.0000' + unarranged: '0.0000' + created_at: '2023-11-01T16:16:37.910619Z' + category: null + subcategory: null + merchant: null + mcc: null + type: OUTFLOW + amount: 100 + status: PROCESSED + balance: null + currency: BRL + reference: null + value_date: '2023-09-21' + description: PIX EMITIDO OUTRA IF + collected_at: '2023-11-07T13:13:10.350717Z' + counterparty: + document_number: '32187940563' + type: INDIVIDUAL + clearing_code: '160' + agency: '3201' + number: '73916428' + check_digit: '4' + observations: null + payment_type: null + operation_type: OUTROS + operation_type_additional_info: null + accounting_date: '2023-09-21' + credit_card_data: null + local_currency_amount: null + internal_identification: 15a1498f-392e-4cb7-9f63-0e06ac827794 + BalancesExamplePaginated: + summary: Balance Example (Checking Account) + description: Example of a balance paginated response. + value: + count: 385 + next: https://sandbox.belvo.com/api/balances/?page=2 + previous: null + results: + - id: b834e69b-1aa4-465d-969c-07c886a4fbed + account: + id: 26428311-7108-40b8-a22b-c310187dd005 + link: b834e69b-1aa4-465d-969c-07c886a4fbed + institution: + name: erebor_br_retail + type: bank + created_at: '2021-10-27T16:18:15.591647Z' + name: Erebor Gold + type: null + number: 7889044-1 + balance: + current: 146.81 + available: 146.81 + category: CHECKING_ACCOUNT + currency: BRL + loan_data: null + credit_data: null + balance_type: ASSET + collected_at: '2022-06-17T03:20:41.300075Z' + bank_product_id: null + last_accessed_at: null + internal_identification: 9fa5fab9-e2b7-4bd7-8413-71ed9bb94b4c + public_identification_name: AGENCY/ACCOUNT + public_identification_value: 0009/7889044-1 + collected_at: '2022-04-06T23:30:51.282174+00:00' + statement: null + value_date: '2022-04-04' + current_balance: 4.25 + balance: 4.25 + BalancesExample: + summary: Balance Example (Checking Account) + description: Example of a balance response. + value: + - id: b834e69b-1aa4-465d-969c-07c886a4fbed + account: + id: 26428311-7108-40b8-a22b-c310187dd005 + link: b834e69b-1aa4-465d-969c-07c886a4fbed + institution: + name: erebor_br_retail + type: bank + created_at: '2021-10-27T16:18:15.591647Z' + name: Erebor Gold + type: null + number: 7889044-1 + balance: + current: 146.81 + available: 146.81 + category: CHECKING_ACCOUNT + currency: BRL + loan_data: null + credit_data: null + balance_type: ASSET + collected_at: '2022-06-17T03:20:41.300075Z' + bank_product_id: null + last_accessed_at: null + internal_identification: 9fa5fab9-e2b7-4bd7-8413-71ed9bb94b4c + public_identification_name: AGENCY/ACCOUNT + public_identification_value: 0009/7889044-1 + collected_at: '2022-04-06T23:30:51.282174+00:00' + statement: null + value_date: '2022-04-04' + current_balance: 4.25 + balance: 4.25 + BalancesExampleDetail: + summary: Balance Example (Checking Account) + description: Example of a balance response. + value: + id: b834e69b-1aa4-465d-969c-07c886a4fbed + account: + id: 26428311-7108-40b8-a22b-c310187dd005 + link: b834e69b-1aa4-465d-969c-07c886a4fbed + institution: + name: erebor_br_retail + type: bank + created_at: '2021-10-27T16:18:15.591647Z' + name: Erebor Gold + type: null + number: 7889044-1 + balance: + current: 146.81 + available: 146.81 + category: CHECKING_ACCOUNT + currency: BRL + loan_data: null + credit_data: null + balance_type: ASSET + collected_at: '2022-06-17T03:20:41.300075Z' + bank_product_id: null + last_accessed_at: null + internal_identification: 9fa5fab9-e2b7-4bd7-8413-71ed9bb94b4c + public_identification_name: AGENCY/ACCOUNT + public_identification_value: 0009/7889044-1 + collected_at: '2022-04-06T23:30:51.282174+00:00' + statement: null + value_date: '2022-04-04' + current_balance: 4.25 + balance: 4.25 + OwnerBankingAccountPaginated: + summary: Banking + description: An example of a banking account owner. + value: + count: 108 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: b617120c-fbd0-4296-b03c-6473bbbeeee6 + link: c38fb126-fc98-4d6c-8c80-587a97dd56cf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + display_name: Maria Martinez Martin + first_name: null + last_name: null + second_last_name: null + email: maria@acme.com + phone_number: '90090508357' + address: |- + Retorno Gran Canaria 453 723 + Cancun, COL 10447 + document_id: + document_type: CPF + document_number: 235578435-S + internal_identification: null + OwnerBankingAccount: + summary: Banking + description: An example of a banking account owner. + value: + - id: 2b22f123-7c3a-4518-9ac2-863eb5d4613c + link: c38fb126-fc98-4d6c-8c80-587a97dd56cf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + display_name: Maria Martinez Martin + first_name: null + last_name: null + second_last_name: null + email: maria@acme.com + phone_number: '90090508357' + address: |- + Retorno Gran Canaria 453 723 + Cancun, COL 10447 + document_id: + document_type: CPF + document_number: 235578435-S + internal_identification: null + OwnerOfdaIndividual: + summary: Individual OFDA Brazil + description: Example of an individual (OFDA Brazil). + value: + - id: c749315b-eec2-435d-a458-06912878564f + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + display_name: Jack Oswald White + social_name: O Piadista + birth_date: '1988-07-15' + marital_status: SINGLE + marital_status_additional_info: It's complicated + gender: MALE + companies_id: + - '01773247000103' + is_local_resident: true + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: DRIVERS_LICENCE + type_additional_info: Learner's licence + number: DL-7896829-7 + check_digit: '7' + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + nationalities: + - info: CAN + documents: + - type: DRIVERS_LICENCE + number: DL-7896829-7 + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + filiations: + - type: MOTHER + civil_name: Bruce Wayne + social_name: The Dark Knight + financial_profile: + company_id: '50685362000135' + occuptation_code: BRAZIL_OCCUPATION_CODE + occupation_description: '01' + informed_income: + frequency: MONTHLY + amount: 45391.89 + currency: BRL + date: '2020-03-19' + patrimony: + amount: 45391.89 + currency: BRL + year: 2020 + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + product_services_additional_info: Joint account with Robin + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + OwnerOfdaBusiness: + summary: Business OFDA Brazil + description: Example of a business (OFDA Brazil). + value: + - id: c749315b-eec2-435d-a458-06912878564f + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + company_name: Wayne Enterprises + trade_name: WayneCorp + incorporation_date: '1988-07-15' + companies_id: + - '01773247000103' + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: EIN + number: DL-7896829-7 + expiration_date: '2019-01-01' + country_of_issuance: CAN + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + parties: + - person_type: INDIVIDUAL + type: MEMBER + display_name: Jack Oswald White + social_name: O Piadista + company_name: Wayne Enterprises + trade_name: WayneCorp + start_date: '2021-07-15' + percentage_type: 0.51 + document_type: CPF + document_number: DL-7896829-7 + document_issue_date: '2019-01-01' + document_expiration_date: '2019-01-01' + document_country: CAN + document_additional_info: Confirmed CPF with their driver's licence. + financial_profile: + economic_activities: + - is_main: true + code: '8599604' + informed_revenue: + frequency: MONTHLY + frequency_additional_info: Recently switched from weekly to monthly. + amount: 45391.89 + currency: BRL + year: 2022 + patrimony: + amount: 45391.89 + currency: BRL + date: '2022-12-12' + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + OwnerBankingAccountDetail: + summary: Banking + description: An example of a banking account owner. + value: + id: 2b22f123-7c3a-4518-9ac2-863eb5d4613c + link: c38fb126-fc98-4d6c-8c80-587a97dd56cf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + display_name: Maria Martinez Martin + first_name: null + last_name: null + second_last_name: null + email: maria@acme.com + phone_number: '90090508357' + address: |- + Retorno Gran Canaria 453 723 + Cancun, COL 10447 + document_id: + document_type: CPF + document_number: 235578435-S + internal_identification: null + OwnerOfdaIndividuaDetail: + summary: Individual OFDA Brazil + description: Example of an individual (OFDA Brazil). + value: + id: c749315b-eec2-435d-a458-06912878564f + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + display_name: Jack Oswald White + social_name: O Piadista + birth_date: '1988-07-15' + marital_status: SINGLE + marital_status_additional_info: It's complicated + gender: MALE + companies_id: + - '01773247000103' + is_local_resident: true + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: DRIVERS_LICENCE + type_additional_info: Learner's licence + number: DL-7896829-7 + check_digit: '7' + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + nationalities: + - info: CAN + documents: + - type: DRIVERS_LICENCE + number: DL-7896829-7 + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + filiations: + - type: MOTHER + civil_name: Bruce Wayne + social_name: The Dark Knight + financial_profile: + company_id: '50685362000135' + occuptation_code: BRAZIL_OCCUPATION_CODE + occupation_description: '01' + informed_income: + frequency: MONTHLY + amount: 45391.89 + currency: BRL + date: '2020-03-19' + patrimony: + amount: 45391.89 + currency: BRL + year: 2020 + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + product_services_additional_info: Joint account with Robin + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + OwnerOfdaBusinessDetail: + summary: Business OFDA Brazil + description: Example of a business (OFDA Brazil). + value: + id: c749315b-eec2-435d-a458-06912878564f + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + company_name: Wayne Enterprises + trade_name: WayneCorp + incorporation_date: '1988-07-15' + companies_id: + - '01773247000103' + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: EIN + number: DL-7896829-7 + expiration_date: '2019-01-01' + country_of_issuance: CAN + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + parties: + - person_type: INDIVIDUAL + type: MEMBER + display_name: Jack Oswald White + social_name: O Piadista + company_name: Wayne Enterprises + trade_name: WayneCorp + start_date: '2021-07-15' + percentage_type: 0.51 + document_type: CPF + document_number: DL-7896829-7 + document_issue_date: '2019-01-01' + document_expiration_date: '2019-01-01' + document_country: CAN + document_additional_info: Confirmed CPF with their driver's licence. + financial_profile: + economic_activities: + - is_main: true + code: '8599604' + informed_revenue: + frequency: MONTHLY + frequency_additional_info: Recently switched from weekly to monthly. + amount: 45391.89 + currency: BRL + year: 2022 + patrimony: + amount: 45391.89 + currency: BRL + date: '2022-12-12' + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + InvoiceIngresoPaginated: + summary: Invoice Ingreso + description: Example of an *Igreso* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Ingreso + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Servicios de mensajería. + product_identification: '78102206' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoicePagoPaginated: + summary: Invoice Pago + description: Example of a *Pago* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Pago + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago + product_identification: '84111506' + quantity: 1 + unit_amount: 0 + unit_code: ACT + unit_description: null + pre_tax_amount: 0 + tax_percentage: 0 + tax_amount: 0 + total_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: null + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: + - date: '2020-03-17T12:00:00.000Z' + payment_type: '03' + currency: BRL + exchange_rate: '3.75' + amount: 8000.5 + operation_number: '831840' + beneficiary_rfc: BNM840515VB1 + beneficiary_account_number: '12343453245633' + payer_rfc: BKJM840515VB1 + payer_account_number: '13343663245699' + payer_bank_name: CITI BANAMEX + related_documents: + - invoice_identification: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: MXN + payment_method: PPD + previous_balance: 18877.84 + amount_paid: 8000 + outstanding_balance: 10877.84 + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceNominaPaginated: + summary: Invoice Nomina + description: Example of a *Nomina* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Nómina + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: Roberto Martinez Diaz + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '99' + payment_type_description: null + payment_method: PUE + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago de nómina + product_identification: '84111505' + quantity: 1 + unit_code: ACT + unit_description: null + unit_amount: 20400.1 + total_amount: 20400.1 + pre_tax_amount: 20400.1 + tax_percentage: 0 + tax_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 20400.1 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 5000 + total_amount: 15400.1 + payments: [] + payroll: + days: 30 + type: O + amount: 20400.1 + date_to: '2020-12-31' + version: '1.2' + date_from: '2020-12-01' + collected_at: '2022-02-09T08:45:50.406032Z' + payment_date: '2020-12-24' + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceEgresoPaginated: + summary: Invoice Egreso + description: Example of an *Egreso* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Egreso + type: INFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - product_identification: '78111500' + description: Reembolso del servicio + unit_code: E48 + unit_description: Unidad de servicio + quantity: 1 + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceTrasladoPaginated: + summary: Invoice Traslado + description: Example of a *Traslado* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Traslado + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: CARGOS S.A. DE C.V. + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: FLETE + product_identification: '78101802' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 21000 + pre_tax_amount: 21000 + tax_percentage: 16 + tax_amount: 0 + total_amount: 21000 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceIngreso: + summary: Invoice Ingreso + description: Example of an *Igreso* type invoice. + value: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Ingreso + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Servicios de mensajería. + product_identification: '78102206' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoicePago: + summary: Invoice Pago + description: Example of a *Pago* type invoice. + value: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Pago + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago + product_identification: '84111506' + quantity: 1 + unit_amount: 0 + unit_code: ACT + unit_description: null + pre_tax_amount: 0 + tax_percentage: 0 + tax_amount: 0 + total_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: null + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: + - date: '2020-03-17T12:00:00.000Z' + payment_type: '03' + currency: BRL + exchange_rate: '3.75' + amount: 8000.5 + operation_number: '831840' + beneficiary_rfc: BNM840515VB1 + beneficiary_account_number: '12343453245633' + payer_rfc: BKJM840515VB1 + payer_account_number: '13343663245699' + payer_bank_name: CITI BANAMEX + related_documents: + - invoice_identification: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: MXN + payment_method: PPD + previous_balance: 18877.84 + amount_paid: 8000 + outstanding_balance: 10877.84 + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceNomina: + summary: Invoice Nomina + description: Example of a *Nomina* type invoice. + value: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Nómina + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: Roberto Martinez Diaz + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '99' + payment_type_description: null + payment_method: PUE + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago de nómina + product_identification: '84111505' + quantity: 1 + unit_code: ACT + unit_description: null + unit_amount: 20400.1 + total_amount: 20400.1 + pre_tax_amount: 20400.1 + tax_percentage: 0 + tax_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 20400.1 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 5000 + total_amount: 15400.1 + payments: [] + payroll: + days: 30 + type: O + amount: 20400.1 + date_to: '2020-12-31' + version: '1.2' + date_from: '2020-12-01' + collected_at: '2022-02-09T08:45:50.406032Z' + payment_date: '2020-12-24' + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceEgreso: + summary: Invoice Egreso + description: Example of an *Egreso* type invoice. + value: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Egreso + type: INFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - product_identification: '78111500' + description: Reembolso del servicio + unit_code: E48 + unit_description: Unidad de servicio + quantity: 1 + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceTraslado: + summary: Invoice Traslado + description: Example of a *Traslado* type invoice. + value: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Traslado + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: CARGOS S.A. DE C.V. + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: FLETE + product_identification: '78101802' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 21000 + pre_tax_amount: 21000 + tax_percentage: 16 + tax_amount: 0 + total_amount: 21000 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceIngresoDetail: + summary: Invoice Ingreso + description: Example of an *Igreso* type invoice. + value: + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Ingreso + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Servicios de mensajería. + product_identification: '78102206' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoicePagoDetail: + summary: Invoice Pago + description: Example of a *Pago* type invoice. + value: + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Pago + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago + product_identification: '84111506' + quantity: 1 + unit_amount: 0 + unit_code: ACT + unit_description: null + pre_tax_amount: 0 + tax_percentage: 0 + tax_amount: 0 + total_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: null + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: + - date: '2020-03-17T12:00:00.000Z' + payment_type: '03' + currency: BRL + exchange_rate: '3.75' + amount: 8000.5 + operation_number: '831840' + beneficiary_rfc: BNM840515VB1 + beneficiary_account_number: '12343453245633' + payer_rfc: BKJM840515VB1 + payer_account_number: '13343663245699' + payer_bank_name: CITI BANAMEX + related_documents: + - invoice_identification: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: MXN + payment_method: PPD + previous_balance: 18877.84 + amount_paid: 8000 + outstanding_balance: 10877.84 + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceNominaDetail: + summary: Invoice Nomina + description: Example of a *Nomina* type invoice. + value: + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Nómina + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: Roberto Martinez Diaz + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '99' + payment_type_description: null + payment_method: PUE + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago de nómina + product_identification: '84111505' + quantity: 1 + unit_code: ACT + unit_description: null + unit_amount: 20400.1 + total_amount: 20400.1 + pre_tax_amount: 20400.1 + tax_percentage: 0 + tax_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 20400.1 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 5000 + total_amount: 15400.1 + payments: [] + payroll: + days: 30 + type: O + amount: 20400.1 + date_to: '2020-12-31' + version: '1.2' + date_from: '2020-12-01' + collected_at: '2022-02-09T08:45:50.406032Z' + payment_date: '2020-12-24' + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceEgresoDetail: + summary: Invoice Egreso + description: Example of an *Egreso* type invoice. + value: + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Egreso + type: INFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - product_identification: '78111500' + description: Reembolso del servicio + unit_code: E48 + unit_description: Unidad de servicio + quantity: 1 + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceTrasladoDetail: + summary: Invoice Traslado + description: Example of a *Traslado* type invoice. + value: + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Traslado + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: CARGOS S.A. DE C.V. + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: FLETE + product_identification: '78101802' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 21000 + pre_tax_amount: 21000 + tax_percentage: 16 + tax_amount: 0 + total_amount: 21000 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + TaxReturnPersonalListPaginated: + summary: Tax Return Personal + description: Example of a list of personal tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T17:28:00-05:00' + numero_operacion: '00000000001' + periodo_declaracion: Del Ejercicio + rfc: ABCD111111A11 + tipo_declaracion: Normal + nombre: JOHN DOE + sueldos_salarios: + retenedores: + - rfc_retenedor: ABCD222222A22 + nombre_denominacion_razon_social: ACME CORP + ingresos_exentos: 118263 + ingreso_anual: 2265 + subsidio_empleo: 0 + impuesto_retenido: 19497 + ingreso_anual: 118263 + ingresos_acumulables: 115998 + ingresos_exentos: 2265 + subsidio_empleo: 0 + servicios_profesionales: + deducciones_autorizadas: + deducciones_autorizadas: 11870 + otras_deducciones: null + detalle_deducciones: + - tipo_deduccion: GASTOS + concepto: GASOLINA Y MANTENIMIENTO DE TRANSPORTE + monto_detallado: 9682 + - tipo_deduccion: GASTOS + concepto: COMPRAS Y GASTOS GENERALES + monto_detallado: 2188 + total_deducciones_autorizadas: 11870 + ingresos: + ingresos_acumulables: 46000 + ingresos_exentos: null + otros_ingresos: null + total_ingresos: 46000 + resultado_fiscal: + utilidad_fiscal: 34130 + ptu_pagada_ejercicio: 0 + perdidas_fiscales_ejercicios_anteriores_aplicadas: 0 + utilidad_gravable: 34130 + pagos_provisionales: + pagos_provisionales_efectuados_en_ejercicio: 0 + retenciones_isr: + isr_retenido_personas_morales: 4600 + deducciones_personales: + honorarios_medicos_dentales_hospitalarios: + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 1000 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 502.34 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A55 + monto_deducible: 14183.1 + - rfc_emisor: ABC444444A66 + monto_deducible: 1658 + - rfc_emisor: ABC444444A77 + monto_deducible: 1600 + - rfc_emisor: ABC444444A88 + monto_deducible: 1064 + - rfc_emisor: ABC444444A99 + monto_deducible: 927.57 + donativos: + - rfc_emisor: ABC555555A99 + monto_deducible: 10.03 + aportaciones_voluntarias_complementarias_al_sar: + - rfc_emisor: ABC666666A99 + monto_deducible: 12.03 + - rfc_emisor: ABC777777A99 + monto_deducible: 87.22 + primas_por_seguros_de_gasto_medico: + - rfc_emisor: ABC777777A99 + monto_deducible: 20.03 + determinacion_impuesto: + base_gravable: 126864 + deducciones_personales: 23264 + ingresos_acumulables: 150128 + isr_favorable: 10308 + isr_conforme_tarifa_final: 13789 + isr_retenido: 24097 + num_clabe: '000000000000000001' + nombre_banco: BANCO SA + pagos_provisionales: 0 + titular_clabe_permite_verificacion: SÍ + accion_saldo_a_favor: DEVOLUCIÓN + retenciones: + sueldos_salarios: + - rfc_retenedor: ABC444444A99 + monto_retenciones: 118263 + retenciones_isr: 19497 + dividendos: [] + servicios_profesionales: + - rfc_retenedor: ABC444444A00 + monto_retenciones: 46000 + retenciones_isr: 4600 + dividendos: + monto_acumulable_dividendos_utilidades: null + monto_total_isr_pagado_sociedad: null + datos_informativos: + credito_fiscal_autorizado_proyectos_investigacion_desarrollo: 0 + credito_fiscal_autorizado_proyectos_apoyo_deporte_alto_rendimiento: 0 + credito_fiscal_autorizado_proyectos_inversion_artes: 0 + credito_fiscal_autorizado_inversion_equipos_fijos: 0 + credito_fiscal_autorizado_produccion_distribucion_cinematografica: 0 + saldo_credito_fiscal_autorizado_anteriores_investigacion_desarrollo: 0 + saldo_credito_fiscal_anteriores_proyectos_inversion_artes: 0 + saldo_credito_fiscal_anteriores_produccion_distribucion_cinematografica: 0 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + type: yearly + TaxReturnPersonalListMonthlyPaginatedPFAE: + summary: Tax Return Personal Monthly (PFAe) + description: Example of a list of PFAE-type monthly personal tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListMonthlyPaginatedPFAI: + summary: Tax Return Personal Monthly (PFAI) + description: Example of a list of PFAI-type monthly personal tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + tipo_de_deduccíon: dedduccíon opicional + optas_por_el_cálculo_acumulado: 'NO' + deduccíon_opcional: 700 + impuesto_predial: 0 + total_deducciones_autorizadas: 700 + tienes_facilidades_administrativas_o_estímulos_deducibles: 'NO' + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + impuesto_a_cargo: 54 + cantidad_a_cargo: 54 + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnBusinessListPaginated: + summary: Tax Return Business + description: Example of a list of business tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T16:55:00-06:00' + numero_operacion: '000000000001' + periodo_declaracion: Del Ejercicio + rfc: ABC1111111A1 + tipo_declaracion: Normal + tipo_complementaria: null + denominacion_razon_social: ACME CORP + datos_adicionales: + indica_si_optas_por_dictaminar_tus_estados_financieros: 'NO' + estas_obligado_a_presentar_la_informacion_sobre_tu_situacion_fiscal: 'NO' + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero: SIN SELECCIÓN + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero_inferiores_100mdp: SIN SELECCIÓN + optas_por_presentar_informacion_sobre_tu_situacion_fiscal: SIN SELECCIÓN + indica_si_te_dedicas_exclisivamente_a_generacion_energia_fuentes_renovables_o_cogeneracion_electricidad_eficiente: 'NO' + estado_resultados: + ventas_servicios_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + ventas_servicios_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ingresos_netos: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + inventario_inicial: null + compras_netas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + compras_netas_importacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + inventario_final: null + costo_mercancias: null + mano_de_obra: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + maquilas: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + gastos_indirectos_fabricacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + costo_ventas_servicios: null + utilidad_bruta: 911165 + perdida_bruta: null + gastos_operacion: + partes_relacionadas: null + partes_no_relacionadas: 499540 + total: 499540 + utilidad_operacion: 411625 + perdida_operacion: null + intereses_devengados_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ganancia_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + perdida_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_favorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_desfavorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras: null + resultado_integral_financiamiento: null + otros_gastos_nacionales: null + otros_gastos_extranjero: null + otros_gastos: null + otros_productos_nacionales: null + otros_productos_extranjero: null + otros_productos: null + ingresos_partidas_discontinuas_extraordinarias: null + gastos_partidas_discontinuas_extraordinarias: null + utilidad_antes_impuesto: 411625 + perdida_antes_impuesto: null + isr: 113002 + ietu: null + impac: null + ptu: null + utilidad_participacion_subsidiaria: null + perdida_participacion_subsidiaria: null + efectos_reexpresion_favorables_excepto_resultado_posicion_monetaria: null + efectos_reexpresion_desfavorables_excepto_resultado_posicion_monetaria: null + utilidad_neta: 298623 + perdida_neta: null + estado_posicion_financiera_balance: + activo: + efectivo_caja_depositos_instituciones_credito_nacionales: 726644 + efectivo_caja_depositos_instituciones_credito_extranjero: null + inversiones_valores_instituciones_nacionales_excepto_acciones: null + inversiones_valores_instituciones_extranjero_excepto_acciones: null + cuentas_documentos_por_cobrar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + cuentas_documentos_por_cobrar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_a_favor: null + inventarios: null + otros_activos_circulantes: 13277 + inversiones_en_acciones_nacionales: null + inversiones_en_acciones_extranjero: null + inversiones_en_acciones_total: null + terrenos: null + construcciones: null + construcciones_en_proceso: null + maquinaria_y_equipo: null + mobiliario_y_equipo_oficina: null + equipo_de_computo: null + equipo_de_transporte: null + otros_activos_fijos: 12756 + depreciacion_acumulada: -106 + cargos_y_gastos_diferidos: 9319 + amortizacion_acumulada: null + suma_activo: 761890 + pasivo: + cuentas_documentos_por_pagar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 268227 + total: 268227 + cuentas_documentos_por_pagar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_por_pagar: 223490 + anticipos_de_clientes: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + aportaciones_futuros_aumentos_de_capital: null + otros_pasivos: null + suma_pasivo: 491717 + capital_contable: + capital_social_proveniente_aportaciones: 10000 + capital_social_proveniente_capitalizacion: null + reservas: null + otras_cuentas_capital: null + aportaciones_futuros_aumentos_de_capital: null + utilidades_acumuladas: null + utilidad_del_ejercicio: 298623 + perdidas_acumuladas: -38450 + perdida_del_ejercicio: null + exceso_en_actualizacion_capital: null + insuficiencia_en_actualizacion_capital: null + actualizacion_del_capital_contable: null + suma_capital_contable: 270173 + suma_pasivo_mas_capital_contable: 761890 + conciliacion_entre_resultado_contable_fiscal: + utilidad_o_perdida_neta: 298623 + efectos_reexpresion: null + resultado_posicion_monetaria: null + utilidad_o_perdida_neta_historica: 298623 + ingresos_fiscales_no_contables: 95 + ajuste_anual_inflacion_acumulable: 95 + anticipos_de_clientes: null + intereses_moratorios_efectivamente_cobrados: null + ganancia_en_enajenacion_acciones_por_reembolso_capital: null + ganancia_en_enajenacion_de_terrenos_y_activo_fijo: null + inventario_acumulable_del_ejercicio: null + otros_ingresos_fiscales_no_contables: null + deducciones_contables_no_fiscales: 117415 + costo_de_ventas_contable: null + depreciacion_y_amortizacion_contable: 106 + gastos_que_no_reunen_requisitos_fiscales: 4307 + isr_ietu_impac_ptu: 113002 + perdida_contable_enajenacion_de_acciones: null + perdida_contable_enajenacion_de_activo_fijo: null + perdida_en_participacion_subsidiaria: null + intereses_devengados_que_exceden_valor_mercado_y_moratorios_pagados_o_no: 0 + otras_deducciones_contables_no_fiscales: 0 + deducciones_fiscales_no_contables: 0 + ajuste_anual_inflacion_deducible: null + costo_vendido_fiscal: null + deduccion_inversiones: null + estimulo_fiscal_por_deduccion_inmediata_inversiones: null + donacion_bienes_basicos_subsistencia_humana: 0 + estimulo_fiscal_contratacion_personas_discapacidad_yo_mayores: 0 + deduccion_impuesto_sobre_renta_retenido_personas_discapacidad_yo_mayores: 0 + perdida_fiscal_en_enajenacion_acciones: null + perdida_fiscal_en_enajenacion_de_terrenos_y_activo_fijo: null + intereses_moratorios_efectivamente_pagados: null + otras_deducciones_fiscales_no_contables: null + ingresos_contables_no_fiscales: null + intereses_moratorios_devengados_a_favor_cobrados_o_no: null + anticipos_de_clientes_ejercicios_anteriores: null + saldos_a_favor_impuestos_y_su_actualizacion: null + utilidad_contable_enajenacion_de_activo_fijo: null + utilidad_contable_enajenacion_de_acciones: null + utilidad_en_participacion_subsidiaria: null + otros_ingresos_contables_no_fiscales: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416133 + deducciones_autorizadas: + sueldos_salarios: null + honorarios_pagados_a_personas_fisicas: null + regalias_y_asistencia_tecnica: null + donativos_otorgados: null + uso_o_goce_temporal_de_bienes_pagados_a_personas_fisicas: null + fletes_y_acarreos_pagados_a_parsonas_fisicas: null + contribuciones_pagadas_excepto_isr_ietu_impac_iva_ieps: null + seguros_fianzas: null + perdida_por_creditos_incobrables: null + viaticos_y_gastos_viaje: 59527 + combustible_y_lubricantes: null + credito_al_salario_no_disminuido_de_contribuciones: null + aportaciones_sar_infonavit_y_jubilaciones_vejez: null + aportaciones_para_fondos_de_pensiones_y_jubilaciones: null + cuotas_imss: null + consumos_en_restaurantes: 11254 + perdida_por_operaciones_financieras_derivadas: null + deduccion_por_concepto_de_ayuda_alimentaria_para_trabajadores: null + monto_total_pagos_que_sean_ingresos_exentos_para_trabajador: null + monto_deducible_al_47_pagos_son_ingresos_exentos_para_trabajador: null + monto_deducible_al_53_pagos_son_ingresos_exentos_para_trabajador: null + uso_o_goce_temporal_de_automoviles_baterias_electricas_o_electricos_con_motor_combustion_o_hidrogeno: null + otras_deducciones_autorizadas: 424346 + total_deducciones_autorizadas: 495127 + cifras_cierre_ejercicio: + perdidas_fiscales_de_ejercicios_anteriores_pendientes_de_amortizar_actualiazadas: null + saldo_promedio_anual_de_creditos: 142795 + saldo_promedio_anual_de_deudas: 144765 + coeficiente_de_utilidad_por_aplicar_en_ejercicio_siguiente: 0.4567 + porcentaje_de_participacion_consolidable: null + isr_causado_en_exceso_del_impac_en_los_3_ejercicios_anteriores_pendientes_aplicar: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_2013_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_a_partir_2014_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_reinvertida: null + saldo_actualizado_de_cuenta_de_capital_de_aportacion: null + saldo_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_renovables: null + determinacion_del_impuesto_sobre_la_renta: + determinacion_del_impuesto_sobre_la_renta: + total_ingresos_acumulables: 911260 + total_deducciones_autorizadas_y_deduccion_inmediata_inversiones: 495126 + deduccion_adicional_por_pago_servicios_personales_en_operacion_maquila: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416134 + ptu_pagada_en_el_ejercicio: null + utilidad_fiscal_del_ejercicio: 416134 + perdidas_fiscales_de_ejercicios_anteriores_que_se_aplican_en_ejercicio: 39462 + resultado_fiscal: 376672 + impuesto_causado_en_ejercicio: 113002 + tienes_estimulos_fiscales_a_acreditar: SIN SELECCIÓN + impuesto_sobre_la_renta_del_ejercicio: 113002 + pagos_provisionales_efectuados_enterados_a_federacion: null + impuesto_retenido_al_contribuyente: null + impuesto_acreditable_pagado_en_extranjero: null + impuesto_acreditable_por_dividendos_o_utilidades_distribuidos: null + otras_cantidades_a_cargo: null + otras_cantidades_a_favor: null + diferencia_a_cargo: 113002 + isr_a_cargo_del_ejercicio: 113002 + isr_a_favor_del_ejercicio: null + impuesto_sobre_ingresos_sujetos_a_regimenes_fiscales_preferentes: null + datos_informativos_ejercicio: + monto_aplicado_del_estimulo_fiscal_de_chatarrizacion: 0 + monto_deducible_de_pagos_efectuados_por_uso_o_goce_temporal_automoviles: 0 + impac_recuperado_en_ejercicio_derivado_de_deconsolidacion: 0 + ingresos_obtenidos_por_apoyos_gubernamentales: 0 + gastos_realidados_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_de_inversion_en_artes_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_inversion_en_proyectos_programas_para_deporte_de_alto_rendimiento_pendiente_aplicar: 0 + saldo_pendiente_aplicar_por_inversion_en_equipos_de_alimentacion_vehiculos_electricos: 0 + credito_fiscal_autorizado_en_ejercicio_a_produccion_distribucion_cinematografica_nacional_pendiente_aplicar: 0 + datos_informativos_ejercicios_anteriores_aplicados_en_ejercicio: + total_estimulo_produccion_y_distribucion_cinematografica_nacional_ejercicios_anteriores_aplicado_en_ejercicio: null + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_inversion_en_proyectos_programas_para_deporte_alto_rendimiento_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_inversion_artes_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_a_produccion_distribucion_nacional_pendiente_aplicar: 0 + dividendos_o_utilidades_distribuidos: + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_en_2013_y_anteriores: null + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_a_partir_de_2014: null + provenientes_de_cuenta_de_utilidad_fisica_neta_reinvertida_cufinre: null + no_provenientes_de_cufin_ni_cufinre_en_efectivo: null + no_provenientes_de_cufin_ni_cufinre_en_acciones: null + monto_del_impuesto_pagado_no_proveniente_de_cufin_ni_cufinre: null + monto_del_impuesto_pagado_de_utilidades_provenientes_de_cufinre: null + provenientes_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_energia_de_fuentes_renovables_o_sistemas_cogeneracion_electricidad_eficiente: null + detalle_pago_r1_isr_personas_morales: + a_cargo: 113002 + parte_actualizada: null + recargos: null + multa_por_correccion: null + total_contribuciones: 113002 + desea_aplicar_alguna_compensacion_o_estimulo: 'NO' + cantidad_a_cargo: 113002 + opta_por_pagar_parcialidades: SIN SELECCIÓN + importe_de_primera_parcialidad: null + importe_sin_primera_parcialidad: null + cantidad_a_favor: null + cantidad_a_pagar: 113002 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + type: yearly + TaxReturnBusinessListMonthlyPaginated: + summary: Tax Return Business Monthly + description: Example of a list of monthly business tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: DPA950805RR2 + denominacion_razon_social: Aloha Mahalo SC + tipo_declaracion: Normal + ejercicio: 2020 + periodo_declaracion: Diciembre + fecha_hora_presentacion: '2021-01-18T19:24:00-06:00' + numero_operacion: '400475119' + tipo_complementaria: null + determinacion_isr: + personas_morales_regimen_general: + suma_ingresos_nominales_meses_anteriores_ejercicio: 69848414 + estimulos_acreditables: null + ingresos_nominales_mes_que_declara: 6482479 + reducciones: null + total_ingresos_nominales: 76330893 + impuestos_del_periodo: 284098 + coeficiente_utilidad: 0.2318 + pagos_provisionales_efectuados_anterioridad: 303039 + utilidad_fiscal_pago_provisional: 17693501 + impuesto_retenido: 29925 + ptu: null + otras_cantidades_a_cargo_contribuyente: null + iventario_acumulable: null + otras_cantidades_a_favor_contribuyente: null + anticipos_rendimientos_distribuidos_periodo: 16746509 + diferencia_a_cargo: 0 + perdidas_fiscales_ejercicios_anteriores_pendientes: null + estimulo_fiscal_deduccion_inmediata: null + impuesto_correspondiente_participacion_consolidable: null + deduccion_adicional_fomento_primer_empleo: null + porcentaje_participacion_consolidable: null + base_gravable_pago_provisional: 946992 + impuesto_a_cargo: 0 + isr_causado: 284098 + ieps_alcohol: null + detalle_pago_isr: + r1_isr_personas_morales: + a_cargo: 0 + acreditamiento_sorteo_buen_fin: null + parte_actualizada: null + diesel_marino: null + recargos: null + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 0 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 0 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + uso_infraestructura_carretera_cuota: null + cantidad_a_pagar: 0 + otros_estimulos: null + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r12_isr_retenciones_por_salarios: + a_cargo: 415945 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 379 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 415945 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: 379 + cantidad_a_cargo: 415566 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 415566 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r13_isr_retenciones_por_asimilados_a_salarios: + a_cargo: 254588 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 254588 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 254588 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 254588 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r14_isr_retenciones_por_servicios_profesionales: + a_cargo: 104482 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 104482 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 104482 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 104482 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + determinacion_iva: + montos_actos_actividades_pagados: + total_actos_actividades_pagados_tasa_16: 2094706 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + total_actos_actividades_sujetos_estimulo_rfn: 0 + total_actos_actividades_pagados_tasa_0: 0 + total_actos_actividades_pagados_importacion_bienes_tasa_16: null + total_actos_actividades_pagados_no_paga_iva: 0 + detalle_total_actos_actividades_pagados_tasa_16: + intereses_pagados_tasa_16: null + otros_actos_pagados_tasa_16: 2094706 + regalias_pagadas_tasa_16: null + total_actos_pagados_tasa_16: 2094706 + determinacion_iva_acreditable: + total_iva_actos_actividades_pagados_tasa_16: 335153 + iva_trasladado_o_pagado_adquisicion_bienes_distintos_inversiones_actos_no_obligados_pago_impuesto: null + iva_pagado_sujeto_estimulo_rfn: null + iva_trasladado_o_pagado_importacion_inversiones_actos_no_obligados_pago_impuesto: null + total_actos_actividades_pagados_importacion_bienes_tasa_16: 0 + iva_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: 0 + proporcion_utilizada_conforme_art_5: null + total_iva_trasladado_contribuyente: 335153 + proporcion_utilizada_conforme_art_5_b: null + iva_trasladado_adquisicion_bienes_distintos_inversiones_actos_gravados: 335153 + iva_pagado_importacion_adquisicion_bienes_distintos_inversiones_actos_gravados: null + iva_acreditable: 335153 + monto_acreditable_actualizado_a_incrementar_derivado_ajuste: null + iva_pagado_importacion_inversiones_actos_gravados: null + total_iva_acreditable_periodo: 335153 + total_iva_actos_actividades_gravados: 335153 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + iva_trasladado_adquisicion_inversiones_actos_gravados: null + iva_acreditable_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: null + determinacion_iva: + valor_actos_actividades_gravados_tasa_16: 6457950 + otras_cantidades_a_favor_contribuyente: null + valor_actos_actividades_gravados_tasa_11: null + cantidad_a_cargo: 312421 + valor_actos_actividades_gravados_tasa_0_exportacion: null + saldo_a_favor: null + valor_actos_actividades_gravados_tasa_9_otros: null + devolucion_inmediata_obtenida: null + suma_actos_actividades_gravados: 6457950 + saldo_a_favor_periodo: 0 + valor_actos_actividades_no_se_deba_pagar_impuesto_exentos: null + acreditamiento_saldo_favor_periodos_anteriores: null + impuesto_causado: 1033272 + diferencia_a_cargo: 312421 + cantidad_actualizada_a_reintegrarse_derivada_de_ajuste: null + ieps_acreditable_alcohol: null + iva_retenido_al_contribuyente: 385698 + impuesto_a_cargo: 312421 + total_iva_acreditable: 335153 + remanente_saldo_favor_ieps_alcohol: null + otras_cantidades_a_cargo_contribuyente: null + detalle_valor_actos_actividades_gravados_tasa_16: + intereses_cobrados_tasa_16: null + otros_actos_actividades_gravados_tasa_16: 6457950 + regalias_entre_partes_relacionadas_tasa_16: null + total_actos_actividades_gravados_tasa_16: 6457950 + detalle_pago_iva: + r21_iva: + a_cargo: 312421 + cretificados_tesofe: null + a_favor: null + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 312421 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 312421 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + diesel_automotriz_transporte: null + uso_infraestructura_carretera_cuota: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 312421 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r21_iva_retenciones: + a_cargo: 111448 + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 111448 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 111448 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + otros_estimulos: null + cantidad_a_favor: null + cretificados_tesofe: null + cantidad_a_pagar: 111448 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalList: + summary: Tax Return Personal + description: Example of a list of personal tax returns + value: + - id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T17:28:00-05:00' + numero_operacion: '00000000001' + periodo_declaracion: Del Ejercicio + rfc: ABCD111111A11 + tipo_declaracion: Normal + nombre: JOHN DOE + sueldos_salarios: + retenedores: + - rfc_retenedor: ABCD222222A22 + nombre_denominacion_razon_social: ACME CORP + ingresos_exentos: 118263 + ingreso_anual: 2265 + subsidio_empleo: 0 + impuesto_retenido: 19497 + ingreso_anual: 118263 + ingresos_acumulables: 115998 + ingresos_exentos: 2265 + subsidio_empleo: 0 + servicios_profesionales: + deducciones_autorizadas: + deducciones_autorizadas: 11870 + otras_deducciones: null + detalle_deducciones: + - tipo_deduccion: GASTOS + concepto: GASOLINA Y MANTENIMIENTO DE TRANSPORTE + monto_detallado: 9682 + - tipo_deduccion: GASTOS + concepto: COMPRAS Y GASTOS GENERALES + monto_detallado: 2188 + total_deducciones_autorizadas: 11870 + ingresos: + ingresos_acumulables: 46000 + ingresos_exentos: null + otros_ingresos: null + total_ingresos: 46000 + resultado_fiscal: + utilidad_fiscal: 34130 + ptu_pagada_ejercicio: 0 + perdidas_fiscales_ejercicios_anteriores_aplicadas: 0 + utilidad_gravable: 34130 + pagos_provisionales: + pagos_provisionales_efectuados_en_ejercicio: 0 + retenciones_isr: + isr_retenido_personas_morales: 4600 + deducciones_personales: + honorarios_medicos_dentales_hospitalarios: + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 1000 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 502.34 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A55 + monto_deducible: 14183.1 + - rfc_emisor: ABC444444A66 + monto_deducible: 1658 + - rfc_emisor: ABC444444A77 + monto_deducible: 1600 + - rfc_emisor: ABC444444A88 + monto_deducible: 1064 + - rfc_emisor: ABC444444A99 + monto_deducible: 927.57 + donativos: + - rfc_emisor: ABC555555A99 + monto_deducible: 10.03 + aportaciones_voluntarias_complementarias_al_sar: + - rfc_emisor: ABC666666A99 + monto_deducible: 12.03 + - rfc_emisor: ABC777777A99 + monto_deducible: 87.22 + primas_por_seguros_de_gasto_medico: + - rfc_emisor: ABC777777A99 + monto_deducible: 20.03 + determinacion_impuesto: + base_gravable: 126864 + deducciones_personales: 23264 + ingresos_acumulables: 150128 + isr_favorable: 10308 + isr_conforme_tarifa_final: 13789 + isr_retenido: 24097 + num_clabe: '000000000000000001' + nombre_banco: BANCO SA + pagos_provisionales: 0 + titular_clabe_permite_verificacion: SÍ + accion_saldo_a_favor: DEVOLUCIÓN + retenciones: + sueldos_salarios: + - rfc_retenedor: ABC444444A99 + monto_retenciones: 118263 + retenciones_isr: 19497 + dividendos: [] + servicios_profesionales: + - rfc_retenedor: ABC444444A00 + monto_retenciones: 46000 + retenciones_isr: 4600 + dividendos: + monto_acumulable_dividendos_utilidades: null + monto_total_isr_pagado_sociedad: null + datos_informativos: + credito_fiscal_autorizado_proyectos_investigacion_desarrollo: 0 + credito_fiscal_autorizado_proyectos_apoyo_deporte_alto_rendimiento: 0 + credito_fiscal_autorizado_proyectos_inversion_artes: 0 + credito_fiscal_autorizado_inversion_equipos_fijos: 0 + credito_fiscal_autorizado_produccion_distribucion_cinematografica: 0 + saldo_credito_fiscal_autorizado_anteriores_investigacion_desarrollo: 0 + saldo_credito_fiscal_anteriores_proyectos_inversion_artes: 0 + saldo_credito_fiscal_anteriores_produccion_distribucion_cinematografica: 0 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnPersonalListMonthlyPFAE: + summary: Tax Return Personal Monthly (PFAE) + description: Example of a PFAE-type monthly personal tax return + value: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListMonthlyPFAI: + summary: Tax Return Personal Monthly (PFAI) + description: Example of a PFAI-type monthly personal tax return + value: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + tipo_de_deduccíon: dedduccíon opicional + optas_por_el_cálculo_acumulado: 'NO' + deduccíon_opcional: 700 + impuesto_predial: 0 + total_deducciones_autorizadas: 700 + tienes_facilidades_administrativas_o_estímulos_deducibles: 'NO' + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + impuesto_a_cargo: 54 + cantidad_a_cargo: 54 + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnBusinessList: + summary: Tax Return Business + description: Example of a list of business tax returns + value: + - id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T16:55:00-06:00' + numero_operacion: '000000000001' + periodo_declaracion: Del Ejercicio + rfc: ABC1111111A1 + tipo_declaracion: Normal + tipo_complementaria: null + denominacion_razon_social: ACME CORP + datos_adicionales: + indica_si_optas_por_dictaminar_tus_estados_financieros: 'NO' + estas_obligado_a_presentar_la_informacion_sobre_tu_situacion_fiscal: 'NO' + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero: SIN SELECCIÓN + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero_inferiores_100mdp: SIN SELECCIÓN + optas_por_presentar_informacion_sobre_tu_situacion_fiscal: SIN SELECCIÓN + indica_si_te_dedicas_exclisivamente_a_generacion_energia_fuentes_renovables_o_cogeneracion_electricidad_eficiente: 'NO' + estado_resultados: + ventas_servicios_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + ventas_servicios_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ingresos_netos: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + inventario_inicial: null + compras_netas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + compras_netas_importacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + inventario_final: null + costo_mercancias: null + mano_de_obra: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + maquilas: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + gastos_indirectos_fabricacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + costo_ventas_servicios: null + utilidad_bruta: 911165 + perdida_bruta: null + gastos_operacion: + partes_relacionadas: null + partes_no_relacionadas: 499540 + total: 499540 + utilidad_operacion: 411625 + perdida_operacion: null + intereses_devengados_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ganancia_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + perdida_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_favorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_desfavorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras: null + resultado_integral_financiamiento: null + otros_gastos_nacionales: null + otros_gastos_extranjero: null + otros_gastos: null + otros_productos_nacionales: null + otros_productos_extranjero: null + otros_productos: null + ingresos_partidas_discontinuas_extraordinarias: null + gastos_partidas_discontinuas_extraordinarias: null + utilidad_antes_impuesto: 411625 + perdida_antes_impuesto: null + isr: 113002 + ietu: null + impac: null + ptu: null + utilidad_participacion_subsidiaria: null + perdida_participacion_subsidiaria: null + efectos_reexpresion_favorables_excepto_resultado_posicion_monetaria: null + efectos_reexpresion_desfavorables_excepto_resultado_posicion_monetaria: null + utilidad_neta: 298623 + perdida_neta: null + estado_posicion_financiera_balance: + activo: + efectivo_caja_depositos_instituciones_credito_nacionales: 726644 + efectivo_caja_depositos_instituciones_credito_extranjero: null + inversiones_valores_instituciones_nacionales_excepto_acciones: null + inversiones_valores_instituciones_extranjero_excepto_acciones: null + cuentas_documentos_por_cobrar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + cuentas_documentos_por_cobrar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_a_favor: null + inventarios: null + otros_activos_circulantes: 13277 + inversiones_en_acciones_nacionales: null + inversiones_en_acciones_extranjero: null + inversiones_en_acciones_total: null + terrenos: null + construcciones: null + construcciones_en_proceso: null + maquinaria_y_equipo: null + mobiliario_y_equipo_oficina: null + equipo_de_computo: null + equipo_de_transporte: null + otros_activos_fijos: 12756 + depreciacion_acumulada: -106 + cargos_y_gastos_diferidos: 9319 + amortizacion_acumulada: null + suma_activo: 761890 + pasivo: + cuentas_documentos_por_pagar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 268227 + total: 268227 + cuentas_documentos_por_pagar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_por_pagar: 223490 + anticipos_de_clientes: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + aportaciones_futuros_aumentos_de_capital: null + otros_pasivos: null + suma_pasivo: 491717 + capital_contable: + capital_social_proveniente_aportaciones: 10000 + capital_social_proveniente_capitalizacion: null + reservas: null + otras_cuentas_capital: null + aportaciones_futuros_aumentos_de_capital: null + utilidades_acumuladas: null + utilidad_del_ejercicio: 298623 + perdidas_acumuladas: -38450 + perdida_del_ejercicio: null + exceso_en_actualizacion_capital: null + insuficiencia_en_actualizacion_capital: null + actualizacion_del_capital_contable: null + suma_capital_contable: 270173 + suma_pasivo_mas_capital_contable: 761890 + conciliacion_entre_resultado_contable_fiscal: + utilidad_o_perdida_neta: 298623 + efectos_reexpresion: null + resultado_posicion_monetaria: null + utilidad_o_perdida_neta_historica: 298623 + ingresos_fiscales_no_contables: 95 + ajuste_anual_inflacion_acumulable: 95 + anticipos_de_clientes: null + intereses_moratorios_efectivamente_cobrados: null + ganancia_en_enajenacion_acciones_por_reembolso_capital: null + ganancia_en_enajenacion_de_terrenos_y_activo_fijo: null + inventario_acumulable_del_ejercicio: null + otros_ingresos_fiscales_no_contables: null + deducciones_contables_no_fiscales: 117415 + costo_de_ventas_contable: null + depreciacion_y_amortizacion_contable: 106 + gastos_que_no_reunen_requisitos_fiscales: 4307 + isr_ietu_impac_ptu: 113002 + perdida_contable_enajenacion_de_acciones: null + perdida_contable_enajenacion_de_activo_fijo: null + perdida_en_participacion_subsidiaria: null + intereses_devengados_que_exceden_valor_mercado_y_moratorios_pagados_o_no: 0 + otras_deducciones_contables_no_fiscales: 0 + deducciones_fiscales_no_contables: 0 + ajuste_anual_inflacion_deducible: null + costo_vendido_fiscal: null + deduccion_inversiones: null + estimulo_fiscal_por_deduccion_inmediata_inversiones: null + donacion_bienes_basicos_subsistencia_humana: 0 + estimulo_fiscal_contratacion_personas_discapacidad_yo_mayores: 0 + deduccion_impuesto_sobre_renta_retenido_personas_discapacidad_yo_mayores: 0 + perdida_fiscal_en_enajenacion_acciones: null + perdida_fiscal_en_enajenacion_de_terrenos_y_activo_fijo: null + intereses_moratorios_efectivamente_pagados: null + otras_deducciones_fiscales_no_contables: null + ingresos_contables_no_fiscales: null + intereses_moratorios_devengados_a_favor_cobrados_o_no: null + anticipos_de_clientes_ejercicios_anteriores: null + saldos_a_favor_impuestos_y_su_actualizacion: null + utilidad_contable_enajenacion_de_activo_fijo: null + utilidad_contable_enajenacion_de_acciones: null + utilidad_en_participacion_subsidiaria: null + otros_ingresos_contables_no_fiscales: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416133 + deducciones_autorizadas: + sueldos_salarios: null + honorarios_pagados_a_personas_fisicas: null + regalias_y_asistencia_tecnica: null + donativos_otorgados: null + uso_o_goce_temporal_de_bienes_pagados_a_personas_fisicas: null + fletes_y_acarreos_pagados_a_parsonas_fisicas: null + contribuciones_pagadas_excepto_isr_ietu_impac_iva_ieps: null + seguros_fianzas: null + perdida_por_creditos_incobrables: null + viaticos_y_gastos_viaje: 59527 + combustible_y_lubricantes: null + credito_al_salario_no_disminuido_de_contribuciones: null + aportaciones_sar_infonavit_y_jubilaciones_vejez: null + aportaciones_para_fondos_de_pensiones_y_jubilaciones: null + cuotas_imss: null + consumos_en_restaurantes: 11254 + perdida_por_operaciones_financieras_derivadas: null + deduccion_por_concepto_de_ayuda_alimentaria_para_trabajadores: null + monto_total_pagos_que_sean_ingresos_exentos_para_trabajador: null + monto_deducible_al_47_pagos_son_ingresos_exentos_para_trabajador: null + monto_deducible_al_53_pagos_son_ingresos_exentos_para_trabajador: null + uso_o_goce_temporal_de_automoviles_baterias_electricas_o_electricos_con_motor_combustion_o_hidrogeno: null + otras_deducciones_autorizadas: 424346 + total_deducciones_autorizadas: 495127 + cifras_cierre_ejercicio: + perdidas_fiscales_de_ejercicios_anteriores_pendientes_de_amortizar_actualiazadas: null + saldo_promedio_anual_de_creditos: 142795 + saldo_promedio_anual_de_deudas: 144765 + coeficiente_de_utilidad_por_aplicar_en_ejercicio_siguiente: 0.4567 + porcentaje_de_participacion_consolidable: null + isr_causado_en_exceso_del_impac_en_los_3_ejercicios_anteriores_pendientes_aplicar: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_2013_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_a_partir_2014_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_reinvertida: null + saldo_actualizado_de_cuenta_de_capital_de_aportacion: null + saldo_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_renovables: null + determinacion_del_impuesto_sobre_la_renta: + determinacion_del_impuesto_sobre_la_renta: + total_ingresos_acumulables: 911260 + total_deducciones_autorizadas_y_deduccion_inmediata_inversiones: 495126 + deduccion_adicional_por_pago_servicios_personales_en_operacion_maquila: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416134 + ptu_pagada_en_el_ejercicio: null + utilidad_fiscal_del_ejercicio: 416134 + perdidas_fiscales_de_ejercicios_anteriores_que_se_aplican_en_ejercicio: 39462 + resultado_fiscal: 376672 + impuesto_causado_en_ejercicio: 113002 + tienes_estimulos_fiscales_a_acreditar: SIN SELECCIÓN + impuesto_sobre_la_renta_del_ejercicio: 113002 + pagos_provisionales_efectuados_enterados_a_federacion: null + impuesto_retenido_al_contribuyente: null + impuesto_acreditable_pagado_en_extranjero: null + impuesto_acreditable_por_dividendos_o_utilidades_distribuidos: null + otras_cantidades_a_cargo: null + otras_cantidades_a_favor: null + diferencia_a_cargo: 113002 + isr_a_cargo_del_ejercicio: 113002 + isr_a_favor_del_ejercicio: null + impuesto_sobre_ingresos_sujetos_a_regimenes_fiscales_preferentes: null + datos_informativos_ejercicio: + monto_aplicado_del_estimulo_fiscal_de_chatarrizacion: 0 + monto_deducible_de_pagos_efectuados_por_uso_o_goce_temporal_automoviles: 0 + impac_recuperado_en_ejercicio_derivado_de_deconsolidacion: 0 + ingresos_obtenidos_por_apoyos_gubernamentales: 0 + gastos_realidados_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_de_inversion_en_artes_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_inversion_en_proyectos_programas_para_deporte_de_alto_rendimiento_pendiente_aplicar: 0 + saldo_pendiente_aplicar_por_inversion_en_equipos_de_alimentacion_vehiculos_electricos: 0 + credito_fiscal_autorizado_en_ejercicio_a_produccion_distribucion_cinematografica_nacional_pendiente_aplicar: 0 + datos_informativos_ejercicios_anteriores_aplicados_en_ejercicio: + total_estimulo_produccion_y_distribucion_cinematografica_nacional_ejercicios_anteriores_aplicado_en_ejercicio: null + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_inversion_en_proyectos_programas_para_deporte_alto_rendimiento_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_inversion_artes_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_a_produccion_distribucion_nacional_pendiente_aplicar: 0 + dividendos_o_utilidades_distribuidos: + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_en_2013_y_anteriores: null + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_a_partir_de_2014: null + provenientes_de_cuenta_de_utilidad_fisica_neta_reinvertida_cufinre: null + no_provenientes_de_cufin_ni_cufinre_en_efectivo: null + no_provenientes_de_cufin_ni_cufinre_en_acciones: null + monto_del_impuesto_pagado_no_proveniente_de_cufin_ni_cufinre: null + monto_del_impuesto_pagado_de_utilidades_provenientes_de_cufinre: null + provenientes_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_energia_de_fuentes_renovables_o_sistemas_cogeneracion_electricidad_eficiente: null + detalle_pago_r1_isr_personas_morales: + a_cargo: 113002 + parte_actualizada: null + recargos: null + multa_por_correccion: null + total_contribuciones: 113002 + desea_aplicar_alguna_compensacion_o_estimulo: 'NO' + cantidad_a_cargo: 113002 + opta_por_pagar_parcialidades: SIN SELECCIÓN + importe_de_primera_parcialidad: null + importe_sin_primera_parcialidad: null + cantidad_a_favor: null + cantidad_a_pagar: 113002 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnBusinessListMonthly: + summary: Tax Return Business Monthly + description: Example of a monthly business tax return + value: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: DPA950805RR2 + denominacion_razon_social: Aloha Mahalo SC + tipo_declaracion: Normal + ejercicio: 2020 + periodo_declaracion: Diciembre + fecha_hora_presentacion: '2021-01-18T19:24:00-06:00' + numero_operacion: '400475119' + tipo_complementaria: null + determinacion_isr: + personas_morales_regimen_general: + suma_ingresos_nominales_meses_anteriores_ejercicio: 69848414 + estimulos_acreditables: null + ingresos_nominales_mes_que_declara: 6482479 + reducciones: null + total_ingresos_nominales: 76330893 + impuestos_del_periodo: 284098 + coeficiente_utilidad: 0.2318 + pagos_provisionales_efectuados_anterioridad: 303039 + utilidad_fiscal_pago_provisional: 17693501 + impuesto_retenido: 29925 + ptu: null + otras_cantidades_a_cargo_contribuyente: null + iventario_acumulable: null + otras_cantidades_a_favor_contribuyente: null + anticipos_rendimientos_distribuidos_periodo: 16746509 + diferencia_a_cargo: 0 + perdidas_fiscales_ejercicios_anteriores_pendientes: null + estimulo_fiscal_deduccion_inmediata: null + impuesto_correspondiente_participacion_consolidable: null + deduccion_adicional_fomento_primer_empleo: null + porcentaje_participacion_consolidable: null + base_gravable_pago_provisional: 946992 + impuesto_a_cargo: 0 + isr_causado: 284098 + ieps_alcohol: null + detalle_pago_isr: + r1_isr_personas_morales: + a_cargo: 0 + acreditamiento_sorteo_buen_fin: null + parte_actualizada: null + diesel_marino: null + recargos: null + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 0 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 0 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + uso_infraestructura_carretera_cuota: null + cantidad_a_pagar: 0 + otros_estimulos: null + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r12_isr_retenciones_por_salarios: + a_cargo: 415945 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 379 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 415945 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: 379 + cantidad_a_cargo: 415566 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 415566 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r13_isr_retenciones_por_asimilados_a_salarios: + a_cargo: 254588 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 254588 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 254588 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 254588 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r14_isr_retenciones_por_servicios_profesionales: + a_cargo: 104482 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 104482 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 104482 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 104482 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + determinacion_iva: + montos_actos_actividades_pagados: + total_actos_actividades_pagados_tasa_16: 2094706 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + total_actos_actividades_sujetos_estimulo_rfn: 0 + total_actos_actividades_pagados_tasa_0: 0 + total_actos_actividades_pagados_importacion_bienes_tasa_16: null + total_actos_actividades_pagados_no_paga_iva: 0 + detalle_total_actos_actividades_pagados_tasa_16: + intereses_pagados_tasa_16: null + otros_actos_pagados_tasa_16: 2094706 + regalias_pagadas_tasa_16: null + total_actos_pagados_tasa_16: 2094706 + determinacion_iva_acreditable: + total_iva_actos_actividades_pagados_tasa_16: 335153 + iva_trasladado_o_pagado_adquisicion_bienes_distintos_inversiones_actos_no_obligados_pago_impuesto: null + iva_pagado_sujeto_estimulo_rfn: null + iva_trasladado_o_pagado_importacion_inversiones_actos_no_obligados_pago_impuesto: null + total_actos_actividades_pagados_importacion_bienes_tasa_16: 0 + iva_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: 0 + proporcion_utilizada_conforme_art_5: null + total_iva_trasladado_contribuyente: 335153 + proporcion_utilizada_conforme_art_5_b: null + iva_trasladado_adquisicion_bienes_distintos_inversiones_actos_gravados: 335153 + iva_pagado_importacion_adquisicion_bienes_distintos_inversiones_actos_gravados: null + iva_acreditable: 335153 + monto_acreditable_actualizado_a_incrementar_derivado_ajuste: null + iva_pagado_importacion_inversiones_actos_gravados: null + total_iva_acreditable_periodo: 335153 + total_iva_actos_actividades_gravados: 335153 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + iva_trasladado_adquisicion_inversiones_actos_gravados: null + iva_acreditable_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: null + determinacion_iva: + valor_actos_actividades_gravados_tasa_16: 6457950 + otras_cantidades_a_favor_contribuyente: null + valor_actos_actividades_gravados_tasa_11: null + cantidad_a_cargo: 312421 + valor_actos_actividades_gravados_tasa_0_exportacion: null + saldo_a_favor: null + valor_actos_actividades_gravados_tasa_9_otros: null + devolucion_inmediata_obtenida: null + suma_actos_actividades_gravados: 6457950 + saldo_a_favor_periodo: 0 + valor_actos_actividades_no_se_deba_pagar_impuesto_exentos: null + acreditamiento_saldo_favor_periodos_anteriores: null + impuesto_causado: 1033272 + diferencia_a_cargo: 312421 + cantidad_actualizada_a_reintegrarse_derivada_de_ajuste: null + ieps_acreditable_alcohol: null + iva_retenido_al_contribuyente: 385698 + impuesto_a_cargo: 312421 + total_iva_acreditable: 335153 + remanente_saldo_favor_ieps_alcohol: null + otras_cantidades_a_cargo_contribuyente: null + detalle_valor_actos_actividades_gravados_tasa_16: + intereses_cobrados_tasa_16: null + otros_actos_actividades_gravados_tasa_16: 6457950 + regalias_entre_partes_relacionadas_tasa_16: null + total_actos_actividades_gravados_tasa_16: 6457950 + detalle_pago_iva: + r21_iva: + a_cargo: 312421 + cretificados_tesofe: null + a_favor: null + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 312421 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 312421 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + diesel_automotriz_transporte: null + uso_infraestructura_carretera_cuota: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 312421 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r21_iva_retenciones: + a_cargo: 111448 + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 111448 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 111448 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + otros_estimulos: null + cantidad_a_favor: null + cretificados_tesofe: null + cantidad_a_pagar: 111448 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListDetail: + summary: Tax Return Personal + description: Example of a list of personal tax returns + value: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T17:28:00-05:00' + numero_operacion: '00000000001' + periodo_declaracion: Del Ejercicio + rfc: ABCD111111A11 + tipo_declaracion: Normal + nombre: JOHN DOE + sueldos_salarios: + retenedores: + - rfc_retenedor: ABCD222222A22 + nombre_denominacion_razon_social: ACME CORP + ingresos_exentos: 118263 + ingreso_anual: 2265 + subsidio_empleo: 0 + impuesto_retenido: 19497 + ingreso_anual: 118263 + ingresos_acumulables: 115998 + ingresos_exentos: 2265 + subsidio_empleo: 0 + servicios_profesionales: + deducciones_autorizadas: + deducciones_autorizadas: 11870 + otras_deducciones: null + detalle_deducciones: + - tipo_deduccion: GASTOS + concepto: GASOLINA Y MANTENIMIENTO DE TRANSPORTE + monto_detallado: 9682 + - tipo_deduccion: GASTOS + concepto: COMPRAS Y GASTOS GENERALES + monto_detallado: 2188 + total_deducciones_autorizadas: 11870 + ingresos: + ingresos_acumulables: 46000 + ingresos_exentos: null + otros_ingresos: null + total_ingresos: 46000 + resultado_fiscal: + utilidad_fiscal: 34130 + ptu_pagada_ejercicio: 0 + perdidas_fiscales_ejercicios_anteriores_aplicadas: 0 + utilidad_gravable: 34130 + pagos_provisionales: + pagos_provisionales_efectuados_en_ejercicio: 0 + retenciones_isr: + isr_retenido_personas_morales: 4600 + deducciones_personales: + honorarios_medicos_dentales_hospitalarios: + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 1000 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 502.34 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A55 + monto_deducible: 14183.1 + - rfc_emisor: ABC444444A66 + monto_deducible: 1658 + - rfc_emisor: ABC444444A77 + monto_deducible: 1600 + - rfc_emisor: ABC444444A88 + monto_deducible: 1064 + - rfc_emisor: ABC444444A99 + monto_deducible: 927.57 + donativos: + - rfc_emisor: ABC555555A99 + monto_deducible: 10.03 + aportaciones_voluntarias_complementarias_al_sar: + - rfc_emisor: ABC666666A99 + monto_deducible: 12.03 + - rfc_emisor: ABC777777A99 + monto_deducible: 87.22 + primas_por_seguros_de_gasto_medico: + - rfc_emisor: ABC777777A99 + monto_deducible: 20.03 + determinacion_impuesto: + base_gravable: 126864 + deducciones_personales: 23264 + ingresos_acumulables: 150128 + isr_favorable: 10308 + isr_conforme_tarifa_final: 13789 + isr_retenido: 24097 + num_clabe: '000000000000000001' + nombre_banco: BANCO SA + pagos_provisionales: 0 + titular_clabe_permite_verificacion: SÍ + accion_saldo_a_favor: DEVOLUCIÓN + retenciones: + sueldos_salarios: + - rfc_retenedor: ABC444444A99 + monto_retenciones: 118263 + retenciones_isr: 19497 + dividendos: [] + servicios_profesionales: + - rfc_retenedor: ABC444444A00 + monto_retenciones: 46000 + retenciones_isr: 4600 + dividendos: + monto_acumulable_dividendos_utilidades: null + monto_total_isr_pagado_sociedad: null + datos_informativos: + credito_fiscal_autorizado_proyectos_investigacion_desarrollo: 0 + credito_fiscal_autorizado_proyectos_apoyo_deporte_alto_rendimiento: 0 + credito_fiscal_autorizado_proyectos_inversion_artes: 0 + credito_fiscal_autorizado_inversion_equipos_fijos: 0 + credito_fiscal_autorizado_produccion_distribucion_cinematografica: 0 + saldo_credito_fiscal_autorizado_anteriores_investigacion_desarrollo: 0 + saldo_credito_fiscal_anteriores_proyectos_inversion_artes: 0 + saldo_credito_fiscal_anteriores_produccion_distribucion_cinematografica: 0 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnPersonalListMonthlyPFAEDetail: + summary: Tax Return Personal Monthly (PFAE) + description: Example of a PFAE-type monthly personal tax return + value: + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListMonthlyPFAIDetail: + summary: Tax Return Personal Monthly (PFAI) + description: Example of a PFAI-type monthly personal tax return + value: + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + tipo_de_deduccíon: dedduccíon opicional + optas_por_el_cálculo_acumulado: 'NO' + deduccíon_opcional: 700 + impuesto_predial: 0 + total_deducciones_autorizadas: 700 + tienes_facilidades_administrativas_o_estímulos_deducibles: 'NO' + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + impuesto_a_cargo: 54 + cantidad_a_cargo: 54 + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnBusinessListDetail: + summary: Tax Return Business + description: Example of a list of business tax returns + value: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T16:55:00-06:00' + numero_operacion: '000000000001' + periodo_declaracion: Del Ejercicio + rfc: ABC1111111A1 + tipo_declaracion: Normal + tipo_complementaria: null + denominacion_razon_social: ACME CORP + datos_adicionales: + indica_si_optas_por_dictaminar_tus_estados_financieros: 'NO' + estas_obligado_a_presentar_la_informacion_sobre_tu_situacion_fiscal: 'NO' + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero: SIN SELECCIÓN + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero_inferiores_100mdp: SIN SELECCIÓN + optas_por_presentar_informacion_sobre_tu_situacion_fiscal: SIN SELECCIÓN + indica_si_te_dedicas_exclisivamente_a_generacion_energia_fuentes_renovables_o_cogeneracion_electricidad_eficiente: 'NO' + estado_resultados: + ventas_servicios_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + ventas_servicios_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ingresos_netos: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + inventario_inicial: null + compras_netas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + compras_netas_importacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + inventario_final: null + costo_mercancias: null + mano_de_obra: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + maquilas: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + gastos_indirectos_fabricacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + costo_ventas_servicios: null + utilidad_bruta: 911165 + perdida_bruta: null + gastos_operacion: + partes_relacionadas: null + partes_no_relacionadas: 499540 + total: 499540 + utilidad_operacion: 411625 + perdida_operacion: null + intereses_devengados_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ganancia_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + perdida_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_favorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_desfavorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras: null + resultado_integral_financiamiento: null + otros_gastos_nacionales: null + otros_gastos_extranjero: null + otros_gastos: null + otros_productos_nacionales: null + otros_productos_extranjero: null + otros_productos: null + ingresos_partidas_discontinuas_extraordinarias: null + gastos_partidas_discontinuas_extraordinarias: null + utilidad_antes_impuesto: 411625 + perdida_antes_impuesto: null + isr: 113002 + ietu: null + impac: null + ptu: null + utilidad_participacion_subsidiaria: null + perdida_participacion_subsidiaria: null + efectos_reexpresion_favorables_excepto_resultado_posicion_monetaria: null + efectos_reexpresion_desfavorables_excepto_resultado_posicion_monetaria: null + utilidad_neta: 298623 + perdida_neta: null + estado_posicion_financiera_balance: + activo: + efectivo_caja_depositos_instituciones_credito_nacionales: 726644 + efectivo_caja_depositos_instituciones_credito_extranjero: null + inversiones_valores_instituciones_nacionales_excepto_acciones: null + inversiones_valores_instituciones_extranjero_excepto_acciones: null + cuentas_documentos_por_cobrar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + cuentas_documentos_por_cobrar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_a_favor: null + inventarios: null + otros_activos_circulantes: 13277 + inversiones_en_acciones_nacionales: null + inversiones_en_acciones_extranjero: null + inversiones_en_acciones_total: null + terrenos: null + construcciones: null + construcciones_en_proceso: null + maquinaria_y_equipo: null + mobiliario_y_equipo_oficina: null + equipo_de_computo: null + equipo_de_transporte: null + otros_activos_fijos: 12756 + depreciacion_acumulada: -106 + cargos_y_gastos_diferidos: 9319 + amortizacion_acumulada: null + suma_activo: 761890 + pasivo: + cuentas_documentos_por_pagar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 268227 + total: 268227 + cuentas_documentos_por_pagar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_por_pagar: 223490 + anticipos_de_clientes: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + aportaciones_futuros_aumentos_de_capital: null + otros_pasivos: null + suma_pasivo: 491717 + capital_contable: + capital_social_proveniente_aportaciones: 10000 + capital_social_proveniente_capitalizacion: null + reservas: null + otras_cuentas_capital: null + aportaciones_futuros_aumentos_de_capital: null + utilidades_acumuladas: null + utilidad_del_ejercicio: 298623 + perdidas_acumuladas: -38450 + perdida_del_ejercicio: null + exceso_en_actualizacion_capital: null + insuficiencia_en_actualizacion_capital: null + actualizacion_del_capital_contable: null + suma_capital_contable: 270173 + suma_pasivo_mas_capital_contable: 761890 + conciliacion_entre_resultado_contable_fiscal: + utilidad_o_perdida_neta: 298623 + efectos_reexpresion: null + resultado_posicion_monetaria: null + utilidad_o_perdida_neta_historica: 298623 + ingresos_fiscales_no_contables: 95 + ajuste_anual_inflacion_acumulable: 95 + anticipos_de_clientes: null + intereses_moratorios_efectivamente_cobrados: null + ganancia_en_enajenacion_acciones_por_reembolso_capital: null + ganancia_en_enajenacion_de_terrenos_y_activo_fijo: null + inventario_acumulable_del_ejercicio: null + otros_ingresos_fiscales_no_contables: null + deducciones_contables_no_fiscales: 117415 + costo_de_ventas_contable: null + depreciacion_y_amortizacion_contable: 106 + gastos_que_no_reunen_requisitos_fiscales: 4307 + isr_ietu_impac_ptu: 113002 + perdida_contable_enajenacion_de_acciones: null + perdida_contable_enajenacion_de_activo_fijo: null + perdida_en_participacion_subsidiaria: null + intereses_devengados_que_exceden_valor_mercado_y_moratorios_pagados_o_no: 0 + otras_deducciones_contables_no_fiscales: 0 + deducciones_fiscales_no_contables: 0 + ajuste_anual_inflacion_deducible: null + costo_vendido_fiscal: null + deduccion_inversiones: null + estimulo_fiscal_por_deduccion_inmediata_inversiones: null + donacion_bienes_basicos_subsistencia_humana: 0 + estimulo_fiscal_contratacion_personas_discapacidad_yo_mayores: 0 + deduccion_impuesto_sobre_renta_retenido_personas_discapacidad_yo_mayores: 0 + perdida_fiscal_en_enajenacion_acciones: null + perdida_fiscal_en_enajenacion_de_terrenos_y_activo_fijo: null + intereses_moratorios_efectivamente_pagados: null + otras_deducciones_fiscales_no_contables: null + ingresos_contables_no_fiscales: null + intereses_moratorios_devengados_a_favor_cobrados_o_no: null + anticipos_de_clientes_ejercicios_anteriores: null + saldos_a_favor_impuestos_y_su_actualizacion: null + utilidad_contable_enajenacion_de_activo_fijo: null + utilidad_contable_enajenacion_de_acciones: null + utilidad_en_participacion_subsidiaria: null + otros_ingresos_contables_no_fiscales: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416133 + deducciones_autorizadas: + sueldos_salarios: null + honorarios_pagados_a_personas_fisicas: null + regalias_y_asistencia_tecnica: null + donativos_otorgados: null + uso_o_goce_temporal_de_bienes_pagados_a_personas_fisicas: null + fletes_y_acarreos_pagados_a_parsonas_fisicas: null + contribuciones_pagadas_excepto_isr_ietu_impac_iva_ieps: null + seguros_fianzas: null + perdida_por_creditos_incobrables: null + viaticos_y_gastos_viaje: 59527 + combustible_y_lubricantes: null + credito_al_salario_no_disminuido_de_contribuciones: null + aportaciones_sar_infonavit_y_jubilaciones_vejez: null + aportaciones_para_fondos_de_pensiones_y_jubilaciones: null + cuotas_imss: null + consumos_en_restaurantes: 11254 + perdida_por_operaciones_financieras_derivadas: null + deduccion_por_concepto_de_ayuda_alimentaria_para_trabajadores: null + monto_total_pagos_que_sean_ingresos_exentos_para_trabajador: null + monto_deducible_al_47_pagos_son_ingresos_exentos_para_trabajador: null + monto_deducible_al_53_pagos_son_ingresos_exentos_para_trabajador: null + uso_o_goce_temporal_de_automoviles_baterias_electricas_o_electricos_con_motor_combustion_o_hidrogeno: null + otras_deducciones_autorizadas: 424346 + total_deducciones_autorizadas: 495127 + cifras_cierre_ejercicio: + perdidas_fiscales_de_ejercicios_anteriores_pendientes_de_amortizar_actualiazadas: null + saldo_promedio_anual_de_creditos: 142795 + saldo_promedio_anual_de_deudas: 144765 + coeficiente_de_utilidad_por_aplicar_en_ejercicio_siguiente: 0.4567 + porcentaje_de_participacion_consolidable: null + isr_causado_en_exceso_del_impac_en_los_3_ejercicios_anteriores_pendientes_aplicar: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_2013_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_a_partir_2014_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_reinvertida: null + saldo_actualizado_de_cuenta_de_capital_de_aportacion: null + saldo_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_renovables: null + determinacion_del_impuesto_sobre_la_renta: + determinacion_del_impuesto_sobre_la_renta: + total_ingresos_acumulables: 911260 + total_deducciones_autorizadas_y_deduccion_inmediata_inversiones: 495126 + deduccion_adicional_por_pago_servicios_personales_en_operacion_maquila: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416134 + ptu_pagada_en_el_ejercicio: null + utilidad_fiscal_del_ejercicio: 416134 + perdidas_fiscales_de_ejercicios_anteriores_que_se_aplican_en_ejercicio: 39462 + resultado_fiscal: 376672 + impuesto_causado_en_ejercicio: 113002 + tienes_estimulos_fiscales_a_acreditar: SIN SELECCIÓN + impuesto_sobre_la_renta_del_ejercicio: 113002 + pagos_provisionales_efectuados_enterados_a_federacion: null + impuesto_retenido_al_contribuyente: null + impuesto_acreditable_pagado_en_extranjero: null + impuesto_acreditable_por_dividendos_o_utilidades_distribuidos: null + otras_cantidades_a_cargo: null + otras_cantidades_a_favor: null + diferencia_a_cargo: 113002 + isr_a_cargo_del_ejercicio: 113002 + isr_a_favor_del_ejercicio: null + impuesto_sobre_ingresos_sujetos_a_regimenes_fiscales_preferentes: null + datos_informativos_ejercicio: + monto_aplicado_del_estimulo_fiscal_de_chatarrizacion: 0 + monto_deducible_de_pagos_efectuados_por_uso_o_goce_temporal_automoviles: 0 + impac_recuperado_en_ejercicio_derivado_de_deconsolidacion: 0 + ingresos_obtenidos_por_apoyos_gubernamentales: 0 + gastos_realidados_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_de_inversion_en_artes_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_inversion_en_proyectos_programas_para_deporte_de_alto_rendimiento_pendiente_aplicar: 0 + saldo_pendiente_aplicar_por_inversion_en_equipos_de_alimentacion_vehiculos_electricos: 0 + credito_fiscal_autorizado_en_ejercicio_a_produccion_distribucion_cinematografica_nacional_pendiente_aplicar: 0 + datos_informativos_ejercicios_anteriores_aplicados_en_ejercicio: + total_estimulo_produccion_y_distribucion_cinematografica_nacional_ejercicios_anteriores_aplicado_en_ejercicio: null + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_inversion_en_proyectos_programas_para_deporte_alto_rendimiento_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_inversion_artes_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_a_produccion_distribucion_nacional_pendiente_aplicar: 0 + dividendos_o_utilidades_distribuidos: + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_en_2013_y_anteriores: null + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_a_partir_de_2014: null + provenientes_de_cuenta_de_utilidad_fisica_neta_reinvertida_cufinre: null + no_provenientes_de_cufin_ni_cufinre_en_efectivo: null + no_provenientes_de_cufin_ni_cufinre_en_acciones: null + monto_del_impuesto_pagado_no_proveniente_de_cufin_ni_cufinre: null + monto_del_impuesto_pagado_de_utilidades_provenientes_de_cufinre: null + provenientes_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_energia_de_fuentes_renovables_o_sistemas_cogeneracion_electricidad_eficiente: null + detalle_pago_r1_isr_personas_morales: + a_cargo: 113002 + parte_actualizada: null + recargos: null + multa_por_correccion: null + total_contribuciones: 113002 + desea_aplicar_alguna_compensacion_o_estimulo: 'NO' + cantidad_a_cargo: 113002 + opta_por_pagar_parcialidades: SIN SELECCIÓN + importe_de_primera_parcialidad: null + importe_sin_primera_parcialidad: null + cantidad_a_favor: null + cantidad_a_pagar: 113002 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnBusinessListMonthlyDetail: + summary: Tax Return Business Monthly + description: Example of a monthly business tax return + value: + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: DPA950805RR2 + denominacion_razon_social: Aloha Mahalo SC + tipo_declaracion: Normal + ejercicio: 2020 + periodo_declaracion: Diciembre + fecha_hora_presentacion: '2021-01-18T19:24:00-06:00' + numero_operacion: '400475119' + tipo_complementaria: null + determinacion_isr: + personas_morales_regimen_general: + suma_ingresos_nominales_meses_anteriores_ejercicio: 69848414 + estimulos_acreditables: null + ingresos_nominales_mes_que_declara: 6482479 + reducciones: null + total_ingresos_nominales: 76330893 + impuestos_del_periodo: 284098 + coeficiente_utilidad: 0.2318 + pagos_provisionales_efectuados_anterioridad: 303039 + utilidad_fiscal_pago_provisional: 17693501 + impuesto_retenido: 29925 + ptu: null + otras_cantidades_a_cargo_contribuyente: null + iventario_acumulable: null + otras_cantidades_a_favor_contribuyente: null + anticipos_rendimientos_distribuidos_periodo: 16746509 + diferencia_a_cargo: 0 + perdidas_fiscales_ejercicios_anteriores_pendientes: null + estimulo_fiscal_deduccion_inmediata: null + impuesto_correspondiente_participacion_consolidable: null + deduccion_adicional_fomento_primer_empleo: null + porcentaje_participacion_consolidable: null + base_gravable_pago_provisional: 946992 + impuesto_a_cargo: 0 + isr_causado: 284098 + ieps_alcohol: null + detalle_pago_isr: + r1_isr_personas_morales: + a_cargo: 0 + acreditamiento_sorteo_buen_fin: null + parte_actualizada: null + diesel_marino: null + recargos: null + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 0 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 0 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + uso_infraestructura_carretera_cuota: null + cantidad_a_pagar: 0 + otros_estimulos: null + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r12_isr_retenciones_por_salarios: + a_cargo: 415945 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 379 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 415945 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: 379 + cantidad_a_cargo: 415566 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 415566 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r13_isr_retenciones_por_asimilados_a_salarios: + a_cargo: 254588 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 254588 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 254588 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 254588 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r14_isr_retenciones_por_servicios_profesionales: + a_cargo: 104482 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 104482 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 104482 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 104482 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + determinacion_iva: + montos_actos_actividades_pagados: + total_actos_actividades_pagados_tasa_16: 2094706 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + total_actos_actividades_sujetos_estimulo_rfn: 0 + total_actos_actividades_pagados_tasa_0: 0 + total_actos_actividades_pagados_importacion_bienes_tasa_16: null + total_actos_actividades_pagados_no_paga_iva: 0 + detalle_total_actos_actividades_pagados_tasa_16: + intereses_pagados_tasa_16: null + otros_actos_pagados_tasa_16: 2094706 + regalias_pagadas_tasa_16: null + total_actos_pagados_tasa_16: 2094706 + determinacion_iva_acreditable: + total_iva_actos_actividades_pagados_tasa_16: 335153 + iva_trasladado_o_pagado_adquisicion_bienes_distintos_inversiones_actos_no_obligados_pago_impuesto: null + iva_pagado_sujeto_estimulo_rfn: null + iva_trasladado_o_pagado_importacion_inversiones_actos_no_obligados_pago_impuesto: null + total_actos_actividades_pagados_importacion_bienes_tasa_16: 0 + iva_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: 0 + proporcion_utilizada_conforme_art_5: null + total_iva_trasladado_contribuyente: 335153 + proporcion_utilizada_conforme_art_5_b: null + iva_trasladado_adquisicion_bienes_distintos_inversiones_actos_gravados: 335153 + iva_pagado_importacion_adquisicion_bienes_distintos_inversiones_actos_gravados: null + iva_acreditable: 335153 + monto_acreditable_actualizado_a_incrementar_derivado_ajuste: null + iva_pagado_importacion_inversiones_actos_gravados: null + total_iva_acreditable_periodo: 335153 + total_iva_actos_actividades_gravados: 335153 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + iva_trasladado_adquisicion_inversiones_actos_gravados: null + iva_acreditable_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: null + determinacion_iva: + valor_actos_actividades_gravados_tasa_16: 6457950 + otras_cantidades_a_favor_contribuyente: null + valor_actos_actividades_gravados_tasa_11: null + cantidad_a_cargo: 312421 + valor_actos_actividades_gravados_tasa_0_exportacion: null + saldo_a_favor: null + valor_actos_actividades_gravados_tasa_9_otros: null + devolucion_inmediata_obtenida: null + suma_actos_actividades_gravados: 6457950 + saldo_a_favor_periodo: 0 + valor_actos_actividades_no_se_deba_pagar_impuesto_exentos: null + acreditamiento_saldo_favor_periodos_anteriores: null + impuesto_causado: 1033272 + diferencia_a_cargo: 312421 + cantidad_actualizada_a_reintegrarse_derivada_de_ajuste: null + ieps_acreditable_alcohol: null + iva_retenido_al_contribuyente: 385698 + impuesto_a_cargo: 312421 + total_iva_acreditable: 335153 + remanente_saldo_favor_ieps_alcohol: null + otras_cantidades_a_cargo_contribuyente: null + detalle_valor_actos_actividades_gravados_tasa_16: + intereses_cobrados_tasa_16: null + otros_actos_actividades_gravados_tasa_16: 6457950 + regalias_entre_partes_relacionadas_tasa_16: null + total_actos_actividades_gravados_tasa_16: 6457950 + detalle_pago_iva: + r21_iva: + a_cargo: 312421 + cretificados_tesofe: null + a_favor: null + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 312421 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 312421 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + diesel_automotriz_transporte: null + uso_infraestructura_carretera_cuota: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 312421 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r21_iva_retenciones: + a_cargo: 111448 + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 111448 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 111448 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + otros_estimulos: null + cantidad_a_favor: null + cretificados_tesofe: null + cantidad_a_pagar: 111448 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxStatusPersonalListPaginated: + summary: Personal Tax Status + description: Example of a list of personal tax status + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: e88d29d1-3dc6-407f-825c-a9b50453e349 + link: 401d5a8e-79e2-472e-a1ca-8f4646f5cb24 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: Alfredo Gonzalo Robin + id_cif: '2274235873432' + tax_payer_information: + rfc: GGTF770303G7 + curp: BEMP930403HDFLLT00 + name: Alfredo + first_last_name: Gonzalo + second_last_name: Robin + start_operations_date: '2000-06-01' + status_padron: ACTIVO + last_status_change_date: '2000-06-01' + commercial_name: Alfredo Gonzalo Robin + social_name: null + email: alfredo@robin.com + phone: '667507132' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Asalariado + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen de Sueldos y Salarios e Ingresos Asimilados a Salarios + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo + que corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/09/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + ExpsnSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjel= + pdf: '=PDF-STRING=' + TaxStatusBusinessListPaginated: + summary: Business Tax Status + description: Example of a list of business tax status + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 6de34cb3-bf0d-445d-b832-7ec7781e2c6f + link: 0b2edc42-7214-4c68-b22e-ae6885bf7c07 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: ACNE SA DE CV + id_cif: '2274235873432' + tax_payer_information: + rfc: GHTF980303F7 + curp: null + name: null + first_last_name: null + second_last_name: null + start_operations_date: '1995-08-01' + status_padron: ACTIVO + last_status_change_date: '1995-08-01' + commercial_name: null + social_name: ACNE SA DE CV + email: contact@acne.com + phone: '555507122' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Otros servicios profesionales, científicos y técnicos + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen General de Ley Personas Morales + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo + que corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/04/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + EtenSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjow= + pdf: '=PDF-STRING=' + TaxStatusPersonalList: + summary: Personal Tax Status + description: Example of a list of personal tax status + value: + id: 6de34cb3-bf0d-445d-b832-7ec7781e2c6f + link: 401d5a8e-79e2-472e-a1ca-8f4646f5cb24 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: Alfredo Gonzalo Robin + id_cif: '2274235873432' + tax_payer_information: + rfc: GGTF770303G7 + curp: BEMP930403HDFLLT00 + name: Alfredo + first_last_name: Gonzalo + second_last_name: Robin + start_operations_date: '2000-06-01' + status_padron: ACTIVO + last_status_change_date: '2000-06-01' + commercial_name: Alfredo Gonzalo Robin + social_name: null + email: alfredo@robin.com + phone: '667507132' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Asalariado + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen de Sueldos y Salarios e Ingresos Asimilados a Salarios + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo que + corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/09/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + ExpsnSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjel= + pdf: '=PDF-STRING=' + TaxStatusBusinessList: + summary: Business Tax Status + description: Example of a list of business tax status + value: + id: 6de34cb3-bf0d-445d-b832-7ec7781e2c6f + link: 0b2edc42-7214-4c68-b22e-ae6885bf7c07 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: ACNE SA DE CV + id_cif: '2274235873432' + tax_payer_information: + rfc: GHTF980303F7 + curp: null + name: null + first_last_name: null + second_last_name: null + start_operations_date: '1995-08-01' + status_padron: ACTIVO + last_status_change_date: '1995-08-01' + commercial_name: null + social_name: ACNE SA DE CV + email: contact@acne.com + phone: '555507122' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Otros servicios profesionales, científicos y técnicos + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen General de Ley Personas Morales + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo que + corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/04/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + EtenSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjow= + pdf: null + CategorizationExample: + summary: Categorization + description: Example of categorized transactions + value: + transactions: + - transaction_id: 3CWE4927CF15355 + account_holder_type: INDIVIDUAL + account_holder_id: '7890098789087' + account_id: EREB-89077589 + account_category: CREDIT_CARD + value_date: '2022-11-18' + description: APPL3STORE + type: OUTFLOW + amount: 650.89 + currency: BRL + institution: Erebor Retail Brasil + mcc: 2345 + category: Income & Payments + subcategory: Freelance + merchant: + logo: >- + https://www.apple.com/ac/structured-data/images/open_graph_logo.png?202110180 + website: https://www.apple.com/br/ + merchant_name: Apple, Inc + - transaction_id: 3CWE4927CF15996 + account_holder_type: INDIVIDUAL + account_holder_id: '996685090015' + account_id: BDBACA-89077896 + account_category: CHECKING_ACCOUNT + value_date: '2022-12-02' + description: OXXO SP + type: OUTFLOW + amount: 999.9 + currency: BRL + institution: BCO DO BRASIL + mcc: null + category: Income & Payments + subcategory: Freelance + merchant: + logo: >- + https://storage.googleapis.com/new-cdn.mercafacil.com/wl_assets/dynamic/65d84ba0-a2f3-11ed-8928-dd578f525074-MOBILE_1OCo1.png + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + x-readme: + explorer-enabled: true + proxy-enabled: true + samples-enabled: true + samples-languages: + - curl +konfigCliVersion: 1.38.34 diff --git a/sdks/db/fixed-specs/belvo-fixed-spec.yaml b/sdks/db/fixed-specs/belvo-fixed-spec.yaml new file mode 100644 index 0000000000..31fb163b16 --- /dev/null +++ b/sdks/db/fixed-specs/belvo-fixed-spec.yaml @@ -0,0 +1,31159 @@ +openapi: 3.0.2 +info: + title: Belvo API Docs + description: > + # Introduction + + + 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: + + + + - **Bank information** such as account information, real-time + + balance, historical transactions, and account owner identification. + + + - **Fiscal information** such as received and sent invoices and tax returns. + + + + fiscal-endpoints + + + + In this API reference you'll find all the information you need about each + + + endpoint and resource. + + + +
+ + + Tip: Make sure that you also check out our Developer + + Portal for guides on how to get started, using our Sandbox environment, as well as how to integrate the widget or use our quickstart application. + + +
+ + + + ## Environment + + + We currently offer three environments: sandbox, development, and + + production. + + + + When using our SDKs, make sure to use the **Alias** (and not the Base URL). + + + + | Environment | Purpose | Access | + + |-----------|-------|-------| + + | **Sandbox** | The [Sandbox + environment](https://developers.belvo.com/docs/test-in-sandbox) is dedicated + for your testing and development phases. In this environment, you can create + links without real credentials and you can pull test data from all + endpoints. **⚠️The sandbox environment is refreshed frequently and your test + data can be updated or deleted.** | Base URL (cURL): + https://sandbox.belvo.com/

Alias (SDKs): sandbox| + + |**Development**|The Development environment is dedicated for testing with + real credentials and institutions with real-world institutions. You can + create up to 25 links for free in this environment.| Base URL (cURL): + https://development.belvo.com/

Alias (SDKs): development | + + | **Production** | The Production environment is dedicated for live + applications with real connections to institutions. In this environment, you + + will need real credentials to create links and you will pull real data from + the institutions.| Base URL (cURL): https://api.belvo.com/

Alias + + (SDKs): production| + + + + For each environment, you'll need to [generate separate API + + keys](https://developers.belvo.com/docs/get-your-belvo-api-keys). + + + + ## 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 + 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 + + + + ### Error messages + + + + 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. Check the table below to see how to + + handle each error code. + + + - `field` *(optional)*: The specific field in the request body that has an + + issue. + + + + + ### Request identifier + + + When you need help with a specific error, add the request identifier + + (`request_id`) in your message to the Belvo support team. This will speed up + + investigations and get you back up and running in no time at all. + + + + ### Error codes and troubleshooting + + + + For a full list of errors and how to troubleshoot them, please see our + + dedicated [Error handling + + articles](https://developers.belvo.com/docs/integration-overview#error-handling) + + in our DevPortal. + + + + + ### Retry policy + + + + Please see our recommended [retry + + policies](https://developers.belvo.com/docs/integration-overview#error-retry-policy) + + in the DevPortal. + version: 1.102.0 + 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 + x-konfig-ignore: + object-with-no-properties: true + potential-incorrect-type: true +servers: + - description: Sandbox + url: https://sandbox.belvo.com + - description: Development + url: https://development.belvo.com +tags: + - description: >- + A **Link** is a set of credentials associated to an end-user's access to + an **institution**. + + +
+ + Example: The username and password combination used to + log in to an online banking application would be a link. + +
+ + + You will need to register a **Link** before accessing information from + that specific end-user, such as account or transaction details. + + +
+ + Note: We recommend using our Connect Widget to handle link creation and link status + updates. + +
+ + + You have the possibility to register two types of links: + + + ### Recurrent links (default) + + + With recurrent links, Belvo automatically refreshes information weekly and + notifies you via [Webhooks](https://developers.belvo.com/docs/webhooks) so + you always have up-to-date data. Then, when you receive the webhook, you + can make GET requests to the List or Detail endpoints to instantly access + up-to-date information, without needing to connect to the institution. + + + fiscal-endpoints + + + You can also make POST calls directly to the institution, as with single + links, as soon as the link is created. However, we recommend you follow + the flow described above (waiting for the webhook event) for a more + optimal experience. + + + ### Single links + + + Single links are used to perform ad hoc data access to accounts, owners, + transactions, and so on. For example, you can use it when you want to do + an underwriting process to assess risk before lending money. + + + For single links, you have to perform POST calls to an institution **every + time** you want to access fresh data. + + + fiscal-endpoints + name: Links + - description: >- + An **account** is the representation of a bank account inside a financial + institution. A user can have one or more accounts in an institution. + + + For example, one user (or link) can have a checking account, several + credit cards, and a loan account. + + + Querying for a user's account information is useful as you can get + information regarding: + + + - what types of accounts the user has. + + - the balance for each account (savings, checking, credit card, loan, and + so on). + + - detailed information regarding their credit card spending. + + - the current situation of any loans they may have. + name: Accounts + - description: >- + A **transaction** contains the detailed information of each movement + inside an account. For example, a purchase at a store or a restaurant. + name: Transactions + - description: >- + A **balance** represents the amount of funds available in a checking or + savings account over a period of time. + + + DEPRECATED + + + > 📘 + + > + + > Savings accounts that do not have any associated transactions (for + example, some _poupança_ accounts in Brazil) will not contain accurate + Balance information. We do not recommend using the Balance endpoint for + these types of accounts. + + > + + > Savings accounts vary from institution to institution, so we recommend + that you first use our [Retrieve transactions for a + link](https://developers.belvo.com/reference/retrievetransactions) + request, adding the `account` in the request body, to see if the Savings + account has any associated transactions. + name: Balances + - description: >- + An **owner** represents the person who has access to a Link and is the + owner of all the accounts inside the Link. + + + You can use this endpoint in order to get useful information about your + client, such as: + + + - their full name + + - key contact information + + - information about the ID document they used when opening the account + name: Owners + - description: >- + Use the Incomes endpoint to gather insights on an account's income sources + for the past 365 days. The endpoint is particularly useful when you want + to verify a person's income. + + +
+ Info: The incomes resource is only available for Checking and Savings + accounts associated with banking links. +
+ name: Incomes + - description: >- + Belvo's Recurring Expenses API allows you to identify a user's regular + payments for subscription services, such as Netflix or gym memberships, as + well as utility payments, such as electricity or phone bills. We return + information for up to 365 days. + + +
+ Info: The recurring expenses resource is only available for Checking, Savings and Credit Card accounts associated with banking links. +
+ name: Recurring Expenses + - description: >- + Belvo's Risk Insights endpoint exposes a set of features that can be used + to improve your company's credit risk and opportunity decisions. + + + This set of features can be used as building blocks to create or iterate + on your credit score using transactional banking data to improve the + predictive power of your models. You can use these components as you + require and make the most sense for your specific use case. + + + We take up to 365 days of transactional data from the user's checking, + savings, loans, and credit card accounts to calculate the risk insights. + We perform calculations on this set of transactions and provide aggregate + metrics in the following periods: three days, one week, one month, three + months, six months, and twelve months. + + + > **Note**: Categorized transaction metrics period + + > + + > At present, for our categorized transaction metrics (`category_metrics`) + we only supply the calculated totals for the last three months. + + + + If you need to know the currency of the account, make a GET Details + request to the Accounts endpoint (using the account ID you receive from in + the accounts array of the response). + name: Risk Insights + - description: >- + An **invoice** is the representation of an electronic invoice, that can be + received or sent, by a business or an individual and has been uploaded to + the fiscal institution's website. Multiple INFLOW (invoice received) and + OUTFLOW (invoice sent) invoices can be retrieved inside each link coming + from a fiscal institution. + name: Invoices + - description: >- + Our Tax declarations endpoint lets you retrieve the electronic + representation of the tax declaration document emitted by a country's tax + authority. + + + At the moment, the Tax Declaration resource is available for: + + + - 🇨🇴 Colombia (DIAN) + name: Tax declarations + - description: >- + A **tax return** is the representation of the tax return document sent + every year by a person or a business to the tax authority in the country. + + + The tax return data structure will be different depending on if it is + related to a person or a business (you will find examples for both in the + endpoints below). + name: Tax returns + - description: >- + Our **Tax status** endpoint lets you retrieve information about a person's + or business's tax situation, according to the country's tax authority. + + + - For SAT (Mexico), this information is extracted from the _Constancia de + situación fiscal_ document. + + - For DIAN (Colombia), this information is extracted from the _Registro + Único Tributario_ document. + name: Tax status + - description: >- + A **tax retention** is the amount of money that the payer must deduct from + the total amount of a purchase invoice, according to the fiscal + institution’s regulations. + + + With Belvo’s Tax Retentions resource, you can quickly and easily consult + information regarding a user’s tax retentions over a given period or for a + specific invoice. This is particularly useful when you want to aid your + user in their tax returns as for each invoice you receive the: + + + - invoice amount + + - amount that is exempt from taxation + + - total amount that is taxed + + - breakdown of all the taxes applied to the invoice + name: Tax retentions + - description: >- + A **tax compliance status** indicates about whether a person or business + is complying with their tax obligations at the moment of the request. The + information is extracted from SAT's _Opinion de cumplimiento de + Obligaciones Fiscales_ document. + name: Tax compliance status + - description: >- + # Credit score + + + Belvo's Credit Score (powered by FICO) resource allows you to receive an + industry-standard credit score based on a link's transactional and account + data. + + + > **Note**: At present, the credit score resource is **only** available + for OFDA Brazil links. + + + For any OFDA Brazil link, you can simply send through the `link` ID (with + an optional `date_to` parameter), and Belvo will respond with the + calculated credit score (provided there is at least 30 days of + transactional data available for the link). + + + Request Example + + ```json + + + { + "link": "2ccd5e15-194a-4a19-a45a-e7223c7e6717", // ID of the OFDA link. + "date_to": "2023-02-28", // Optional date until when you want the credit score to be calculated. + "save_data": true + } + + + ``` + + + Response Example + + ```json + + { + "id": "03a7b0d1-efc7-4ab8-981e-89e0c82db03ea", + "link": "30cb4806-6e00-48a4-91c9-ca55968576c8", + "created_at": "2020-04-23T21:32:55.336854+00:00", + "date_to": "2023-01-01", // Date until when transactional and account data were taken into account for the calculation + "score": 400, // The resulting credit score. + "reason_codes": [ + // Array of reasons for the credit score. + { + "code": "N02", + "description": "No description available for this reason code" + }, + { + "code": "C06", + "description": "Out of Pattern transaction checking deposit day" + } + ] + } + + ``` + + + + + ## Credit score reason_codes + + + Below is a possible list of `reason_codes` that we return for each credit + score result. + + + > Note: Each credit score result can have up to **four** `reason_codes`. + + + | Code | + Description + | + + | ---- | + -------------------------------------------------------------------------------------- + | + + | C01 | High checking spend with higher weekday + spend | + + | C02 | Multiple excessive spend over inflow with small spend + capability | + + | C03 | Multiple excessive spend over inflow with small checking + balance | + + | C04 | Repeated excessive spend over inflow with repeated higher loan + costs | + + | C05 | Low percentage of utility spend with low percentage of utility + spend | + + | C06 | Out of Pattern transaction checking deposit + day | + + | C07 | Higher weekday + spend | + + | C08 | High bank charge with high checking + spend | + + | C09 | High number of outflow transfers with low number of + deposits | + + | C10 | Reduction in recent utility + spend | + + | C11 | Large number of loan borrowed with high percentage of weekday + spend | + + | C12 | High restaurant spend with lower recent + deposits | + + | C13 | Multiple excessive spend over inflow with high loan + inflow | + + | C14 | Higher non-essential + spend | + + | C15 | High retail spend with high number of outflow + transfers | + + | C16 | High spend over inflow with multiple excessive spend over + inflow | + + | C17 | Multiple excessive spend over inflow with high credit card + balance | + + | C18 | Multiple excessive spend over inflow with high number of bank + charges | + + | C19 | Multiple excessive spend over + inflow | + + | C20 | High spend over inflow with high number of outflow + transfers | + + | C21 | Small spend + capability + | + + | C22 | Small checking + balance | + + | C23 | High credit card + balance | + + | C24 | High percentage of bank charges with reduction in recent utility + spend | + + | C25 | Low creditcard payment with lower inflow + value | + + | C26 | Higher spend with out of pattern transaction spend + day | + + | C27 | Lower inflow + value + | + + | C28 | Out of pattern transaction checking deposit amount and + day | + + | C29 | Out of pattern transaction checking deposit + day | + + | C30 | Multiple larger spend over inflow with high credit card + balance | + + | C31 | High credit card balance with large number of loan + costs | + + | C32 | Small inflow + value + | + + | C33 | High spend over inflow with small checking + balance | + + | C34 | High spend over + inflow | + + | C35 | Repeated lower net cash flow with lower inflow + value | + + | C36 | Small percentage of grocery + spend | + + | C37 | Small checking balance with higher credit card + spend | + + | C38 | Small checking balance with higher bank + charges | + + | C39 | Low net cash + flow + | + + | C40 | High credit card balance with multiple credit + cards | + + | C41 | High percentage credit card spend with high percentage of weekday + spend | + + | C42 | High credit card balance with high percentage of weekday + spend | + + | C43 | Higher spend over + inflow | + + | N01 | No transactions from checking + accounts | + + | N02 | Less than thirty days history of transactions across checking and + credit card accounts | + + | N03 | Less than fewer than thirty transactions across checking and + credit card accounts | + name: Credit Score + - name: Employment Records Mexico + - description: >- + An **institution** is an entity that Belvo can access information from. It + can be a: + + + - bank institution, such as Banamex retail banking or HSBC business + banking. + + - fiscal institution, such as the Servicio de Administración Tributaria + (SAT) in Mexico. + + + ![](https://files.readme.io/69a4676-Banking__Tax.png) + + + You can see a complete list of institutions by either consulting our + [Institutions article](https://developers.belvo.com/docs/institution) or + making a List request to this endpoint. + name: Institutions + - description: >- + Our Categorization resource provides you with categorized information for + a transaction. You’ll need to send a POST Categorize Transactions request + with raw transactional information (such as amount, description, and + holder information) to which Belvo: + + - assigns a standardized category to each transaction + + - provides additional information about the merchant involved in the + transaction (name, logo, website URL) + + name: Categorization + - description: >- + Verify your users' income and forecast their future income potential with + Belvo. Your only need to send trough a your raw transaction data and Belvo + returns: + + + - insights into your user’s multiple sources of income + + - a stability score that reflects the consistency and regularity of your + user’s income history + + - a confidence level for future income + name: Income Verification + - description: >- + Belvo's Credit Score (powered by FICO) resource allows you to receive an + industry-standard credit score based on your customer's *raw* + transactional and account data. + + + **Request example:** + + + For details regarding the request body for EYOD Credit Score, see our API + reference documentation. + + + ```json + + [ + { + "user_id": "AGH7890098789087", + "reference_date": "2023-06-01", + "language": "pt", + "transactions": [ // Up to 10,000 transactions (each transaction must be associated with an account) + { + "transaction_id": "3CWE4927CF15355", + "account_id": "AGH7890098789087-Checking-Erebor", + "value_date": "2023-05-18", + "type": "INFLOW", + "amount": 650.89, + "currency": "BRL", + "description": "Pagamento Netflix Maio 2023" + } + ], + "accounts": [ + { + "id": "AGH7890098789087-Checking-Erebor", + "category": "CHECKING_ACCOUNT", + "balance": 12540.67, + "balance_date": "2023-06-01", + "currency": "BRL" + } + ] + } + ] + + + ``` + + + + **Response example:** + + + Once you send through the raw data, Belvo will analyze and calculate your + customer's credit score (a value between 350 and 750) along with up to + *four* reasons for the calculated score. + + + ```json + + { + "id": "03a7b0d1-efc7-4ab8-981e-89e0c82db03ea", + "link": "30cb4806-6e00-48a4-91c9-ca55968576c8", + "created_at": "2020-04-23T21:32:55.336854+00:00", + "date_to": "2023-01-01", // Date until when transactional and account data where taken into account for the calculation + "score": 400, // The resulting credit score. + "reason_codes": [ + // Array of reasons for the credit score. + { + "code": "N02", + "description": "No description available for this reason code" + }, + { + "code": "C06", + "description": "Out of Pattern transaction checking deposit day" + } + ] + } + + ``` + + + + + + + ## Credit score reason_codes + + + Below is a possible list of `reason_codes` that we return for each credit + score result. + + + > Note: Each credit score result can have up to four `reason_codes`. + + + | Code | + Description + | + + | ---- | + -------------------------------------------------------------------------------------- + | + + | C01 | High checking spend with higher weekday + spend | + + | C02 | Multiple excessive spend over inflow with small spend + capability | + + | C03 | Multiple excessive spend over inflow with small checking + balance | + + | C04 | Repeated excessive spend over inflow with repeated higher loan + costs | + + | C05 | Low percentage of utility spend with low percentage of utility + spend | + + | C06 | Out of Pattern transaction checking deposit + day | + + | C07 | Higher weekday + spend | + + | C08 | High bank charge with high checking + spend | + + | C09 | High number of outflow transfers with low number of + deposits | + + | C10 | Reduction in recent utility + spend | + + | C11 | Large number of loan borrowed with high percentage of weekday + spend | + + | C12 | High restaurant spend with lower recent + deposits | + + | C13 | Multiple excessive spend over inflow with high loan + inflow | + + | C14 | Higher non-essential + spend | + + | C15 | High retail spend with high number of outflow + transfers | + + | C16 | High spend over inflow with multiple excessive spend over + inflow | + + | C17 | Multiple excessive spend over inflow with high credit card + balance | + + | C18 | Multiple excessive spend over inflow with high number of bank + charges | + + | C19 | Multiple excessive spend over + inflow | + + | C20 | High spend over inflow with high number of outflow + transfers | + + | C21 | Small spend + capability + | + + | C22 | Small checking + balance | + + | C23 | High credit card + balance | + + | C24 | High percentage of bank charges with reduction in recent utility + spend | + + | C25 | Low creditcard payment with lower inflow + value | + + | C26 | Higher spend with out of pattern transaction spend + day | + + | C27 | Lower inflow + value + | + + | C28 | Out of pattern transaction checking deposit amount and + day | + + | C29 | Out of pattern transaction checking deposit + day | + + | C30 | Multiple larger spend over inflow with high credit card + balance | + + | C31 | High credit card balance with large number of loan + costs | + + | C32 | Small inflow + value + | + + | C33 | High spend over inflow with small checking + balance | + + | C34 | High spend over + inflow | + + | C35 | Repeated lower net cash flow with lower inflow + value | + + | C36 | Small percentage of grocery + spend | + + | C37 | Small checking balance with higher credit card + spend | + + | C38 | Small checking balance with higher bank + charges | + + | C39 | Low net cash + flow + | + + | C40 | High credit card balance with multiple credit + cards | + + | C41 | High percentage credit card spend with high percentage of weekday + spend | + + | C42 | High credit card balance with high percentage of weekday + spend | + + | C43 | Higher spend over + inflow | + + | N01 | No transactions from checking + accounts | + + | N02 | Less than thirty days history of transactions across checking and + credit card accounts | + + | N03 | Less than fewer than thirty transactions across checking and + credit card accounts | + name: Credit Score (EYOD) + - description: > + Use our Banking API product to access account, balance, owner, bank + statement, as well as transaction data from banking institutions.
+ + + + ![](https://files.readme.io/894213c-Banking_and_Gig.png "Banking and + Gig.png") + + + + | API Endpoint | + Description + | Supported institutions | + + | --------------------------- | + ------------------------------------------------------------------------- + | ---------------------- | + + | `api/accounts/` | Get information about your customer's bank + accounts. | Banking | + + | `api/balances/` | Get the balance at the end of each day for + your customer's bank accounts. | Banking | + + | `api/owners/` | Get the details of an account + owner. | Banking | + + | `api/transactions/` | Get a list of bank transactions with + metadata. | Banking | + name: Banking API introduction + - description: "Our employment records\_resource for Mexico lets you get a comprehensive view of your user’s current social security contributions and employment history.\n\nWith Belvo's employment records resource for Mexico, you can access information about your user's current social security contributions and employment history. For the each user, we return the:\n\n- personal data\n- work history\n- historical and current daily base salary\n- and more!\n\nAt the moment, the employment records resource is available for:\n\n- 🇲🇽\_Mexico (IMSS)" + name: Employment Records + - description: >- + Belvo's Enrichment API are a set of endpoints that return additional + insights on your user's banking data. + + + - **Incomes**: Use this endpoint to verify your user's income. + + - **Recurring Expenses**: Use this endpoint to identify the recurrent + expenses (such as Netflix subscriptions) that your user pays. + + - **Risk Insights**: Use this endpoint to retrieve key data points to feed + into your risk evaluation models. + name: Enrichment API introduction + - description: > + Our Enrich Your Own Data (EYOD) product provides you with enriched + transaction information and easy-to-use insights about your users + incomesfrom various sources, including open finance data or your own + dataset. + + + + + | API Endpoint | + Description + | + + | ---------------------------- | + ------------------------------------------------------------------------------------------------------------------------------------- + | + + | `api/categorization` | Enrich transactions with category, + subcategory, and merchant + information. | + + | `api/enrich/incomes` | Enrich transaction data from any source + and gather insights on your user's income sources and asses their future + income potential. | + + | `api/enrich/risk-insights` | Enrich transaction data from any source + and gather a set of features that can be used to improve your company's + credit risk and opportunity decisions | + name: EYOD API introduction + - description: >- + Use our **Fiscal API** product to access invoices, tax compliance + statuses, tax returns, tax retentions, and tax statuses from the fiscal + authority in a given country. + + + | API Endpoint | + Description + | + + | ---------------------------- | + ------------------------------------------------------------------------------------------------------------------------------------- + | + + | `api/invoices/` | Get all the information about the + invoices sent and received by a person or a business that have been + certified by the tax authority. | + + | `api/tax-compliance-status/` | Get information about whether a person or + business is complying to their tax + obligations. | + + | `api/tax-compliance-status/` | Get tax declaration information for your + users. At the moment only available for 🇨🇴 DIAN + Colombia. | + + | `api/tax-returns/` | Get all the information about the tax + returns sent every year to the tax authority by a person or a + business. | + + | `api/tax-retentions/` | Get information about tax retention + invoices sent and received by a business or a + person. | + + | `api/tax-status/` | Get all the information about the tax + situation of a person or a + business. | + + +
+ + Note: You can only access this information with + fiscal links. + +
+ name: Fiscal API introduction +paths: + /api/links: + get: + tags: + - Links + summary: List all links + operationId: Links_listAll + description: > + Get a paginated list of all the existing links in your Belvo account. By + default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/institution' + - $ref: '#/components/parameters/institution__in' + - $ref: '#/components/parameters/access_mode' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/created_by__not_in' + - $ref: '#/components/parameters/external_id' + - $ref: '#/components/parameters/external_id__in' + - $ref: '#/components/parameters/institution_user_id' + - $ref: '#/components/parameters/institution_user_id__in' + - $ref: '#/components/parameters/refresh_rate' + - $ref: '#/components/parameters/status_links' + - $ref: '#/components/parameters/status__in_links' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedResponseLink' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/LinksListAllResponse' + post: + tags: + - Links + summary: Register a new link + operationId: Links_registerNewLink + description: > + Register a new link with your Belvo account. + + +
+ + Note: We recommend using our Connect Widget to handle link creation and link + status updates. + +
+ parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LinksRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/LinksRegisterNewLinkResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/LinksRegisterNewLink401Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/LinksRegisterNewLink428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/LinksRegisterNewLink500Response' + patch: + tags: + - Links + summary: Complete a links request + operationId: Links_resumeSession + description: > + Used to resume a Link register session that was paused because an MFA + token + + was required by the institution. + parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBodyWithoutSaveData' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/LinksResumeSessionResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/LinksResumeSession401Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/LinksResumeSession428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/LinksResumeSession500Response' + /api/links/{id}: + get: + tags: + - Links + summary: Get a link's details + operationId: Links_getDetails + description: Get the details of a specific link. + parameters: + - description: The `link.id` you want to get detailed information about. + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/LinksGetDetailsResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/LinksGetDetails404Response' + patch: + tags: + - Links + summary: Change a link's access mode + operationId: Links_changeAccessMode + description: > + Change a link's access mode from `single` to `recurrent` or from + `recurrent` to single. + + + ℹ️ **Note**: When you change a link from `single` to `recurrent`, they + will only be updated the next day at the scheduled interval. + parameters: + - description: The `link.id` you want to change the `access_mode` for. + name: id + in: path + required: true + schema: + type: string + format: uuid + example: e4bb1afb-4a4f-4dd6-8be0-e615d233185b + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChangeAccessMode' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/LinksChangeAccessModeResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/LinksChangeAccessMode401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/LinksChangeAccessMode404Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/LinksChangeAccessMode428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/LinksChangeAccessMode500Response' + put: + tags: + - Links + summary: Update a link's credentials + operationId: Links_updateCredentials + description: > + Update the credentials of a specific link. If the successfully updated + link is a recurrent one, we automatically trigger an update of the link. + If we find fresh data, you'll [receive historical + update](https://developers.belvo.com/docs/webhooks) webhooks. + +
Note: We recommend using our Connect Widget to handle updating + invalid or token_required links.
+ parameters: + - description: The `link.id` you want to update. + name: id + in: path + required: true + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LinksPutRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/LinksUpdateCredentialsResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/LinksUpdateCredentials401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/LinksUpdateCredentials404Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/LinksUpdateCredentials428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/LinksUpdateCredentials500Response' + delete: + tags: + - Links + summary: Delete a link + operationId: Links_deleteLinkAccounts + description: > + Delete a specific link and all associated accounts, transactions, and + owners + + from your Belvo account. + + + # Deleting links in batches + + + To delete links in bulk, we recommend looping through the list of links + you want to delete and making the delete request. + + > 🚧 **Rate limiting and IP blocking** + > + > An important technical note for performing operations in batches is to take into consideration our rate-limiting: up to 80 requests every 30 seconds. If you exceed this limit, you run the risk of Belvo blocking your IP from making further requests. + > + > For more information, or if your IP address has been blocked, please contact our [support team](https://support.belvo.com/hc/en-us/requests/new). + parameters: + - description: The `link.id` that you want to delete. + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/LinksDeleteLinkAccountsResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/LinksDeleteLinkAccounts404Response' + /api/accounts: + get: + tags: + - Accounts + summary: List all accounts + operationId: Accounts_listAll + description: > + Get a paginated list of all existing accounts in your Belvo account. By + default, we return up to 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/pageSize_query' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/balance__available' + - $ref: '#/components/parameters/balance__available__lt' + - $ref: '#/components/parameters/balance__available__lte' + - $ref: '#/components/parameters/balance__available__gt' + - $ref: '#/components/parameters/balance__available__gte' + - $ref: '#/components/parameters/balance__available__range' + - $ref: '#/components/parameters/balance__current' + - $ref: '#/components/parameters/balance__current__lt' + - $ref: '#/components/parameters/balance__current__lte' + - $ref: '#/components/parameters/balance__current__gt' + - $ref: '#/components/parameters/balance__current__gte' + - $ref: '#/components/parameters/balance__current__range' + - $ref: '#/components/parameters/category' + - $ref: '#/components/parameters/category__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/currency__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/institution' + - $ref: '#/components/parameters/institution__in' + - $ref: '#/components/parameters/name_accounts' + - $ref: '#/components/parameters/name__icontains' + - $ref: '#/components/parameters/number_accounts' + - $ref: '#/components/parameters/number__in_accounts' + - $ref: '#/components/parameters/public_identification_name' + - $ref: '#/components/parameters/public_identification_value' + - $ref: '#/components/parameters/type_accounts' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsListAllResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsListAll401Response' + post: + tags: + - Accounts + summary: Retrieve accounts for a link + operationId: Accounts_createLinkAccounts + description: > + Retrieve accounts from an existing link. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StandardRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsCreateLinkAccountsResponse' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsCreateLinkAccounts201Response' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsCreateLinkAccounts400Response' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsCreateLinkAccounts401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsCreateLinkAccounts408Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsCreateLinkAccounts428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsCreateLinkAccounts500Response' + patch: + tags: + - Accounts + summary: Complete an accounts request + operationId: Accounts_resumeRetrieveSession + description: > + Used to resume an Account retrieve session that was paused because an + MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsResumeRetrieveSessionResponse' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsResumeRetrieveSession201Response' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsResumeRetrieveSession400Response' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsResumeRetrieveSession401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsResumeRetrieveSession408Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsResumeRetrieveSession428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsResumeRetrieveSession500Response' + /api/accounts/{id}: + get: + tags: + - Accounts + summary: Get an account's details + operationId: Accounts_getDetails + description: > + Get the details of a specific account. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - description: The `account.id` you want to get detailed information about. + name: id + in: path + required: true + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsGetDetailsResponse' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaCheckingDetail' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCardDetail' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanDataDetail' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsGetDetails401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsGetDetails404Response' + delete: + tags: + - Accounts + summary: Delete an account + operationId: Accounts_deleteSpecificAccount + description: > + Delete a specific account from your Belvo account. + + + > ℹ️ **Note**: When you delete an account, all the associated + transactions and owner information for that account are also removed. + parameters: + - description: The `account.id` you want to delete. + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsDeleteSpecificAccountResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/AccountsDeleteSpecificAccount404Response' + /api/transactions: + get: + tags: + - Transactions + summary: List all transactions + operationId: Transactions_listAllTransactions + description: > + Get a paginated list of all existing transactions in your Belvo account. + By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link__required' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/account__balance__available' + - $ref: '#/components/parameters/account__balance__available__lt' + - $ref: '#/components/parameters/account__balance__available__lte' + - $ref: '#/components/parameters/account__balance__available__gt' + - $ref: '#/components/parameters/account__balance__available__gte' + - $ref: '#/components/parameters/account__balance__available__range' + - $ref: '#/components/parameters/account__balance__current' + - $ref: '#/components/parameters/account__balance__current__gt' + - $ref: '#/components/parameters/account__balance__current__gte' + - $ref: '#/components/parameters/account__balance__current__lt' + - $ref: '#/components/parameters/account__balance__current__lte' + - $ref: '#/components/parameters/account__balance__current__range' + - $ref: '#/components/parameters/account_type' + - $ref: '#/components/parameters/account_type__in' + - $ref: '#/components/parameters/accounting_date' + - $ref: '#/components/parameters/accounting_date__gt' + - $ref: '#/components/parameters/accounting_date__gte' + - $ref: '#/components/parameters/accounting_date__lt' + - $ref: '#/components/parameters/accounting_date__lte' + - $ref: '#/components/parameters/accounting_date__range' + - $ref: '#/components/parameters/amount' + - $ref: '#/components/parameters/amount__gt' + - $ref: '#/components/parameters/amount__gte' + - $ref: '#/components/parameters/amount__lt' + - $ref: '#/components/parameters/amount__lte' + - $ref: '#/components/parameters/amount__range' + - $ref: '#/components/parameters/collected_at' + - $ref: '#/components/parameters/collected_at__gt' + - $ref: '#/components/parameters/collected_at__gte' + - $ref: '#/components/parameters/collected_at__lt' + - $ref: '#/components/parameters/collected_at__lte' + - $ref: '#/components/parameters/collected_at__range' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/currency__in' + - $ref: '#/components/parameters/credit_card_data__bill_name__in' + - $ref: '#/components/parameters/reference' + - $ref: '#/components/parameters/reference__in' + - $ref: '#/components/parameters/status_transactions' + - $ref: '#/components/parameters/status__in_transactions' + - $ref: '#/components/parameters/type_transactions' + - $ref: '#/components/parameters/type__in_transactions' + - $ref: '#/components/parameters/value_date' + - $ref: '#/components/parameters/value_date__gt' + - $ref: '#/components/parameters/value_date__gte' + - $ref: '#/components/parameters/value_date__lt' + - $ref: '#/components/parameters/value_date__lte' + - $ref: '#/components/parameters/value_date__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsListAllTransactionsResponse' + examples: + TransactionsCheckingPaginated: + $ref: '#/components/examples/TransactionsCheckingPaginated' + TransactionsSavingsPaginated: + $ref: '#/components/examples/TransactionsSavingsPaginated' + TransactionsCreditCardPaginated: + $ref: '#/components/examples/TransactionsCreditCardPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsListAllTransactions401Response + post: + tags: + - Transactions + summary: Retrieve transactions for a link + operationId: Transactions_createLinkTransactions + description: > + Retrieve transactions for one or more accounts from a specific link. + +
Info: When retrieving + transactions, it is important to understand that the available + transaction data ranges depend on each institution.

+ + If you try to access older information than what we can access, we will + return all the data we can read within that date range. For example, if + you request transactions for the last year and we can only access the + last six months, we will return the information corresponding to these + six months of data.
+ parameters: + - in: header + name: X-Belvo-Request-Mode + schema: + description: > + Recommended header parameter to make your POST request to retrieve + transactions asynchronous (thus preventing timeouts). + + + When you make a asynchronous request, Belvo responds with a `202 - + Accepted` payload, including the `request_id`. Once we have + retrieved the transaction information, you will receive a + `new_transactions_available` webhook with the link and request + IDs. + + + + **Note**: This parameter is case sensitive (in other words, if you + write `ASYNC`, then Belvo will default to a synchronous call). + type: string + enum: + - async + example: async + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsCreateLinkTransactionsResponse + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsCreateLinkTransactions201Response + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '202': + description: Accepted (when `X-Belvo-Request-Mode` is `async`) + content: + application/json: + schema: + $ref: '#/components/schemas/AsynchronousAccepted202' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsCreateLinkTransactions400Response + '401': + description: Unathorized + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsCreateLinkTransactions401Response + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsCreateLinkTransactions408Response + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsCreateLinkTransactions428Response + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsCreateLinkTransactions500Response + patch: + tags: + - Transactions + summary: Complete a transactions request + operationId: Transactions_resumeRetrieveSession + description: > + Used to resume a Transaction retrieve session that was paused because an + MFA + + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsResumeRetrieveSessionResponse' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsResumeRetrieveSession201Response + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsResumeRetrieveSession400Response + '401': + description: Unathorized + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsResumeRetrieveSession401Response + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsResumeRetrieveSession408Response + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsResumeRetrieveSession428Response + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsResumeRetrieveSession500Response + /api/transactions/{id}: + get: + tags: + - Transactions + summary: Get a transaction's details + operationId: Transactions_getDetails + description: Get the details of a specific transaction. + parameters: + - description: The `transaction.id` you want to get detailed information about. + name: id + in: path + required: true + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsGetDetailsResponse' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsCheckingDetail' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavingsDetail' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCardDetail' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfdaDetail' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsGetDetails401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsGetDetails404Response' + delete: + tags: + - Transactions + summary: Delete a transaction + operationId: Transactions_removeById + description: Delete a specific transaction from your Belvo account. + parameters: + - description: The `transaction.id` that you want to delete. + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsRemoveByIdResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsRemoveById404Response' + /api/balances: + get: + tags: + - Balances + summary: List all balances + operationId: Balances_getAll + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + Get a paginated list of all existing balances in your Belvo account. By + default, we return up to 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/account__type' + - $ref: '#/components/parameters/account__type__in' + - $ref: '#/components/parameters/balance' + - $ref: '#/components/parameters/balance__lt' + - $ref: '#/components/parameters/balance__lte' + - $ref: '#/components/parameters/balance__gt' + - $ref: '#/components/parameters/balance__gte' + - $ref: '#/components/parameters/balance__range' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/currency__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/institution' + - $ref: '#/components/parameters/institution__in' + - $ref: '#/components/parameters/value_date' + - $ref: '#/components/parameters/value_date__gt' + - $ref: '#/components/parameters/value_date__gte' + - $ref: '#/components/parameters/value_date__lt' + - $ref: '#/components/parameters/value_date__lte' + - $ref: '#/components/parameters/value_date__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesPaginatedResponse' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExamplePaginated' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesGetAllResponse' + post: + tags: + - Balances + summary: Retrieve balances for a link + operationId: Balances_getLinkBalances + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + + Retrieve balances from one or more accounts for a specific link within a + + specified date range. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesGetLinkBalancesResponse' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesGetLinkBalances201Response' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesGetLinkBalances400Response' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesGetLinkBalances401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesGetLinkBalances408Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesGetLinkBalances428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesGetLinkBalances500Response' + patch: + tags: + - Balances + summary: Complete a balances request + operationId: Balances_resumeSession + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + Used to resume a Balance retrieve session that was paused because an MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesResumeSessionResponse' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesResumeSession201Response' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesResumeSession400Response' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesResumeSession401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesResumeSession408Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesResumeSession428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesResumeSession500Response' + /api/balances/{id}: + get: + tags: + - Balances + summary: Get a balance's details + operationId: Balances_getDetails + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + + Get the details of a specific balance. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - description: The `balance.id` you want to get detailed information about. + name: id + in: path + required: true + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExampleDetail' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesGetDetailsResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesGetDetails404Response' + delete: + tags: + - Balances + summary: Delete a balance + operationId: Balances_deleteBalance + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + Delete a specific balance from your Belvo account. + parameters: + - description: The `balance.id` that you want to delete. + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesDeleteBalanceResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesDeleteBalance404Response' + /api/institutions: + get: + tags: + - Institutions + summary: List all institutions + operationId: Institutions_getAll + description: > + Get a paginated list of all the institutions currently supported by + Belvo. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $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: + $ref: '#/components/schemas/InstitutionsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/InstitutionsGetAllResponse' + /api/institutions/{id}: + get: + tags: + - Institutions + summary: Get an institution's details + operationId: Institutions_getDetails + description: Get the details of a specific institution. + parameters: + - description: The `institution.id` you want to get detailed information about. + name: id + required: true + in: path + schema: + type: string + pattern: '[0-9]+' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Institution' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/InstitutionsGetDetailsResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/InstitutionsGetDetails404Response' + /api/owners: + get: + tags: + - Owners + summary: List all owners + operationId: Owners_listAll + description: > + Get a paginated list of all existing owners in your Belvo account. We + return + + up to 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/email' + - $ref: '#/components/parameters/display_name__icontains' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersListAllResponse' + examples: + OwnerBankingAccountPaginated: + $ref: '#/components/examples/OwnerBankingAccountPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersListAll401Response' + post: + tags: + - Owners + summary: Retrieve owners for a link + operationId: Owners_getLinkOwner + description: > + Retrieve owner information from a specific link. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StandardRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersGetLinkOwnerResponse' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersGetLinkOwner201Response' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersGetLinkOwner400Response' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersGetLinkOwner401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersGetLinkOwner408Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersGetLinkOwner428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersGetLinkOwner500Response' + patch: + tags: + - Owners + summary: Complete an owners request + operationId: Owners_resumeRetrieveSession + description: > + Used to resume an Owner retrieve session that was paused because an MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersResumeRetrieveSessionResponse' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersResumeRetrieveSession201Response' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersResumeRetrieveSession400Response' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersResumeRetrieveSession401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersResumeRetrieveSession408Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersResumeRetrieveSession428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersResumeRetrieveSession500Response' + /api/owners/{id}: + get: + tags: + - Owners + summary: Get an owner's details + operationId: Owners_getDetails + description: > + Get the details of a specific owner. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - description: The `owner.id` you want to get detailed information about. + name: id + in: path + required: true + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersGetDetailsResponse' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccountDetail' + OwnerIndividualOfdaDetails: + $ref: '#/components/examples/OwnerOfdaIndividuaDetail' + OwnerBusinessOfdaDetails: + $ref: '#/components/examples/OwnerOfdaBusinessDetail' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersGetDetails401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersGetDetails404Response' + delete: + tags: + - Owners + summary: Delete an owner + operationId: Owners_deleteOwner + description: Delete a specific owner from your Belvo account. + parameters: + - description: The `owner.id` that you want to delete. + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersDeleteOwnerResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/OwnersDeleteOwner404Response' + /api/invoices: + get: + tags: + - Invoices + summary: List all invoices + operationId: Invoices_listAll + description: > + Get a paginated list of all existing invoices in your Belvo account. By + default, we + + return 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/invoice_date' + - $ref: '#/components/parameters/invoice_date__lt' + - $ref: '#/components/parameters/invoice_date__lte' + - $ref: '#/components/parameters/invoice_date__gt' + - $ref: '#/components/parameters/invoice_date__gte' + - $ref: '#/components/parameters/invoice_date__range' + - $ref: '#/components/parameters/invoice_identification' + - $ref: '#/components/parameters/invoice_identification__in' + - $ref: '#/components/parameters/status_invoice' + - $ref: '#/components/parameters/status__in_invoice' + - $ref: '#/components/parameters/type_invoice' + - $ref: '#/components/parameters/type__in_invoice' + - $ref: '#/components/parameters/total_amount' + - $ref: '#/components/parameters/total_amount__lt' + - $ref: '#/components/parameters/total_amount__lte' + - $ref: '#/components/parameters/total_amount__gt' + - $ref: '#/components/parameters/total_amount__gte' + - $ref: '#/components/parameters/total_amount__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesResponsePaginatedResponse' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngresoPaginated' + InvoicePago: + $ref: '#/components/examples/InvoicePagoPaginated' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNominaPaginated' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgresoPaginated' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTrasladoPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesListAllResponse' + post: + tags: + - Invoices + summary: Retrieve invoices for a link + operationId: Invoices_getLinkInvoices + description: > + Retrieve invoice information from a specific fiscal link. + +
Info: You can ask for up to + one year (365 days) of invoices per request. If you need invoices + for more than one year, just make another request.
+ + ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - in: header + name: X-Belvo-Request-Mode + schema: + description: > + Recommended header parameter to make your POST request to retrieve + invoices asynchronous (thus preventing timeouts). + + + When you make a asynchronous request, Belvo responds with a `202 - + Accepted` payload, including the `request_id`. Once we have + retrieved the invoice information, you will receive a + `new_invoices_available` webhook with the link and request IDs. + + + + **Note**: This parameter is case sensitive (in other words, if you + write `ASYNC`, then Belvo will default to a synchronous call). + type: string + enum: + - async + example: async + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesGetLinkInvoicesResponse' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngreso' + InvoicePago: + $ref: '#/components/examples/InvoicePago' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNomina' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgreso' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTraslado' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesGetLinkInvoices201Response' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngreso' + InvoicePago: + $ref: '#/components/examples/InvoicePago' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNomina' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgreso' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTraslado' + '202': + description: Accepted (when `X-Belvo-Request-Mode` is `async`) + content: + application/json: + schema: + $ref: '#/components/schemas/AsynchronousAccepted202' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesGetLinkInvoices400Response' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesGetLinkInvoices401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesGetLinkInvoices408Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesGetLinkInvoices500Response' + patch: + tags: + - Invoices + summary: Complete an invoices request + operationId: Invoices_completeRequest + description: > + Used to resume an Invoice retrieve session that was paused because an + MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesCompleteRequestResponse' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesCompleteRequest201Response' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesCompleteRequest400Response' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesCompleteRequest401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesCompleteRequest408Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesCompleteRequest428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesCompleteRequest500Response' + /api/invoices/{id}: + get: + tags: + - Invoices + summary: Get an invoice's details + operationId: Invoices_getDetails + description: > + Get the details of a specific invoice. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - description: The `invoice.id` you want to get detailed information about. + name: id + in: path + required: true + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesGetDetailsResponse' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngresoDetail' + InvoicePago: + $ref: '#/components/examples/InvoicePagoDetail' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNominaDetail' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgresoDetail' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTrasladoDetail' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesGetDetails401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesGetDetails404Response' + delete: + tags: + - Invoices + summary: Delete an invoice + operationId: Invoices_deleteInvoice + description: Delete a specific invoice from your Belvo account. + parameters: + - description: The `invoice.id` that you want to delete. + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesDeleteInvoiceResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesDeleteInvoice404Response' + /api/tax-returns: + get: + tags: + - Tax returns + summary: List all tax returns + operationId: TaxReturns_listAll + description: > + Get a paginated list of all existing tax returns in your Belvo account. + By default, we return up to 100 results per page. The results will + include a mix of both + + monthly and yearly tax returns. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/ejercicio' + - $ref: '#/components/parameters/ejercicio__lt' + - $ref: '#/components/parameters/ejercicio__lte' + - $ref: '#/components/parameters/ejercicio__gt' + - $ref: '#/components/parameters/ejercicio__gte' + - $ref: '#/components/parameters/ejercicio__range' + - $ref: '#/components/parameters/tipo_declaracion' + - $ref: '#/components/parameters/tipo_declaracion__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxReturnsListAllResponse' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalListPaginated' + TaxReturnPersonalMonthlyPFAE: + $ref: >- + #/components/examples/TaxReturnPersonalListMonthlyPaginatedPFAE + TaxReturnPersonalMonthlyPFAI: + $ref: >- + #/components/examples/TaxReturnPersonalListMonthlyPaginatedPFAI + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessListPaginated' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthlyPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TaxReturnsListAll401Response' + post: + tags: + - Tax returns + summary: Retrieve tax returns for a link + operationId: TaxReturns_getInformation + description: Retrieve tax return information for a specific fiscal link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxReturnsGetInformationRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/TaxReturnsGetInformationResponse' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalList' + TaxReturnPersonalMonthlyPFAE: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAE' + TaxReturnPersonalMonthlyPFAI: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAI' + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessList' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthly' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/TaxReturnsGetInformation201Response' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalList' + TaxReturnPersonalMonthlyPFAE: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAE' + TaxReturnPersonalMonthlyPFAI: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAI' + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessList' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthly' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/TaxReturnsGetInformation400Response' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TaxReturnsGetInformation401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/TaxReturnsGetInformation500Response' + /api/tax-returns/{id}: + get: + tags: + - Tax returns + summary: Get a tax return's details + operationId: TaxReturns_getDetails + description: Get the details of a specific tax return. + parameters: + - description: The `tax-return.id` you want to get detailed information about. + name: id + in: path + required: true + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxReturnsGetDetailsResponse' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalListDetail' + TaxReturnPersonalMonthlyPFAE: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAEDetail' + TaxReturnPersonalMonthlyPFAI: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAIDetail' + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessListDetail' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthlyDetail' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TaxReturnsGetDetails401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/TaxReturnsGetDetails404Response' + delete: + tags: + - Tax returns + summary: Delete a tax return + operationId: TaxReturns_deleteSpecificTaxReturn + description: Delete a specific tax return from your Belvo account. + parameters: + - description: The ID of the tax return you want to delete. + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TaxReturnsDeleteSpecificTaxReturnResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxReturnsDeleteSpecificTaxReturn404Response + /api/tax-status: + get: + tags: + - Tax status + summary: List all tax statuses + operationId: TaxStatus_listAll + description: > + Get a paginated list of all existing tax status in your Belvo account. + By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusPaginatedResponse' + examples: + TaxStatusPersonalListPaginated: + $ref: '#/components/examples/TaxStatusPersonalListPaginated' + TaxStatusBusinessListPaginated: + $ref: '#/components/examples/TaxStatusBusinessListPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusListAllResponse' + post: + tags: + - Tax status + summary: Retrieve tax statuses for a link + operationId: TaxStatus_getLinkTaxStatus + description: Retrieve tax status information for a specific fiscal link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusGetLinkTaxStatusResponse' + examples: + TaxStatusPersonal: + $ref: '#/components/examples/TaxStatusPersonalList' + TaxStatusBusiness: + $ref: '#/components/examples/TaxStatusBusinessList' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusGetLinkTaxStatus201Response' + examples: + TaxStatusPersonal: + $ref: '#/components/examples/TaxStatusPersonalList' + TaxStatusBusiness: + $ref: '#/components/examples/TaxStatusBusinessList' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusGetLinkTaxStatus400Response' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusGetLinkTaxStatus401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusGetLinkTaxStatus408Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusGetLinkTaxStatus500Response' + /api/tax-status/{id}: + get: + tags: + - Tax status + summary: Get a tax status's details + operationId: TaxStatus_getDetails + description: Get the details of a specific tax status. + parameters: + - description: The `tax-status.id` you want to get detailed information about. + name: id + in: path + required: true + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusGetDetailsResponse' + examples: + TaxStatusPersonal: + $ref: '#/components/examples/TaxStatusPersonalList' + TaxStatusBusiness: + $ref: '#/components/examples/TaxStatusBusinessList' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusGetDetails401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusGetDetails404Response' + delete: + tags: + - Tax status + summary: Delete a tax status + operationId: TaxStatus_deleteSpecificTaxStatus + description: Delete a specific tax status from your Belvo account. + parameters: + - description: the `tax-status.id` that you want to delete + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusDeleteSpecificTaxStatusResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxStatusDeleteSpecificTaxStatus404Response + /api/tax-compliance-status: + get: + tags: + - Tax compliance status + summary: List all tax compliance statuses + operationId: TaxComplianceStatus_listAll + description: > + Get a paginated list of all existing Tax compliance statuses in your + Belvo account. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatusPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatusListAllResponse' + post: + tags: + - Tax compliance status + summary: Retrieve tax compliance statuses for a link + operationId: TaxComplianceStatus_getFiscalLinkInfo + description: >- + Retrieve the Tax compliance status information for a specific fiscal + link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatusRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatus' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatus' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxComplianceStatusGetFiscalLinkInfoResponse + '401': + description: Unathorized + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxComplianceStatusGetFiscalLinkInfo401Response + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxComplianceStatusGetFiscalLinkInfo408Response + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxComplianceStatusGetFiscalLinkInfo500Response + /api/tax-compliance-status/{id}: + get: + tags: + - Tax compliance status + summary: Get a tax compliance status's details + operationId: TaxComplianceStatus_getDetails + description: Get the details of a specific Tax compliance status. + parameters: + - description: | + The `tax-compliance-status.id` you want to get detailed information + about. + name: id + in: path + required: true + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatus' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatusGetDetailsResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatusGetDetails404Response' + delete: + tags: + - Tax compliance status + summary: Delete a tax compliance status + operationId: TaxComplianceStatus_deleteSpecificTaxComplianceStatus + description: Delete a specific Tax compliance status from your Belvo account. + parameters: + - description: The `tax-compliance-status.id` that you want to delete. + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxComplianceStatusDeleteSpecificTaxComplianceStatusResponse + '404': + description: Not Found + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxComplianceStatusDeleteSpecificTaxComplianceStatus404Response + /api/incomes: + get: + tags: + - Incomes + summary: List all incomes + operationId: Incomes_listAll + description: > + Get a paginated list of all incomes in your Belvo account. By default, + we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesListAllResponse' + post: + tags: + - Incomes + summary: Retrieve incomes for a link + operationId: Incomes_getInsights + description: | + Retrieve income insights for checking and savings accounts from a + specific link. You can receive insights for a period of up to 365 days, + depending on the transaction history available for each + [bank](https://developers.belvo.com/docs/institution). + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/Income' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/Income' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesGetInsightsResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesGetInsights401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesGetInsights408Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesGetInsights428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesGetInsights500Response' + patch: + tags: + - Incomes + summary: Complete an incomes request + operationId: Incomes_resumeSession + description: | + Used to resume an Income retrieve session that was paused because an MFA + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesResumeSessionResponse' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesResumeSession201Response' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesResumeSession400Response' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesResumeSession401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesResumeSession408Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesResumeSession428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesResumeSession500Response' + /api/incomes/{id}: + get: + tags: + - Incomes + summary: Get an income's details + operationId: Incomes_getDetails + description: Get the details of a specific income. + parameters: + - description: The `income.id` you want to get detailed information about. + name: id + in: path + required: true + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Income' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesGetDetailsResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesGetDetails404Response' + delete: + tags: + - Incomes + summary: Delete an income + operationId: Incomes_deleteIncome + description: Delete a specific income from your Belvo account. + parameters: + - description: the `income.id` that you want to delete + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesDeleteIncomeResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesDeleteIncome404Response' + /api/recurring-expenses: + get: + tags: + - Recurring Expenses + summary: List all recurring expenses + operationId: RecurringExpenses_listAll + description: > + Get a paginated list of all recurring expenses in your Belvo account. By + default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesListAllResponse' + post: + tags: + - Recurring Expenses + summary: Retrieve recurring expenses for a link + operationId: RecurringExpenses_getInsights + description: > + Retrieve recurring expense insights for checking and savings + accounts from a + + specific link. You can receive insights for a period of up to 365 days, + + depending on the transaction history available for each + + [bank](https://developers.belvo.com/docs/institution). + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesRequest' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesGetInsightsResponse' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesGetInsights201Response' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesGetInsights400Response' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesGetInsights401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesGetInsights408Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesGetInsights428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesGetInsights500Response' + patch: + tags: + - Recurring Expenses + summary: Complete a recurring expenses request + operationId: RecurringExpenses_resumeRequest + description: > + Used to resume an Recurring Expenses retrieve session that was paused + because an MFA + + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesResumeRequestResponse' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesResumeRequest201Response' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesResumeRequest400Response' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesResumeRequest401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesResumeRequest408Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesResumeRequest428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesResumeRequest500Response' + /api/recurring-expenses/{id}: + get: + tags: + - Recurring Expenses + summary: Get a recurring expense's details + operationId: RecurringExpenses_getDetails + description: Get the details of a specific recurring expense. + parameters: + - description: >- + The `recurring-expenses.id` you want to get detailed information + about. + name: id + in: path + required: true + schema: + type: string + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesGetDetailsResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesGetDetails401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesGetDetails404Response' + delete: + tags: + - Recurring Expenses + summary: Delete a recurring expense + operationId: RecurringExpenses_deleteExpense + description: Delete a specific recurring expense from your Belvo account. + parameters: + - description: The `recurring-expenses.id` that you want to delete + name: id + in: path + required: true + schema: + type: string + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesDeleteExpenseResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesDeleteExpense404Response' + /api/risk-insights: + get: + tags: + - Risk Insights + summary: List all risk insights + operationId: RiskInsights_listAllRiskInsights + description: > + Get a paginated list of all risk insight analyses in your Belvo account. + By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsightsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsightsListAllRiskInsightsResponse' + post: + tags: + - Risk Insights + summary: Retrieve risk insights for a link + operationId: RiskInsights_getForLink + description: > + Request the risk insights for a given link ID. + + + + If you need to know the currency of the account, just do a GET Details + to the accounts endpoint (using the ID you receive from the accounts + response). + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StandardRequest' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsights' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsights' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsightsGetForLinkResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsightsGetForLink401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsightsGetForLink408Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsightsGetForLink428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsightsGetForLink500Response' + patch: + tags: + - Risk Insights + summary: Complete a risk insights request + operationId: RiskInsights_resumeInsightsSession + description: > + Used to resume an Risk insights retrieve session that was paused because + an MFA + + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsightsResumeInsightsSessionResponse' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + $ref: >- + #/components/schemas/RiskInsightsResumeInsightsSession201Response + '400': + description: Bad request error + content: + application/json: + schema: + $ref: >- + #/components/schemas/RiskInsightsResumeInsightsSession400Response + '401': + description: Unathorized + content: + application/json: + schema: + $ref: >- + #/components/schemas/RiskInsightsResumeInsightsSession401Response + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: >- + #/components/schemas/RiskInsightsResumeInsightsSession408Response + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: >- + #/components/schemas/RiskInsightsResumeInsightsSession428Response + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: >- + #/components/schemas/RiskInsightsResumeInsightsSession500Response + /api/risk-insights/{id}: + get: + tags: + - Risk Insights + summary: Get a risk insight's details + operationId: RiskInsights_getDetails + description: Get the details of a specific risk insight. + parameters: + - description: The `risk-insights.id` you want to get detailed information about. + name: id + in: path + required: true + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsightsGetDetailsResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsightsGetDetails401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsightsGetDetails404Response' + delete: + tags: + - Risk Insights + summary: Delete a risk insight + operationId: RiskInsights_deleteSpecificInsight + description: Delete a specific risk insight from your Belvo account. + parameters: + - description: The `risk-insights.id` that you want to delete + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsightsDeleteSpecificInsightResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: >- + #/components/schemas/RiskInsightsDeleteSpecificInsight404Response + /api/tax-retentions: + get: + tags: + - Tax retentions + summary: List all tax retentions + operationId: TaxRetentions_listAll + description: | + Get a paginated list of all existing tax retentions in your Belvo + account. We return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentionsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentionsListAllResponse' + post: + tags: + - Tax retentions + summary: Retrieve tax retentions for a link + operationId: TaxRetentions_getLinkTaxRetentions + description: >- + Retrieve tax retention information from a specific link. The maximum + number of tax retentions that can be returned for a period is 500. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentionsRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentionsGetLinkTaxRetentionsResponse' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxRetentionsGetLinkTaxRetentions201Response + '400': + description: Bad request error + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxRetentionsGetLinkTaxRetentions400Response + '401': + description: Unathorized + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxRetentionsGetLinkTaxRetentions401Response + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxRetentionsGetLinkTaxRetentions408Response + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxRetentionsGetLinkTaxRetentions500Response + /api/tax-retentions/{id}: + get: + tags: + - Tax retentions + summary: Get a tax retention's details + operationId: TaxRetentions_getDetails + description: Get the details of a specific tax retention. + parameters: + - description: | + The `tax-retention.id` you want to get detailed information + about. + name: id + in: path + required: true + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentions' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentionsGetDetailsResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentionsGetDetails404Response' + delete: + tags: + - Tax retentions + summary: Delete a tax retention + operationId: TaxRetentions_deleteSpecificTaxRetention + description: Delete a specific tax retention from your Belvo account. + parameters: + - description: The `tax-retention.id` that you want to delete. + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxRetentionsDeleteSpecificTaxRetentionResponse + '404': + description: Not Found + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxRetentionsDeleteSpecificTaxRetention404Response + /api/tax-declarations: + get: + tags: + - Tax declarations + summary: List all tax declarations + operationId: TaxDeclarations_listAll + description: > + Get a paginated list of all existing tax declarations in your Belvo + account. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/year' + - $ref: '#/components/parameters/year__gt' + - $ref: '#/components/parameters/year__gte' + - $ref: '#/components/parameters/year__lt' + - $ref: '#/components/parameters/year__lte' + - $ref: '#/components/parameters/year__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxDeclarationsListAllResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TaxDeclarationsListAll401Response' + post: + tags: + - Tax declarations + summary: Retrieve tax declarations for a link + operationId: TaxDeclarations_getFiscalLink + description: Retrieve tax declaration information for a specific fiscal link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxDeclarationsRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/TaxDeclarationsGetFiscalLinkResponse' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/TaxDeclarationsGetFiscalLink201Response' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/TaxDeclarationsGetFiscalLink400Response' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TaxDeclarationsGetFiscalLink401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/TaxDeclarationsGetFiscalLink500Response' + /api/tax-declarations/{id}: + get: + tags: + - Tax declarations + summary: Get a tax declaration's details + operationId: TaxDeclarations_getDetails + description: Get the details of a specific Tax declaration. + parameters: + - description: | + The `tax-declaration.id` you want to get detailed information + about. + name: id + in: path + required: true + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxDeclarationsGetDetailsResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/TaxDeclarationsGetDetails401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/TaxDeclarationsGetDetails404Response' + delete: + tags: + - Tax declarations + summary: Delete a tax declration + operationId: TaxDeclarations_deleteSpecificDeclaration + description: Delete a specific Tax declaration from your Belvo account. + parameters: + - description: The `tax-declration.id` that you want to delete. + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxDeclarationsDeleteSpecificDeclarationResponse + '404': + description: Not Found + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaxDeclarationsDeleteSpecificDeclaration404Response + /api/employment-records: + get: + tags: + - Employment Records Mexico + summary: List all employment records + operationId: EmploymentRecordsMexico_listAll + description: > + Get a paginated list of all existing employment records in your Belvo + account. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/internal_identification' + - $ref: '#/components/parameters/internal_identification__in' + - $ref: '#/components/parameters/collected_at' + - $ref: '#/components/parameters/collected_at__gt' + - $ref: '#/components/parameters/collected_at__gte' + - $ref: '#/components/parameters/collected_at__lt' + - $ref: '#/components/parameters/collected_at__lte' + - $ref: '#/components/parameters/collected_at__range' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/EmploymentRecordsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/EmploymentRecordsMexicoListAllResponse' + post: + tags: + - Employment Records Mexico + summary: Retrieve employment record details + operationId: EmploymentRecordsMexico_getDetails + description: | + Retrieve employment record details for an individual. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EmploymentRecordRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/EmploymentRecordsMexicoGetDetailsResponse' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmploymentRecordsMexicoGetDetails201Response + '400': + description: Bad request error + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmploymentRecordsMexicoGetDetails400Response + '401': + description: Unathorized + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmploymentRecordsMexicoGetDetails401Response + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmploymentRecordsMexicoGetDetails408Response + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmploymentRecordsMexicoGetDetails428Response + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmploymentRecordsMexicoGetDetails500Response + /api/employment-records/{id}: + get: + tags: + - Employment Records Mexico + summary: Get an employment record's details + operationId: EmploymentRecordsMexico_getDetails + description: Get the details of a specific employment record. + parameters: + - description: >- + The `employment-record.id` you want to get detailed information + about. + name: id + in: path + required: true + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/EmploymentRecord' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmploymentRecordsMexicoGetDetails401Response + '404': + description: Not Found + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmploymentRecordsMexicoGetDetails404Response + delete: + tags: + - Employment Records Mexico + summary: Delete an employment record + operationId: EmploymentRecordsMexico_deleteRecord + description: Delete a specific employment record from your Belvo account. + parameters: + - description: The `employment-record.id` that you want to delete. + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmploymentRecordsMexicoDeleteRecordResponse + '404': + description: Not Found + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmploymentRecordsMexicoDeleteRecord404Response + /api/enrich/incomes: + post: + tags: + - Income Verification + summary: Verify incomes + operationId: IncomeVerification_enrichUserIncomes + description: > + Send through your raw data and receive enriched information for each of + your user's income streams. + + + +
+ + + Note: Belvo can process up to 10,000 unique + transactions per request. + + +
+ parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EyodIncomeVerificationRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: >- + #/components/schemas/IncomeVerificationEnrichUserIncomesResponse + '400': + description: Bad request error + content: + application/json: + schema: + $ref: >- + #/components/schemas/IncomeVerificationEnrichUserIncomes400Response + '401': + description: Unathorized + content: + application/json: + schema: + $ref: >- + #/components/schemas/IncomeVerificationEnrichUserIncomes401Response + '403': + description: Access to Belvo API denied + content: + application/json: + schema: + $ref: >- + #/components/schemas/IncomeVerificationEnrichUserIncomes403Response + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: >- + #/components/schemas/IncomeVerificationEnrichUserIncomes500Response + /api/categorization: + post: + tags: + - Categorization + summary: Categorize transactions + operationId: Categorization_categorizeTransactions + description: > + Send through your raw transaction data and receive enriched information + for each of your transactions. + + + +
+ + + Note: Belvo can process up to 10,000 unique + transactions per request. + + +
+ parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CategorizationRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Categorization' + examples: + CategorizeTransactions: + $ref: '#/components/examples/CategorizationExample' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: >- + #/components/schemas/CategorizationCategorizeTransactionsResponse + '401': + description: Unathorized + content: + application/json: + schema: + $ref: >- + #/components/schemas/CategorizationCategorizeTransactions401Response + '403': + description: Access to Belvo API denied + content: + application/json: + schema: + $ref: >- + #/components/schemas/CategorizationCategorizeTransactions403Response + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: >- + #/components/schemas/CategorizationCategorizeTransactions500Response + /api/credit-score: + get: + tags: + - Credit Score + summary: List all credit scores + operationId: CreditScore_listAll + description: > + Get a paginated list of all credit scores in your Belvo account. By + default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScorePaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreListAllResponse' + post: + tags: + - Credit Score + summary: Retrieve a credit score for a link + operationId: CreditScore_getByLink + description: > + Retrieve a credit score for a specific link. + + + Before requesting a credit score for a link, you must also make the + following requests in order for the score to be accurately calculated. + + + - POST Retrieve Accounts for a Link + + - POST Retrieve Transactions for a Link (minimum 30 + days of data, maximum 365 days of data) + + + + + This is because the credit score is calculated based on the + transactional data retrieved from the link. + + + We use up to 12 months of transactional data. + + + The minimum is 30 days of checking account transactional data. + + + The `date_to` parameter is optional and can be used to specify the date + until which you want to retrieve the credit score. If not provided, the + most recent credit score will be retrieved. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScore' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScore' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreGetByLinkResponse' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreGetByLink401Response' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreGetByLink408Response' + '428': + description: MFA Token Required + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreGetByLink428Response' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreGetByLink500Response' + /api/credit-score/{id}: + get: + tags: + - Credit Score + summary: Get a credit score's details + operationId: CreditScore_getDetailsById + description: Get the details of a specific credit score. + parameters: + - description: The `credit-score.id` you want to get detailed information about. + name: id + in: path + required: true + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScore' + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreGetDetailsByIdResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreGetDetailsById404Response' + delete: + tags: + - Credit Score + summary: Delete a credit score + operationId: CreditScore_deleteSpecificScore + description: Delete a specific credit score from your Belvo account. + parameters: + - description: the `credit-score.id` that you want to delete + name: id + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreDeleteSpecificScoreResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreDeleteSpecificScore404Response' + /api/enrich/credit-score: + post: + tags: + - Credit Score (EYOD) + summary: Retrieve Credit Score + operationId: CreditScoreEyod_getUserCreditScore + description: > + Send through your raw data and receive a credit score for a given user. + + + +
+ + + Note: Belvo can process up to 10,000 unique + transactions per request. + + +
+ parameters: [] + requestBody: + description: Request body for the EYOD credit score analysis. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreEyodGetUserCreditScoreRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreEyodGetUserCreditScoreResponse' + '400': + description: Bad request error + content: + application/json: + schema: + $ref: >- + #/components/schemas/CreditScoreEyodGetUserCreditScore400Response + '401': + description: Unathorized + content: + application/json: + schema: + $ref: >- + #/components/schemas/CreditScoreEyodGetUserCreditScore401Response + '403': + description: Access to Belvo API denied + content: + application/json: + schema: + $ref: >- + #/components/schemas/CreditScoreEyodGetUserCreditScore403Response + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: >- + #/components/schemas/CreditScoreEyodGetUserCreditScore500Response +components: + parameters: + page: + description: A page number within the paginated result set. + name: page + in: query + schema: + example: 1 + format: int32 + type: integer + page_size: + 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). + name: page_size + in: query + schema: + type: integer + format: int32 + default: 100 + minimum: 1 + maximum: 1000 + example: 100 + omit: + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + name: omit + in: query + schema: + type: string + example: field1,field2 + fields: + description: >- + Return only the specified fields in the response. For more information, + see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + name: fields + in: query + schema: + example: field1,field2,field3 + type: string + id: + description: Return information only for this resource `id`. + name: id + in: query + schema: + type: string + format: uuid + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + id__in: + description: Return information for these resource `id`s. + name: id__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: 6b3dea0f-be29-49d1-aabe-1a6d588642e6 + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + institution: + description: >- + Return results only for this institution (use the Belvo-designated name, + such as `erebor_mx_retail`). + name: institution + in: query + schema: + type: string + example: erebor_mx_retail + institution__in: + description: >- + Return results only for these institutions (use the Belvo-designated + names, such as `erebor_mx_retail` and `gringotts_mx_retail`). + name: institution__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: gringotts_mx_retail + example: erebor_mx_retail,gringotts_mx_retail + access_mode: + description: >- + Return links only with this access mode. Can be either `single` or + `recurrent`. + name: access_mode + in: query + schema: + example: single + type: string + created_at: + description: >- + Return items that were last updated in Belvo's database on this date (in + `YYYY-MM-DD` format). + name: created_at + in: query + schema: + type: string + format: date + example: '2022-05-05' + created_at__gt: + description: >- + Return items that were last updated in Belvo's database after this date + (in `YYYY-MM-DD` format). + name: created_at__gt + in: query + schema: + type: string + format: date + example: '2022-05-05' + created_at__gte: + description: >- + Return items that were last updated in Belvo's database after or on this + date (in `YYYY-MM-DD` format). + name: created_at__gte + in: query + schema: + type: string + format: date + example: '2022-05-04' + created_at__lt: + description: >- + Return items that were last updated in Belvo's database before this date + (in `YYYY-MM-DD` format). + name: created_at__lt + in: query + schema: + type: string + format: date + example: '2022-04-01' + created_at__lte: + description: >- + Return items that were last updated in Belvo's database before or on + this date (in `YYYY-MM-DD` format). + name: created_at__lte + in: query + schema: + type: string + format: date + example: '2022-03-30' + created_at__range: + description: >- + Return accounts that were last updated in Belvo's database between two + dates (in `YYYY-MM-DD` format). + name: created_at__range + in: query + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + format: date + example: '2022-03-03' + example: 2022-03-03,2022-05-04 + created_by__not_in: + description: Return links that were not created by these Belvo users. + name: created_by__not_in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: d9475f4d-c511-4732-9ef0-93b5672f43d3 + example: >- + 578947e2-3c9a-4401-bbad-59b2f2d2b91b,d3d941ab-4ca5-43c1-8b23-db329ee4cb7e + external_id: + description: Return links with this external ID. + name: external_id + in: query + schema: + type: string + example: InternalUser4000 + external_id__in: + description: Return links with these external IDs. + name: external_id__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: InternalUser4001 + example: InternalUser4000,InternalUser4001 + institution_user_id: + description: Return links with this specific institution user ID. + name: institution_user_id + in: query + schema: + type: string + example: ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0= + institution_user_id__in: + description: Return links with these institution user IDs. + name: institution_user_id__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0= + example: >- + ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0=,YwuTM0uEEh1BbVgDZBcNpa_-Tm3l2q8ZkZNrlhp-pNA= + refresh_rate: + description: >- + Return links with this refresh rate. Choose between `6h`, `12h`, `24h`, + `7d`, or `30d`. + name: refresh_rate + in: query + schema: + type: string + example: 24h + status_links: + description: >- + Return links with this status. Choose between `valid`, `invalid`, + `unconfirmed`, or `token_required`. + name: status + in: query + schema: + type: string + example: invalid + status__in_links: + description: >- + Return links with these statuses. Choose between `valid`, `invalid`, + `unconfirmed`, or `token_required`. + name: status__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: invalid + example: invalid,unconfirmed + pageSize_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). + name: page_size + in: query + schema: + type: integer + format: int32 + default: 100 + minimum: 1 + maximum: 1000 + example: 100 + link: + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + name: link + in: query + schema: + type: string + format: uuid + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + link__in: + description: Return results only for these `link.id`s. + name: link__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: 5722d0ba-69d7-42dc-8ff5-33767b83c5d6 + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + balance__available: + description: >- + Return accounts that have a `balance.available` matching exactly this + value. + name: balance__available + in: query + schema: + type: number + example: 4000 + balance__available__lt: + description: Return accounts that have a `balance.available` less than this value. + name: balance__available__lt + in: query + schema: + type: number + example: 6000 + balance__available__lte: + description: >- + Return accounts that have a `balance.available` less than or equal to + this value. + name: balance__available__lte + in: query + schema: + type: number + example: 5999 + balance__available__gt: + description: Return accounts that have a `balance.available` greater than this value. + name: balance__available__gt + in: query + schema: + type: number + example: 2000 + balance__available__gte: + description: >- + Return accounts that have a `balance.available` greater than or equal to + this value. + name: balance__available__gte + in: query + schema: + type: number + example: 1999 + balance__available__range: + description: >- + Return accounts that have a `balance.available` within a range of two + values. + name: balance__available__range + in: query + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + balance__current: + description: >- + Return accounts that have a `balance.current` matching exactly this + value. + name: balance__current + in: query + schema: + type: number + example: 4000 + balance__current__lt: + description: Return accounts that have a `balance.current` less than this value. + name: balance__current__lt + in: query + schema: + type: number + example: 6000 + balance__current__lte: + description: >- + Return accounts that have a `balance.available` less than or equal to + this value. + name: balance__current__lte + in: query + schema: + type: number + example: 5999 + balance__current__gt: + description: Return accounts that have a `balance.current` greater than this value. + name: balance__current__gt + in: query + schema: + type: number + example: 2000 + balance__current__gte: + description: >- + Return accounts that have a `balance.available` greater than or equal to + this value. + name: balance__current__gte + in: query + schema: + type: number + example: 1999 + balance__current__range: + description: >- + Return accounts that have a `balance.current` within a range of two + values. + name: balance__current__range + in: query + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + category: + description: >- + Return accounts only for the given category (for example, + `CHECKING_ACCOUNT` and `SAVINGS_ACCOUNT`). + name: category + in: query + schema: + type: string + example: CREDIT_ACCOUNT + category__in: + description: >- + Return accounts only for the given categories (for example, + `CHECKING_ACCOUNT` and `SAVINGS_ACCOUNT`). + name: category__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: SAVINGS_ACCOUNT + example: CHECKING_ACCOUNT,SAVINGS_ACCOUNT + currency: + description: >- + Return results that hold finances or balances in only this three-letter + currency code. + name: currency + in: query + schema: + type: string + example: COP + currency__in: + description: >- + Return results that have funds or balances in one of these three-letter + currency codes. + name: currency__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: COP + example: COP,MXN + name_accounts: + description: >- + Return accounts with exactly this internal (specified by the + institution) name. + name: name + in: query + schema: + type: string + example: Cuenta Perfiles- M.N. - MXN-666 + name__icontains: + description: >- + Return accounts partially matching this internal (specified by the + institution) name. + name: name__icontains + in: query + schema: + example: Perfiles + type: string + number_accounts: + description: >- + Return information only for this account number (as specified by the + institution). + name: number + in: query + schema: + type: string + example: '4057068115181' + number__in_accounts: + description: >- + Return information for these account numbers (as specified by the + institution). + name: number__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: '4057068115181' + example: 4057068115181,7809346821648 + public_identification_name: + description: >- + Return information only for this type of account ID. For example, CLABE + accounts. + name: public_identification_name + in: query + schema: + example: CLABE + type: string + public_identification_value: + description: >- + Return information only for this account ID. For example, the account + number for a CLABE account. + name: public_identification_value + in: query + schema: + example: '150194683119900273' + type: string + type_accounts: + description: >- + Return information only for accounts matching this account type, as + designated by the institution. + name: type + in: query + schema: + type: string + example: Cuentas de efectivo + link__required: + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + name: link + in: query + required: true + schema: + type: string + format: uuid + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + account: + description: > + The `account.id` you want to filter by. + + + ℹ️ We highly recommend adding either the `link.id` or the `account.id` + filters in order to improve your performance. + name: account + in: query + schema: + type: string + format: uuid + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + account__in: + description: Return results only for these `account.id`s. + name: account__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: 85b77707-90ef-46fd-9059-5a757f24247a + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + account__balance__available: + description: >- + Return transactions that have a `account.balance.available` matching + exactly this value. + name: account__balance__available + in: query + schema: + type: number + example: 4000 + account__balance__available__lt: + description: >- + Return transactions that have a `account.balance.available` less than + this value. + name: account__balance__available__lt + in: query + schema: + type: number + example: 6000 + account__balance__available__lte: + description: >- + Return transactions that have a `account.balance.available` less than or + equal to this value. + name: account__balance__available__lte + in: query + schema: + type: number + example: 5999 + account__balance__available__gt: + description: >- + Return transactions that have a `account.balance.available` more than + this value. + name: account__balance__available__gt + in: query + schema: + type: number + example: 6000 + account__balance__available__gte: + description: >- + Return transactions that have a `account.balance.available` more than or + equal to this value. + name: account__balance__available__gte + in: query + schema: + type: number + example: 5999 + account__balance__available__range: + description: >- + Return transactions that have a `account.balance.available` within a + range of two values. + name: account__balance__available__range + in: query + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + account__balance__current: + description: >- + Return transactions that have a `account.balance.current` matching + exactly this value. + name: account__balance__current + in: query + schema: + type: number + example: 4000 + account__balance__current__gt: + description: >- + Return transactions that have a `account.balance.current` greater than + this value. + name: account__balance__current__gt + in: query + schema: + type: number + example: 4020 + account__balance__current__gte: + description: >- + Return transactions that have a `account.balance.current` greater than + or equal to this value. + name: account__balance__current__gte + in: query + schema: + type: number + example: 4019 + account__balance__current__lt: + description: >- + Return transactions that have a `account.balance.current` less than this + value. + name: account__balance__current__lt + in: query + schema: + type: number + example: 3000 + account__balance__current__lte: + description: >- + Return transactions that have a `account.balance.current` less than or + equal to this value. + name: account__balance__current__lte + in: query + schema: + type: number + example: 2999 + account__balance__current__range: + description: >- + Return transactions that have a `account.balance.current` within a range + of two values. + name: account__balance__current__range + in: query + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + account_type: + description: >- + Return information only for transactions matching this account type, as + designated by the institution. + name: account_type + in: query + schema: + type: string + example: Cuentas de efectivo + account_type__in: + description: >- + Return information only for transactions matching these account types, + as designated by the institution. + name: account_type__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: Depositos Ahorro + example: Cuentas de efectivo,Depositos Ahorro + accounting_date: + description: >- + Return transactions that were processed by the institution on exactly + this date (`YYYY-MM-DD`). + name: accounting_date + in: query + schema: + type: string + format: date + example: '2022-05-05' + accounting_date__gt: + description: >- + Return transactions that were processed by the institution after this + date (`YYYY-MM-DD`). + name: accounting_date__gt + in: query + schema: + type: string + format: date + example: '2022-05-06' + accounting_date__gte: + description: >- + Return transactions that were processed by the institution on this date + (`YYYY-MM-DD`) or later. + name: accounting_date__gte + in: query + schema: + type: string + format: date + example: '2022-05-04' + accounting_date__lt: + description: >- + Return transactions that were processed by the institution before this + date (`YYYY-MM-DD`). + name: accounting_date__lt + in: query + schema: + type: string + format: date + example: '2022-03-02' + accounting_date__lte: + description: >- + Return transactions that were processed by the institution on this date + (`YYYY-MM-DD`) or earlier. + name: accounting_date__lte + in: query + schema: + type: string + format: date + example: '2022-03-01' + accounting_date__range: + description: >- + Return transactions that were processed by the institution in this date + range (`YYYY-MM-DD`). + name: accounting_date__range + in: query + style: form + explode: false + schema: + type: array + items: + type: string + format: date + example: '2022-05-06' + example: 2022-03-01,2022-05-06 + amount: + description: Return results only for this value. + name: amount + in: query + schema: + type: number + example: 1000 + amount__gt: + description: Return results only for more than this amount. + name: amount__gt + in: query + schema: + type: number + example: 1000 + amount__gte: + description: Return results only for and more than this amount. + name: amount__gte + in: query + schema: + type: number + example: 1000 + amount__lt: + description: Return results only for less than this amount. + name: amount__lt + in: query + schema: + type: number + example: 1000 + amount__lte: + description: Return results only for this amount or less. + name: amount__lte + in: query + schema: + type: number + example: 1000 + amount__range: + description: Return results between this amount range. + name: amount__range + in: query + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 2000 + example: 1001.00,2000.00 + collected_at: + description: >- + Return items that were retrieved from the institution on this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + name: collected_at + in: query + schema: + type: string + example: '2022-05-01' + collected_at__gt: + description: >- + Return items that were retrieved from the institution after this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + name: collected_at__gt + in: query + schema: + type: string + example: '2022-05-05' + collected_at__gte: + description: >- + Return items that were retrieved from the institution after or on this + date (`YYYY-MM-DD` or full `ISO-8601` timestamp). + name: collected_at__gte + in: query + schema: + type: string + example: '2022-05-04' + collected_at__lt: + description: >- + Return items that were retrieved from the institution before this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + name: collected_at__lt + in: query + schema: + type: string + example: '2022-04-01' + collected_at__lte: + description: >- + Return items that were retrieved from the institution before or on this + date (`YYYY-MM-DD` or full `ISO-8601` timestamp). + name: collected_at__lte + in: query + schema: + type: string + example: '2022-03-30' + collected_at__range: + description: >- + Return items that were retrieved from the institution between two dates + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + name: collected_at__range + in: query + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + example: '2022-05-04' + example: 2022-03-03,2022-05-04 + credit_card_data__bill_name__in: + description: Return transactions for one of these bill names. + name: credit_card_data__bill_name__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: feb-2022 + example: maio-2022,feb-2022 + reference: + description: Returns transactions with this institution-assigned reference number. + name: reference + in: query + schema: + type: string + example: '085904452810319225' + reference__in: + description: Returns transactions with these institution-assigned reference numbers. + name: reference__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: '085904452810319225' + example: 085904452810319225,8703 + status_transactions: + description: >- + Return transactions with this status. Can be either `PENDING`, + `PROCESSED`, or `UNCATEGORIZED`. + name: status + in: query + schema: + type: string + example: PENDING + status__in_transactions: + description: >- + Return transactions with these statuses. Can be either `PENDING`, + `PROCESSED`, or `UNCATEGORIZED`. + name: status__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: PROCESSED + example: PENDING,PROCESSED + type_transactions: + description: Return transactions with this type. Can be either `INFLOW` or `OUTFLOW`. + name: type + in: query + schema: + type: string + example: OUTFLOW + type__in_transactions: + description: >- + Return transactions with this types. Can be either `INFLOW` or + `OUTFLOW`. + name: type__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: INFLOW + example: INFLOW,OUTFLOW + value_date: + description: Return results for exactly this date (`YYYY-MM-DD`). + name: value_date + in: query + schema: + type: string + format: date + example: '2022-05-05' + value_date__gt: + description: Return results that occurred after this date (`YYYY-MM-DD`). + name: value_date__gt + in: query + schema: + type: string + format: date + example: '2022-05-06' + value_date__gte: + description: Return results for this date (`YYYY-MM-DD`) or later. + name: value_date__gte + in: query + schema: + type: string + format: date + example: '2022-05-04' + value_date__lt: + description: Return results for before this date (`YYYY-MM-DD`). + name: value_date__lt + in: query + schema: + type: string + format: date + example: '2022-03-02' + value_date__lte: + description: Return results for this date (`YYYY-MM-DD`) or earlier. + name: value_date__lte + in: query + schema: + type: string + format: date + example: '2022-03-01' + value_date__range: + description: Return results for this date (`YYYY-MM-DD`) range. + name: value_date__range + in: query + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + format: date + example: '2022-05-06' + example: 2022-03-01,2022-05-06 + account__type: + description: >- + Return information only for accounts matching this account type, as + designated by the institution. + name: account__type + in: query + schema: + type: string + example: Cuentas de efectivo + account__type__in: + description: >- + Return information only for accounts matching these account types, as + designated by the institution. + name: account__type__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: Credito + example: Cuentas de efectivo,Credito + balance: + description: Return balances matching exactly this value. + name: balance + in: query + schema: + type: number + example: 530 + balance__lt: + description: Return balances less than this value. + name: balance__lt + in: query + schema: + type: number + example: 540 + balance__lte: + description: Return balances less than or equal to this value. + name: balance__lte + in: query + schema: + type: number + example: 541 + balance__gt: + description: Return balances greater than this value. + name: balance__gt + in: query + schema: + type: number + example: 520 + balance__gte: + description: Return balances greater than or equal to this value. + name: balance__gte + in: query + schema: + type: number + example: 519 + balance__range: + description: Return balances between these two values. + name: balance__range + in: query + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 541 + example: 519.00,541.00 + display_name: + description: Return institutions that partially match this display name. + name: display_name + in: query + schema: + example: Erebor Bank + type: string + country_code: + description: Return institutions only for this two-letter country code. + name: country_code + in: query + schema: + example: MX + type: string + country_code__in: + description: Return institutions only for these two-letter country codes. + name: country_code__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: BR + example: CO,BR + resources__allin: + description: Return institutions that support these resources. + name: resources__allin + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: OWNERS + example: ACCOUNTS,OWNERS,TRANSACTIONS + name: + description: Return an institution with this Belvo-designated name. + name: name + in: query + schema: + type: string + example: erebor_mx_retail + name__in: + description: Return institutions with one or more of these Belvo-designated names. + name: name__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: gotham_co_business + example: erebor_br_retail,gotham_co_business + status_institutions: + description: >- + Return institutions with the given status. You can choose between + `healthy` or `down`. + name: status + in: query + schema: + type: string + example: healthy + status__in_institutions: + description: >- + Return institutions with one of the given statuses. You can choose + between `healthy` or `down`. + name: status__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: healthy + example: healthy,down + type_institutions: + description: >- + Return institutions of this type. You can choose between `bank`, + `fiscal`, or `employment`. + name: type + in: query + schema: + type: string + example: fiscal + type__in_institutions: + description: >- + Return institutions of one of these types. You can choose between + `bank`, `fiscal`, or `employment`. + name: type__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: fiscal + example: fiscal,bank + website: + description: Return institutions with this website URL. + name: website + in: query + schema: + type: string + example: https://www.erebor.mx + email: + description: Returns owners whose email address match your query. + name: email + in: query + schema: + type: string + example: lopes.d@gmail.com + display_name__icontains: + description: >- + Return owners whose full display name partially matches your query. For + example, `mar` will return results for Mark, Maria, Neymar, Remarque, + and so on. + name: display_name__icontains + in: query + schema: + type: string + example: Daniela + invoice_date: + description: Return invoices issued exactly on this date (`YYYY-MM-DD`). + name: invoice_date + in: query + schema: + type: string + format: date + example: '2022-05-05' + invoice_date__lt: + description: Return balances issued before this date (`YYYY-MM-DD`). + name: invoice_date__lt + in: query + schema: + type: string + format: date + example: '2022-03-02' + invoice_date__lte: + description: Return balances issued on this date or earlier (`YYYY-MM-DD`). + name: invoice_date__lte + in: query + schema: + type: string + format: date + example: '2022-03-01' + invoice_date__gt: + description: Return invoices issued after this date (`YYYY-MM-DD`). + name: invoice_date__gt + in: query + schema: + type: string + format: date + example: '2022-05-06' + invoice_date__gte: + description: Return invoices issued on this date or later (`YYYY-MM-DD`) + name: invoice_date__gte + in: query + schema: + type: string + format: date + example: '2022-05-04' + invoice_date__range: + description: Return invoices issued within this date range (`YYYY-MM-DD`). + name: invoice_date__range + in: query + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + format: date + example: '2022-05-06' + example: 2022-03-01,2022-05-06 + invoice_identification: + description: Return an invoice with this ID (as provided by the insitution). + name: invoice_identification + in: query + schema: + example: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + type: string + invoice_identification__in: + description: Return invoices with these IDs (as provided by the institution). + name: invoice_identification__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: 992B9918-3G6H-4E0B-DAI9-2BE2D833B833 + example: >- + 862B9918-3K6H-4E0B-NAI9-2BE2D833B840,992B9918-3G6H-4E0B-DAI9-2BE2D833B833 + status_invoice: + description: >- + Return invoices with this status. Can be either `Vigente` (valid) or + `Cancelado` (cancelled). + name: status + in: query + schema: + type: string + example: Vigente + status__in_invoice: + description: >- + Return invoices with these statuses. Can be either `Vigente` (valid) or + `Cancelado` (cancelled). + name: status__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: Cancelado + example: Vigente,Cancelado + type_invoice: + description: Return invoices of this type. Can be either `OUTFLOW` or `INFLOW`. + name: type + in: query + schema: + type: string + example: OUTFLOW + type__in_invoice: + description: Return invoices of these types. Can be either `OUTFLOW` or `INFLOW`. + name: type__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: OUTFLOW + example: OUTFLOW,INFLOW + total_amount: + description: Return invoices matching exactly this value. + name: total_amount + in: query + schema: + type: number + example: 1000 + total_amount__lt: + description: Return invoices less than this value. + name: total_amount__lt + in: query + schema: + type: number + example: 540 + total_amount__lte: + description: Return invoices less than or equal to this value. + name: total_amount__lte + in: query + schema: + type: number + example: 541 + total_amount__gt: + description: Return invoices greater than this value. + name: total_amount__gt + in: query + schema: + type: number + example: 520 + total_amount__gte: + description: Return invoices greater than or equal to this value. + name: total_amount__gte + in: query + schema: + type: number + example: 519 + total_amount__range: + description: Return invoices between these two values. + name: total_amount__range + in: query + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 541 + example: 519.00,541.00 + ejercicio: + description: Return tax returns for exactly this year (`YYYY`). + name: ejercicio + in: query + schema: + type: string + example: '2018' + ejercicio__lt: + description: Return tax returns for before this year (`YYYY`). + name: ejercicio__lt + in: query + schema: + type: string + example: '2020' + ejercicio__lte: + description: Return tax returns for this year and earlier (`YYYY`). + name: ejercicio__lte + in: query + schema: + type: string + example: '2021' + ejercicio__gt: + description: Return tax returns for after this year (`YYYY`). + name: ejercicio__gt + in: query + schema: + type: string + example: '2019' + ejercicio__gte: + description: Return tax returns for this year or later (`YYYY`). + name: ejercicio__gte + in: query + schema: + type: string + example: '2017' + ejercicio__range: + description: Return tax returns for this range of years (`YYYY`). + name: ejercicio__range + in: query + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + example: '2021' + example: 2015,2021 + tipo_declaracion: + description: Return tax returns with this declaration type. + name: tipo_declaracion + in: query + schema: + type: string + example: Normal + tipo_declaracion__in: + description: Return tax returns with these declaration types. + name: tipo_declaracion__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: Commercial + example: Normal,Commercial + year: + description: Return results for this year (`YYYY`). + name: year + in: query + schema: + type: number + example: 2020 + year__gt: + description: Return results for after this year (`YYYY`). + name: year__gt + in: query + schema: + type: number + example: 2020 + year__gte: + description: Return results for this year or after (`YYYY`). + name: year__gte + in: query + schema: + type: number + example: 2019 + year__lt: + description: Return results for before this year (`YYYY`). + name: year__lt + in: query + schema: + type: number + example: 2018 + year__lte: + description: Return results for this year or earlier (`YYYY`). + name: year__lte + in: query + schema: + type: number + example: 2017 + year__range: + description: Return results between these two years (`YYYY`). + name: year__range + in: query + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 2019 + example: 2017,2021 + internal_identification: + description: | + The `internal_identification` you want to filter by. + name: internal_identification + in: query + schema: + type: string + example: BLPM951331IONVGR54 + internal_identification__in: + description: | + One or more `internal_identification`s you want to filter by. + name: internal_identification__in + in: query + style: form + explode: false + schema: + type: array + items: + type: string + example: BLPM951331IONVGR54 + example: BLPM951331IONVGR54,GNQM951221IOMCGR59 + securitySchemes: + basicAuth: + description: >- + Belvo employs **basic authentication** using your secret keys. Just use + your secretId as the `username` and secretPassword as the `password`. + For example: + + + ```text Authentication example + + curl \ + -u =BASE64-SECRET_ID=:=BASE64-SECRET_PASSWORD= + https://sandbox.belvo.com/api/ + ``` + + + For information on how to get your API keys, check out our [Get Started + in 5 + Minutes](https://developers.belvo.com/docs/get-started-in-5-minutes) + DevPortal article. + type: http + scheme: basic + schemas: + common_pagination_properties: + type: object + properties: + count: + description: The total number of results in your Belvo account. + type: integer + format: int32 + example: 130 + next: + 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`). + type: string + nullable: true + format: uri + example: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: + description: > + The URL to the previous page of results. If there is no previous + page, the + + value is `null`. + type: string + nullable: true + format: uri + example: null + EnumLinkAccessModeResponse: + description: > + The link type. + + For more information, see our + [Links](https://developers.belvo.com/docs/links-and-institutions#links) + article. + + We return one of the following enum values: + - `single` + - `recurrent` + - `null` + type: string + nullable: true + enum: + - single + - recurrent + - null + example: recurrent + EnumLinkStatus: + description: > + The current status of the link. For more information, see our + [Link](https://developers.belvo.com/docs/links-and-institutions#links) + article in the devportal. + + We return one of the following values: + - `valid` + - `invalid` + - `unconfirmed` + - `token_required` + type: string + enum: + - valid + - invalid + - unconfirmed + - token_required + example: valid + EnumLinkRefreshRate: + description: > + The update refresh rate for the recurrent link. For more information, + check out our [recurrent link + documentation](https://developers.belvo.com/docs/links-and-institutions#recurrent-links) + in our DevPortal. + + We return one of the following enum values: + - `6h` + - `12h` + - `24h` + - `7d` (default) + - `30d` (once a month) + - `null` (for single links) + type: string + nullable: true + default: 7d + enum: + - 6h + - 12h + - 24h + - 7d + - 30d + - null + example: 7d + Link: + type: object + properties: + id: + description: Belvo's unique ID for the current Link. + type: string + format: uuid + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + description: | + Belvo's name for the institution. + type: string + example: erebor_mx_retail + access_mode: + $ref: '#/components/schemas/EnumLinkAccessModeResponse' + last_accessed_at: + description: > + The ISO-8601 timestamp of Belvo's most recent successful access to + the institution for the given link. + type: string + nullable: true + format: date-time + example: '2019-09-27T13:02:03.584Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + external_id: + description: > + The `external_id` you provided as an additional identifier for the + link. + + For more information, see our [Link creation + + article](https://developers.belvo.com/docs/link-creation-best-practices#adding-your-own-identifier). + type: string + nullable: true + minLength: 3 + example: 56ab5706-6e00-48a4-91c9-ca55968678d9 + institution_user_id: + description: > +
+ + Info: Only applicable for links created after + 08-02-2022. + +
+ + + + A unique 44-character string that can be used to identify a user at + a given institution. + + + + 📚 Check out our [Avoiding duplicated + links](https://developers.belvo.com/docs/link-creation-best-practices#avoiding-duplicated-links) + DevPortal article for more information and tips on how to use it. + type: string + pattern: '[A-Za-z0-9\-=_]{44}' + example: sooE7XJWEKypZJR603ecaWYk-8Ap0oD8Nr1pBQ4eG9c= + status: + $ref: '#/components/schemas/EnumLinkStatus' + created_by: + description: The unique ID for the user that created this link. + type: string + format: uuid + example: bcef7f35-67f2-4b19-b009-cb38795faf09 + refresh_rate: + $ref: '#/components/schemas/EnumLinkRefreshRate' + credentials_storage: + description: > + Indicates how long credentials are stored. For links where + `access_mode=recurrent`, this is set to `store`. + + + We return one of the following values: + + - `store` - credentials are stored (until the link is deleted). + - `nostore` - credentials are not stored. + - Any value between `1d` and `365d` to indicate the number of days the credentials are stored (from when the link was `created_at`). + + type: string + example: 27d + fetch_resources: + description: | + An array of resources that you will receive a historical update for. + type: array + items: + description: A Belvo resource that the institution supports. + type: string + example: ACCOUNTS + example: + - ACCOUNTS + - TRANSACTIONS + stale_in: + description: > + Indicates how long any data will be stored in Belvo's database for + the link (both single and recurrent), relative to the + `last_accessed_at` parameter. + type: string + nullable: true + example: 90d + PaginatedResponseLink: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + items: + $ref: '#/components/schemas/Link' + UnauthorizedError: + 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). + type: object + properties: + code: + 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 401 authentication_failed errors. + type: string + example: authentication_failed + message: + description: | + A short description of the error. + + + For `authentication_failed` errors, the description is: + + - `Invalid Secret Keys`. + type: string + example: Invalid Secret Keys + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + 401_consent_without_accounts_error: + 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. + type: object + properties: + code: + 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 401 consent_without_accounts errors. + type: string + example: consent_without_accounts + message: + description: > + A short description of the error. + + + + For `invalid` errors relating to `fetch_resources`, the description + is: + + - `The institution only supports the following resources: (comma-separated list of supported resources)`. + type: string + example: >- + The institution only supports the following resources: + EMPLOYMENT_RECORDS, OWNERS + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + EnumLinkAccessModeRequest: + description: > + The type of link to create. + + + - Use `single` to do ad hoc one-time POST requests for accounts, owners, + and transactions. + + - Use `recurrent` to have Belvo access information on a recurrent basis + so you always have fresh account, owner, balance, and transaction data. + + + For more information, see our + [Links](https://developers.belvo.com/docs/links-and-institutions#links) + article. + type: string + enum: + - single + - recurrent + default: recurrent + LinksRequest: + type: object + required: + - institution + - username + properties: + institution: + description: The Belvo name for the institution. + type: string + pattern: '[a-z]+_[a-z]{2}_[a-z]+' + example: erebor_mx_retail + username: + description: The end-user's username (or ID) used to log in to the institution. + type: string + example: username + password: + description: > + The end-user's password used to log in to the institution. + + + ℹ️ **Note**: You must send through a password for all institutions + except for IMSS (`imss_mx_employment`). + type: string + example: password + external_id: + description: > + An additional identifier for the link, provided by you, to store + + in the Belvo database. **Cannot** include any Personal Identifiable + Information (PII). **Must** be at least three characters long. + + + + If we identify that the identifier contains PII, we will force a + `null` value. For more information, see our [Link + + creation + + article](https://developers.belvo.com/docs/link-creation-best-practices#adding-your-own-identifier). + type: string + minLength: 3 + example: 56ab5706-6e00-48a4-91c9-ca55968678d9 + username2: + description: > + The end-user's second username (or email address) used to log in to + the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a second username, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + type: string + example: secondusername + username3: + description: > + The end-user's third username used to log in to the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a third username, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + type: string + example: thirdusername + password2: + description: > + The end-user's second password used to log in to the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a second password, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + type: string + example: pin + token: + description: > + The MFA token required by the bank to log in. + + + We do not recommend sending the authentication token in the same + request as registering the user. See our [Handling multi-factor + authentication](https://developers.belvo.com/docs/handling-2-factor-authentication) + article for more information and best practices. + type: string + example: 1234ab + access_mode: + $ref: '#/components/schemas/EnumLinkAccessModeRequest' + fetch_resources: + description: > + An array of resources that you would like to receive a historical + update for. + + + For banking institutions, you can select the following resources: + - `ACCOUNTS` + - `OWNERS` + - `TRANSACTIONS` + - `BILLS` (only for OFDA institutions) + - `INCOMES` + - `RECURRING_EXPENSES` + - `RISK_INSIGHTS` + - `CREDIT_SCORE` + + + For fiscal institutions, you can select the following resources: + - `INVOICES` + - `TAX_COMPLIANCE_STATUS` + - `TAX_DECLARATIONS` + - `TAX_RETENTIONS` + - `TAX_RETURNS` + - `TAX_STATUS` + + For employment institutions, you can select the following resources: + - `OWNERS` + - `EMPLOYMENT_RECORDS` + - `EMPLOYMENT_METRICS` + + type: array + items: + description: A Belvo resource that the institution supports. + type: string + example: ACCOUNTS + example: + - ACCOUNTS + - TRANSACTIONS + credentials_storage: + description: > + Indicates whether or not to store credentials (and the duration for + which to store the credentials). + + + - For recurrent links, this is set to `store` by default (and cannot + be changed). + + - For single links, this is set to `365d` by default. + + + Choose either: + - `store` to store credentials (until the link is deleted) + - `nostore` to not store credentials + - Any value between `1d` and `365d` to indicate the number of days you want the credentials to be stored. + type: string + example: 27d + stale_in: + description: > + Indicates how long any data should be stored in Belvo's database for + the link (both single and recurrent). For example, if you send + through `90d`, Belvo will remove any data from its database relating + to the user after 90 days. + + + > **Note**: Belvo will only remove data for links that have not been + updated in the period you provide in `stale_in`. + + > + + > For example, if you set `stale_in` to `42d` and only request + information once on that day, then Belvo will remove any data + associated with the link after 42 days. However, if you make another + request five days later, then Belvo will restart the day counter to + that day. + + + By default Belvo stores user data for 365 days, unless the link is + deleted. + type: string + example: 42d + username_type: + description: > + Type of document to be used as a username. + + + Some banking institutions accept different documents to be used as + the `username` to login. For example, the *Cédula de Ciudadanía*, + *Cédula de Extranjería*, *Pasaporte'*, and so on. + + + For banks that require a document to log in, you **must** provide + the `username_type` parameter to specify which document is used when + creating the link. + + + ℹ️ To know which institutions require the `username_type` parameter, + get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + + + For a list of standards codes, see the table below. + + + | Code | Description | + + |-----------|-------| + + | `001` | Cédula de Ciudadanía | + + | `002` | Cédula de Extranjería | + + | `003` | Pasaporte | + + | `004` | Tarjeta de Identidad | + + | `005` | Registro Civil | + + | `006` | Número Identificación Personal | + + | `020` | NIT | + + | `021` | NIT Persona Natural | + + | `022` | NIT Persona Extranjera | + + | `023` | NIT Persona Jurídica | + + | `024` | NIT Menores | + + | `025` | NIT Desasociado | + + | `030` | Trj. Seguro Social Extranjero | + + | `031` | Sociedad Extranjera sin NIT en Colombia | + + | `032` | Fideicomiso | + + | `033` | RIF Venezuela | + + | `034` | CIF | + + | `035` | Número de Identidad | + + | `036` | RTN | + + | `037` | Cédula de Identidad | + + | `038` | DIMEX | + + | `039` | CED | + + | `040` | PAS | + + | `041` | Documento Único de Identidad | + + | `042` | NIT Salvadoreño | + + | `100` | Agência e conta | + + | `101` | Código do operador | + + | `102` | Cartão de crédito | + + | `103` | CPF | + type: string + example: '001' + TooManySessionsError: + title: Too Many Sessions + description: | + This error occurs when: + + - a user is attempting to log in to their institution via Belvo while also already being logged in to their institution on a web browser or mobile app. + - you make a request for information while Belvo is scraping data from the institution for that user. + type: object + properties: + code: + description: > + A unique error code (`too_many_sessions`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 too_many_sessions errors. + type: string + example: too_many_sessions + message: + description: | + A short description of the error. + + + For `too_many_sessions` errors, the description is: + + - `Impossible to login, a session is already opened with the institution for these credentials`. + type: string + example: >- + Impossible to login, a session is already opened with the + institution for these credentials + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + LoginError: + title: Login Error + description: | + This error can occur when: + + - the credentials that your user provides are incorrect or missing. + - the MFA token your user provides is not supported by Belvo. + - there is an issue with the institution that prevents logins. + - the user's account is either locked or the user does not have permission to access their internet banking. + type: object + properties: + code: + description: > + A unique error code (`login_error`) that allows you to classify and + handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 login_error errors. + type: string + example: login_error + message: + description: > + A short description of the error. + + + + For `login_error` errors, the description can be one of the + following: + + - `Invalid credentials provided to login to the institution` + - `A MFA token is required by the institution, but it's not supported yet by Belvo.` + - `Impossible to login, something unexpected happened while logging into the institution. Try again later.` + - `Login not attempted due to invalid credentials` + - `Missing credentials to login to the institution` + - `The user account access was forbidden by the institution` + - `The user account is locked, user needs to contact the institution to unlock it` + + type: string + example: Invalid credentials provided to login to the institution + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + SessionExpiredError: + title: Session Expired + description: > + This error occurs when you try to resume a request session that has + already expired. This is usually because the user took too long to + provide their authentication token. + type: object + properties: + code: + description: > + A unique error code (`session_expired`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 session_expired errors. + type: string + example: session_expired + message: + description: | + A short description of the error. + + + For `session_expired` errors, the description is: + + - `The session you are trying to resume has expired, please start again from register/retrieve endpoint`. + type: string + example: >- + The session you are trying to resume has expired, please start again + from register/retrieve endpoint + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + ValidationError: + title: Validation Error + description: > + This error occurs when make a request that does not include all the + required fields or includes invalid data. + type: object + properties: + code: + description: > + A unique error code (`null`, `does_not_exist`, `required`) that + allows you to classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle: + - 400 blank errors + - 400 null errors + - 400 does_not_exist errors + - 400 required errors + type: string + example: required + message: + description: | + A short description of the error. + + + For validation errors, the description can be (among others): + + - `This field is required.` + - `Object with name=narnia does not exist.` + - `This field may not be null.` + - `This field may not be blank.` + type: string + example: This field is required. + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + field: + description: | + Name of the field where the error was encountered. + type: string + nullable: true + example: link + InstitutionDownError: + title: Institution Down + description: > + This error occurs when the institution's website that you're trying to + access is down due to maintenance or other issues, which means Belvo is + unable to create new links or retrieve new data. + type: object + properties: + code: + description: > + A unique error code (`institution_down`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 institution_down errors. + type: string + example: institution_down + message: + description: | + A short description of the error. + + + For `institution_down` errors, the description is: + + - `The financial institution is down, try again later`. + type: string + example: The financial institution is down, try again later + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + InstitutionUnavailableError: + title: Institution Unavailable + description: > + This error occurs when the institution's website that you're trying to + access is down due to maintenance or other issues, which means Belvo is + unable to create new links or retrieve new data. + type: object + properties: + code: + description: > + A unique error code (`institution_unavailable`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how handle 400 institution_unavailable errors. + type: string + example: institution_unavailable + message: + description: | + A short description of the error. + + + For `institution_unavailable` errors, the description is: + + - `The financial institution is unavailable`. + type: string + example: The financial institution is unavailable + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + InstitutionInactiveError: + title: Institution Inactive + description: > + This error occurs when we (Belvo) have deactivated the institution in + our API. + type: object + properties: + code: + description: > + A unique error code (`institution_inactive`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 institution_inactive errors. + type: string + example: institution_inactive + message: + description: | + A short description of the error. + + + For `institution_inactive` errors, the description is: + + - `The institution has been temporarily deactivated`. + type: string + example: The institution has been temporarily deactivated + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + InvalidLinkError: + title: Invalid Link + description: > + This error occurs when you try to access an account but the user + credentials are no longer valid, prompting an error from the + institution. + type: object + properties: + code: + description: > + A unique error code (`invalid_link`) that allows you to classify and + handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_link errors. + type: string + example: invalid_link + message: + description: | + A short description of the error. + + + For `invalid_link` errors, the description is: + + - `The link has been invalidated. You may need to update link credentials`. + type: string + example: >- + The link has been invalidated. You may need to update link + credentials + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + 400InvalidCredentialsStorageError: + title: Invalid Credentials Storage + 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`. + type: object + properties: + code: + description: > + A unique error code (`invalid_credentials_storage`) that allows you + to classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_credentials_storage errors. + type: string + example: login_error + message: + description: > + A short description of the error. + + + + For `invalid_credentials_storage` errors, the description can be one + of the following: + + - `Recurrent links must store the credentials` + + type: string + example: Recurrent links must store the credentials + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + 400InvalidFetchHistorical: + title: Invalid Fetch Resources + 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`. + type: object + properties: + code: + description: > + A unique error code (`invalid_fetch_resources`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_fetch_resources errors. + type: string + example: invalid_fetch_resources + message: + description: > + A short description of the error. + + + + For `invalid_fetch_resources` errors, the description can be one of + the following: + + - `Single links without stored credentials must fetch resources` + + type: string + example: Single links without stored credentials must fetch resources + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + 400InvalidResourcesError: + title: Invalid Resources + description: > + This error occurs when you attempted to create a link where you added + resources in `fetch_resources` that are unsupported by the institution. + type: object + properties: + field: + description: > + The request parameter that is causing the error. For invalid + resources, this will be set to `resources`. + type: string + example: resources + code: + description: > + A unique error code (`invalid`) that allows you to classify and + handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_period errors. + type: string + example: invalid + message: + description: > + A short description of the error. + + + + For `invalid` errors relating to `fetch_resources`, the description + is: + + - `The institution only supports the following resources: (comma-separated list of supported resources)`. + type: string + example: >- + The institution only supports the following resources: + EMPLOYMENT_RECORDS, OWNERS + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + UnconfirmedLinkError: + title: Unconfirmed Link + description: > + This error occurs when you try to access a link that was paused + previously (and as such is not active now). + + + A Link's status is set to `unconfirmed_link` when your user has not + completed the Link creation process successfully (for example, they + might not provide a valid MFA token). + type: object + properties: + code: + description: > + A unique error code (`unconfirmed_link`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 unconfirmed_link errors. + type: string + example: unconfirmed_link + message: + description: | + A short description of the error. + + + For `unconfirmed_link` errors, the description is: + + - `The link creation has not been completed yet`. + type: string + example: The link creation has not been completed yet + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + UnsupportedOperationError: + title: Unsupported Operation + description: > + This error occurs when you try to access some data operation that Belvo + does not support for an institution. For example, trying to access the + Balances resource for fiscal institutions. + type: object + properties: + code: + description: > + A unique error code (`unsupported_operation`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 unsupported_operation errors. + type: string + example: unsupported_operation + message: + description: | + A short description of the error. + + + For `unsupported_operation` errors, the description is: + + - `The resource you are trying to access is not supported by this institution`. + type: string + example: >- + The resource you are trying to access is not supported by this + institution + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + TokenRequiredResponseTokenGenerationData: + description: Details on how to generate the token. + type: object + properties: + instructions: + description: Instructions for token generation. + type: string + example: Use this code to generate the token + type: + description: | + Type of the data to generate the token (QR code, numeric + challenge). + type: string + example: numeric + value: + description: Value to use to generate the token. + type: string + example: '12345' + expects_user_input: + description: > + Indicates whether the user needs to provide input in order to + complete the authentication. + + + When set to `false`, your user may need to: + + + - confirm the login on another device + + - scan a QR code + + + You will still need to make a PATCH call to complete the request. + type: boolean + example: true + default: true + TokenRequiredResponse: + description: MFA Token Required + type: object + properties: + code: + description: > + A unique error code (`token_required`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 428 token_required errors. + type: string + example: token_required + message: + description: | + A short description of the error. + + + For `token_required` errors, the description is: + + - `A MFA token is required by the institution to login`. + type: string + example: A MFA token is required by the institution to login + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 8c7b283c6efa449c9c028a16b5c249fa + session: + description: > + A 32-character unique ID of the login session (matching a regex + pattern of: `[a-f0-9]{32}`). + type: string + pattern: '[a-f0-9]{32}' + example: 2675b703b9d4451f8d4861a3eee54449 + expiry: + description: Session duration time in seconds. + type: integer + format: int32 + example: 9600 + link: + description: | + Unique identifier created by Belvo, used to reference the current + Link. + type: string + format: uuid + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + token_generation_data: + $ref: '#/components/schemas/TokenRequiredResponseTokenGenerationData' + 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. + type: object + properties: + code: + 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 500 unexpected_error errors. + type: string + example: unexpected_error + message: + description: | + A short description of the error. + + + For `unexpected_error` errors, the description is: + + - `Belvo is unable to process the request due to an internal system issue or to an unsupported response from an institution`. + type: string + example: >- + Belvo is unable to process the request due to an internal system + issue or to an unsupported response from an institution + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + PatchBodyWithoutSaveData: + description: A JSON object containing a session UUID and a MFA token + type: object + required: + - session + - link + properties: + session: + description: | + The session you want to resume. You need to use the `session` value + that is provided in the 428 Token Required response that you receive + after you make your POST request. + type: string + pattern: '[a-f0-9]{32}' + example: 6e7b283c6efa449c9c028a16b5c249fa + token: + description: | + The MFA token generated by the institution and required to continue + a session. + type: string + example: 1234ab + link: + description: | + The `link.id` you want to resume. Must be the same `link.id` as the + one you receive in the 428 Token Required response that contains the + `session` ID. + type: string + format: uuid + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + NotFoundError: + title: Not Found + type: object + properties: + code: + description: > + A unique error code (`not_found`) that allows you to classify and + handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 404 not_found errors. + type: string + example: not_found + message: + description: | + A short description of the error. + + + For `not_found` errors, the description is: + + - `Not found` + type: string + example: Not found + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + LinksPutRequest: + type: object + required: + - institution + - username + - password + properties: + password: + description: The end-user's password used to log in to the institution. + type: string + example: password + password2: + description: > + The end-user's second password used to log in to the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a second password, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + type: string + example: pin + token: + description: | + The MFA token required by the bank to log in. + type: string + example: 1234ab + username_type: + description: | + Type of document to be used as a username. + + Some banking institutions accept different documents to be used as the `username` to login. For example, the *Cédula de Ciudadanía*, *Cédula de Extranjería*, *Pasaporte'*, and so on. + + For banks that require a document to log in, you **must** provide the `username_type` parameter to specify which document is used when creating the link. + + ℹ️ To know which institutions require the `username_type` parameter, get the [details](https://developers.belvo.com/reference/detailinstitution) for the institution and check the `form_fields` array in the response. + + For a list of standards codes, see the table below. + + | Code | Description | + |-----------|-------| + | `001` | Cédula de Ciudadanía | + | `002` | Cédula de Extranjería | + | `003` | Pasaporte | + | `004` | Tarjeta de Identidad | + | `005` | Registro Civil | + | `006` | Número Identificación Personal | + | `020` | NIT | + | `021` | NIT Persona Natural | + | `022` | NIT Persona Extranjera | + | `023` | NIT Persona Jurídica | + | `024` | NIT Menores | + | `025` | NIT Desasociado | + | `030` | Trj. Seguro Social Extranjero | + | `031` | Sociedad Extranjera sin NIT en Colombia | + | `032` | Fideicomiso | + | `033` | RIF Venezuela | + | `034` | CIF | + | `035` | Número de Identidad | + | `036` | RTN | + | `037` | Cédula de Identidad | + | `038` | DIMEX | + | `039` | CED | + | `040` | PAS | + | `041` | Documento Único de Identidad | + | `042` | NIT Salvadoreño | + | `100` | Agência e conta | + | `101` | Código do operador | + | `102` | Cartão de crédito | + | `103` | CPF | + type: string + example: '001' + certificate: + description: > + For certain fiscal institutions, it is possible to log in using a + certificate and a private key, which enables a faster connection to + the institution. + + + Belvo supports a base64 encoded `certificate`. If the `certificate` + parameter is used, you *must* also provide the `private_key` + parameter. + type: string + example: 1234567890abcd= + private_key: + description: > + For certain fiscal institutions, it is possible to log in using a + certificate and a private key, which enables a faster connection to + the institution. + + + Belvo supports a base64 encoded `private_key`. If the `private_key` + parameter is used, you *must* also provide the `certificate` + parameter. + type: string + example: 1234567890abcd= + ChangeAccessMode: + type: object + required: + - access_mode + properties: + access_mode: + $ref: '#/components/schemas/EnumLinkAccessModeRequest' + InvalidAccessMode: + title: Invalid Access Mode + description: > + This error occurs when you try to update a link from single to + recurrent, but there are no login credentials stored for the user. + type: object + properties: + code: + description: > + A unique error code (`invalid_access_mode_switch`) that allows you + to classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_access_mode_switch errors. + type: string + example: invalid_link + message: + description: | + A short description of the error. + + + For `invalid_access_mode_switch` errors, the description is: + + - `This link doesn't have stored credentials hence it can't be switched to recurrent mode"`. + type: string + example: >- + This link doesn't have stored credentials hence it can't be switched + to recurrent mode" + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + EnumInstitutionType: + description: | + The type of institution. We return one of the following values: + + - `bank` + - `fiscal` + - `employment` + type: string + enum: + - bank + - fiscal + - employment + InstitutionAccount: + description: Details regarding the institution. + type: object + properties: + name: + description: > + The name of the institution, as designated by Belvo. + + + Please see our + [Institutions](https://developers.belvo.com/docs/institution) + DevPortal article for a detailed list of institution names. + type: string + example: erebor_mx_retail + type: + $ref: '#/components/schemas/EnumInstitutionType' + EnumAccountCategory: + description: | + The type of account. + We return one of the following enum values: + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `INVESTMENT_ACCOUNT` + - `LOAN_ACCOUNT` + - `PENSION_FUND_ACCOUNT` + - `SAVINGS_ACCOUNT` + - `UNCATEGORIZED` + - `null` + type: string + nullable: true + enum: + - CHECKING_ACCOUNT + - CREDIT_CARD + - INVESTMENT_ACCOUNT + - LOAN_ACCOUNT + - PENSION_FUND_ACCOUNT + - SAVINGS_ACCOUNT + - UNCATEGORIZED + - null + example: CHECKING_ACCOUNT + AccountsBalance: + description: | + Details regarding the current and available balances for the account. + type: object + required: + - current + properties: + current: + description: > + The current balance is calculated differently according to the type + of account. + + + + - **💰 Checking and saving accounts**: + + + + The user's account balance at the `collected_at` timestamp. + + + - **💳 Credit cards**: + + + + The 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). + + + - **🏡 Loan accounts**: + + + + The amount remaining to pay on the users's loan. + type: number + nullable: true + format: float + example: 5874.13 + available: + description: > + The balance that the account owner can use. + + + - **💰 Checking and saving accounts**: + + + + The available balance may be different to the `current` balance due + to pending transactions. + + + - **💳 Credit cards**: + + + + The 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. + + + - **🏡 Loan accounts**: + + + + The present value required to pay off the loan, as provided by the + institution. + + + + **Note:** If the institution does not provide this value, we return + `null`. + type: number + nullable: true + format: float + example: 5621.12 + AccountsCreditData: + description: The credit options associated with this account. + type: object + nullable: true + required: + - credit_limit + - cutting_date + - next_payment_date + - minimum_payment + - no_interest_payment + - interest_rate + - collected_at + properties: + credit_limit: + description: The maximum amount of credit the owner can receive. + type: number + nullable: true + format: float + example: 192000 + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + cutting_date: + description: The closing date of the credit period, in `YYYY-MM-DD` format. + type: string + nullable: true + example: '2019-12-11' + next_payment_date: + description: The due date for the next payment , in `YYYY-MM-DD` format. + type: string + example: '2019-12-13' + minimum_payment: + description: The minimum amount to be paid on the `next_payment_date`. + type: number + nullable: true + format: float + example: 2400.3 + no_interest_payment: + description: The minimum amount required to pay to avoid generating interest. + type: number + nullable: true + format: float + example: 2690.83 + interest_rate: + description: The annualized interest rate of the credit. + type: number + nullable: true + format: float + example: 4 + monthly_payment: + 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.* + + + *The recurrent monthly payment, if applicable.* + type: number + nullable: true + deprecated: true + example: .nan + last_payment_date: + 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.* + + + + *The date when the last credit payment was made, in `YYYY-MM-DD` + format.* + type: string + nullable: true + deprecated: true + example: null + last_period_balance: + 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.* + + + + *The balance remaining after the `last_payment_date`.* + type: string + nullable: true + deprecated: true + example: null + EnumLoanDataInterestRateType: + description: > + The period that the interest is applied to the loan. We return one of + the following values: + + - `MONTHLY` + - `YEARLY` + type: string + nullable: true + enum: + - MONTHLY + - YEARLY + example: MONTHLY + AccountsLoanDataInterestRate: + description: Breakdown of the interest applied to the loan. + type: object + required: + - name + - type + - value + properties: + name: + description: The name of the type of interest rate applied to the loan. + type: string + nullable: true + example: jurosEfetivo + type: + $ref: '#/components/schemas/EnumLoanDataInterestRateType' + value: + description: The interest rate (in percent or currency value). + type: number + nullable: true + format: float + example: 7.85 + EnumLoanDataFeeType: + description: | + The type of fee. We return one of the following values: + + - `OPERATION_FEE` + - `INSURANCE_FEE` + - `OTHERS` + type: string + enum: + - OPERATION_FEE + - INSURANCE_FEE + - OTHERS + example: OPERATION_FEE + AccountsLoanDataFees: + description: Breakdown of the fees applied to the loan. + type: object + nullable: true + required: + - type + - value + properties: + type: + $ref: '#/components/schemas/EnumLoanDataFeeType' + value: + description: | + The total value of the fee. Same currency of the Loan. + type: number + format: float + example: 5.6 + AccountsLoanData: + description: The loan options associated with this account. + type: object + nullable: true + required: + - principal + - monthly_payment + - outstanding_balance + - interest_rates + - collected_at + properties: + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + contract_amount: + description: >- + The initial total loan amount, calculated by the institution, when + the contract was signed. This amount includes the principal + + interest + taxes + fees. + type: number + nullable: true + format: float + example: 202000 + principal: + description: Total amount of the loan (the amount the user receives). + type: number + nullable: true + format: float + example: 192000 + loan_type: + description: The type of the loan, according to the institution. + type: string + nullable: true + example: Consignado + payment_day: + description: >- + The day of the month by which the owner needs to pay the loan + (`DD`). + type: string + nullable: true + example: '27' + outstanding_principal: + description: > + Outstanding loan amount, that is, how much remains to pay on the + principal (not including interest). + type: number + nullable: true + format: float + example: 142023 + outstanding_balance: + description: The amount remaining to pay in total, including interest. + type: number + nullable: true + format: float + example: 182000 + monthly_payment: + description: The recurrent monthly payment, if applicable. + type: number + nullable: true + format: float + example: 1000 + interest_rates: + description: Breakdown of the interest applied to the loan. + type: array + nullable: true + items: + $ref: '#/components/schemas/AccountsLoanDataInterestRate' + fees: + description: Breakdown of the fees applied to the loan. + type: array + nullable: true + items: + $ref: '#/components/schemas/AccountsLoanDataFees' + number_of_installments_total: + description: The total number of installments required to pay the loan. + type: integer + nullable: true + format: int32 + example: 60 + number_of_installments_outstanding: + description: The number of installments left to pay. + type: integer + nullable: true + format: int32 + example: 48 + contract_start_date: + description: The date when the loan contract was signed , in `YYYY-MM-DD` format. + type: string + nullable: true + example: '2020-03-01' + contract_end_date: + description: >- + The date when the loan is expected to be completed, in `YYYY-MM-DD` + format. + type: string + format: date + example: '2027-10-01' + contract_number: + description: The contract number of the loan, as given by the institution. + type: string + nullable: true + example: 890ASLDJF87SD00 + credit_limit: + 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.* + + + Please see `principal` instead. + type: number + nullable: true + deprecated: true + example: .nan + last_period_balance: + 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.* + + + Please see `outstanding_balance` instead. + type: number + nullable: true + deprecated: true + example: .nan + interest_rate: + 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.* + + + Please see the `interest_rates` object instead. + type: number + nullable: true + deprecated: true + example: .nan + limit_day: + 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.* + + + Please see `payment_day` instead. + type: string + nullable: true + deprecated: true + example: null + cutting_day: + 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.* + + + The closing day of the month for the loan. + type: string + nullable: true + deprecated: true + example: null + cutting_date: + 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.* + + + The closing date of the loan period, in `YYYY-MM-DD` format. + type: string + nullable: true + deprecated: true + example: null + last_payment_date: + 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.* + + + The date when the last loan payment was made, in `YYYY-MM-DD` + format. + type: string + nullable: true + deprecated: true + next_payment_date: + 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.* + + + Please use `payment_day` instead, in `YYYY-MM-DD` format. + type: string + nullable: true + deprecated: true + example: null + no_interest_payment: + 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.* + + + The minimum amount required to pay to avoid generating interest. + type: number + nullable: true + deprecated: true + example: .nan + AccountsFundsDataPublicIdentifications: + type: object + required: + - name + - value + properties: + name: + description: The type of identification number for the fund. + type: string + example: CNPJ + value: + description: The fund's identification number. + type: string + nullable: true + example: 05.954.445/0221-68 + AccountsFundsData: + type: object + properties: + collected_at: + description: The ISO-8601 timestamp when the data point was collected. + type: string + format: date-time + example: '2020-04-23T21:32:55.336854+00:00' + name: + description: The pension fund name. + type: string + nullable: true + example: FIX X + type: + description: Type of pension fund. + type: string + nullable: true + example: CNPJ + public_identifications: + description: The fund's public IDs. + type: array + nullable: true + items: + $ref: '#/components/schemas/AccountsFundsDataPublicIdentifications' + balance: + description: The amount in the fund. + type: number + nullable: true + format: float + example: 88427.94 + percentage: + description: | + How much this fund, as a percentage, contributes to the pension + account's total. + type: number + nullable: true + format: float + example: 100 + Account: + title: Accounts Standard (Multi-Region) + description: > + Details regarding the account. + + + **Note**: For our recurring expenses resource, this account relates to + the account that was analyzed to generate the recurring expenses report. + type: object + 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: + description: | + The unique identifier created by Belvo used to reference the current + account. + type: string + format: uuid + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: + description: The `link.id` the account belongs to. + type: string + nullable: true + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + $ref: '#/components/schemas/InstitutionAccount' + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + format: date-time + example: '2019-09-27T13:01:41.941Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + category: + $ref: '#/components/schemas/EnumAccountCategory' + balance_type: + 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. + type: string + nullable: true + example: ASSET + type: + description: The account type, as designated by the institution. + type: string + nullable: true + example: Cuentas de efectivo + name: + description: The account name, as given by the institution. + type: string + nullable: true + example: Cuenta Perfiles- M.N. - MXN-666 + number: + description: The account number, as designated by the institution. + type: string + nullable: true + example: '4057068115181' + balance: + $ref: '#/components/schemas/AccountsBalance' + currency: + description: |- + The currency of the account. For example: + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + + Please note that other currencies other than in the list above may be returned. + type: string + nullable: true + example: MXN + public_identification_name: + description: > + The public name for the type of identification. For example: + `"CLABE"`. + + + ℹ️ For 🇧🇷 Brazilian savings and checking accounts, this field will + be `AGENCY/ACCOUNT`. + type: string + nullable: true + example: CLABE + public_identification_value: + description: > + The value for the `public_identification_name`. + + + ℹ️ For 🇧🇷 Brazilian savings and checking accounts, this field will + be the agency and bank account number, separated by a slash. + + For example: `0444/45722-0`. + type: string + nullable: true + example: '150194683119900273' + last_accessed_at: + description: > + The ISO-8601 timestamp of Belvo's most recent successful access to + the institution for the given link. + type: string + nullable: true + format: date-time + example: '2021-03-09T10:28:40.000Z' + credit_data: + $ref: '#/components/schemas/AccountsCreditData' + loan_data: + $ref: '#/components/schemas/AccountsLoanData' + funds_data: + description: One or more funds that contribute to the the pension account. + type: array + nullable: true + items: + $ref: '#/components/schemas/AccountsFundsData' + bank_product_id: + 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.* + + + *The institution's product ID for the account type.* + type: string + nullable: true + deprecated: true + example: null + internal_identification: + 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.* + + + *The institution's internal identification for the account.* + deprecated: true + type: string + nullable: true + example: null + AccountsPaginatedResponse: + title: Accounts Standard (Multi-Region) + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: An array of Account objects. + type: array + items: + $ref: '#/components/schemas/Account' + EnumAccountCategoryOpenFinance: + description: | + The type of account. + We return one of the following enum values: + - `ADVANCE_DEPOSIT_ACCOUNT` + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `FINANCING_ACCOUNT` + - `INVESTMENT_ACCOUNT` + - `INVOICE_FINANCING_ACCOUNT` + - `LOAN_ACCOUNT` + - `PENSION_FUND_ACCOUNT` + - `SAVINGS_ACCOUNT` + - `UNCATEGORIZED` + type: string + nullable: true + enum: + - ADVANCE_DEPOSIT_ACCOUNT + - CHECKING_ACCOUNT + - CREDIT_CARD + - FINANCING_ACCOUNT + - INVESTMENT_ACCOUNT + - INVOICE_FINANCING_ACCOUNT + - LOAN_ACCOUNT + - PENSION_FUND_ACCOUNT + - SAVINGS_ACCOUNT + - UNCATEGORIZED + example: CHECKING_ACCOUNT + AccountOverdraftOpenFinanceBrazil: + type: object + nullable: true + required: + - arranged + - used + - unarranged + properties: + arranged: + description: > + The agreed upon overdraft limit between the account holder and the + institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `overdraft` field is available. + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 5000.5 + used: + description: > + The overdraft value used. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `overdraft` field is available. + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 1000.5 + unarranged: + description: > + The overdraft used that was not arranged between the account holder + and the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `overdraft` field is available. + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 300.1 + AccountBalanceOpenFinanceBrazil: + description: | + Details regarding the current and available balances for the account. + type: object + required: + - current + properties: + current: + description: > + The current balance is calculated differently according to the type + of account. + + + + - **💰 Checking and saving accounts**: + + + + The user's account balance at the `collected_at` timestamp. + + + - **💳 Credit cards**: + + + + The 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). + + + - **🏡 Loan accounts**: + + + + The amount remaining to pay on the users's loan. + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 5874.13 + available: + description: > + The balance that the account owner can use. + + + - **💰 Checking and saving accounts**: + + + + The available balance may be different to the `current` balance due + to pending transactions. + + + - **💳 Credit cards**: + + + + The credit amount the user still has available for the current + period. The amount is calculated as `credit_data.credit_limit` minus + `balance.current`. + + + - **🏡 Loan accounts**: + + + + The present value required to pay off the loan, as provided by the + institution. + + + + **Note:** If the institution does not provide this value, we return + `null`. + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 5621.12 + blocked: + description: > + The amount that is currently blocked due to pending transactions. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 60.32 + automatically_invested: + description: > + The amount that is automatically invested (as agreed upon with the + institution). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 131.5 + EnumCreditCardLimitType: + description: | + The type of limit. We return one of the following values: + + - `TOTAL_LIMIT` + - `MODAL_LIMIT` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + type: string + enum: + - TOTAL_LIMIT + - MODAL_LIMIT + example: TOTAL_LIMIT + AccountCreditDataLimitsOpenFinanceBrazil: + description: > + Detailed information regarding the credit limits for the credit cards. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + type: object + required: + - identification_number + - credit_limit + - used_amount + - available_amount + - is_limit_flexible + - type + - consolidation_type + - line_name + - line_name_additional_info + properties: + identification_number: + description: > + The credit card number. + + + **Note:** Often, this is just the last four digit of the credit + card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + example: '4453' + credit_limit: + description: | + The limit of the credit card. + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 1000.04 + used_amount: + description: | + The amount used. + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 400.04 + available_amount: + description: > + The amount still available. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 600 + is_limit_flexible: + description: > + Boolean to indicate if the `credit_limit` is flexible. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: boolean + example: false + type: + $ref: '#/components/schemas/EnumCreditCardLimitType' + consolidation_type: + description: > + Indicates whether or not the credit limit is consolidated or + individual. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + example: INDIVIDUAL + line_name: + description: | + The credit limit line name. + type: string + nullable: true + example: CREDITO_A_VISTA + line_name_additional_info: + description: | + Additional information about the line name. + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + example: Informações adicionais e complementares + EnumAccountCreditCardNetwork: + description: > + The credit network that the card is associated with. We return one of + the following values: + + - `VISA` + - `MASTERCARD` + - `AMERICAN_EXPRESS` + - `DINERS_CLUB` + - `HIPERCARD` + - `BANDEIRA_PROPRIA` + - `CHEQUE_ELETRONICO` + - `ELO` + - `OTHER` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + type: string + enum: + - VISA + - MASTERCARD + - AMERICAN_EXPRESS + - DINERS_CLUB + - HIPERCARD + - BANDEIRA_PROPRIA + - CHEQUE_ELETRONICO + - ELO + - OTHER + example: MASTERCARD + AccountCreditDataCardsOpenFinanceBrazil: + description: Details regarding all the cards associated with the account. + type: object + required: + - is_multiple + - identification_number + properties: + is_multiple: + description: > + Boolean to indicate if this account has multiple credit cards. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: boolean + example: false + identification_number: + description: > + The credit card number. + + + **Note:** Often, this is just the last four digit of the credit + card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + example: '4453' + AccountCreditDataOpenFinanceBrazil: + description: Details regarding the credit cards associated with this account. + type: object + nullable: true + required: + - collected_at + - credit_limit + properties: + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + credit_limit: + description: > + The upper credit limit of the card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: number + nullable: true + format: float + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + example: 192000.9 + limits: + type: array + items: + $ref: '#/components/schemas/AccountCreditDataLimitsOpenFinanceBrazil' + cutting_date: + description: The date when the credit card's bill is due. + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2019-12-11' + minimum_payment: + description: > + The minimum amount that the account owner needs to pay in the + current credit period. + type: number + nullable: true + format: float + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + example: 2400.3 + network: + $ref: '#/components/schemas/EnumAccountCreditCardNetwork' + network_additional_info: + description: | + Additional information about the credit card network. + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + example: It's an orange card. + cards: + description: Details regarding the cards associated with the account. + type: array + minItems: 1 + items: + $ref: '#/components/schemas/AccountCreditDataCardsOpenFinanceBrazil' + next_payment_date: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: string + nullable: true + example: null + no_interest_payment: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: number + nullable: true + format: float + example: .nan + interest_rate: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: number + nullable: true + format: float + example: .nan + monthly_payment: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: number + nullable: true + deprecated: true + example: .nan + last_payment_date: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: string + nullable: true + deprecated: true + example: null + EnumAccountLoanDataInterestRateType: + description: > + The period that the interest is applied to the loan. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + type: string + enum: + - MONTHLY + - YEARLY + example: MONTHLY + EnumAccountLoanDataInterestRateDataTaxType: + description: | + The type of interest rate tax. We return one of the following values: + + - `NOMINAL` + - `EFFECTIVE` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + type: string + enum: + - NOMINAL + - EFFECTIVE + example: NOMINAL + EnumAccountLoanDataInterestRateDataRateType: + description: | + The type of interest rate. We return one of the following values: + + - `SIMPLE` + - `COMPOUND` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + type: string + enum: + - SIMPLE + - COMPOUND + example: SIMPLE + EnumAccountLoanDataInterestRateDataReferenceIndexType: + description: | + The reference index rate. We return one of the following values: + + - `WITHOUT_INDEX_TYPE` + - `PRE_FIXED` + - `POST_FIXED` + - `FLOATING` + - `INDEXED_PRICE` + - `RURAL_CREDIT` + - `OTHER_INDEX` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + type: string + enum: + - WITHOUT_INDEX_TYPE + - PRE_FIXED + - POST_FIXED + - FLOATING + - INDEXED_PRICE + - RURAL_CREDIT + - OTHER_INDEX + example: FLOATING + AccountLoanDataInterestRateDataOpenFinanceBrazil: + description: Detailed information regarding the interest rate. + 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: + tax_type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateDataTaxType' + rate_type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateDataRateType' + type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateType' + calculation_base: + description: > + The base calculation for the interest rate. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + pattern: ^[0-9]{2}\/[0-9]{3}$ + example: 30/360 + reference_index_type: + $ref: >- + #/components/schemas/EnumAccountLoanDataInterestRateDataReferenceIndexType + reference_index_subtype: + description: | + The subtype of the reference index rate. + type: string + nullable: true + example: TR_TBF + reference_index_info: + description: | + Additional information regarding the reference index rate. + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + example: Additional information + pre_fixed_rate: + description: > + The pre-fixed percentage rate of the interest rate. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: number + format: float + pattern: ^[01]\.\d{6}$ + example: 0.062 + post_fixed_rate: + description: > + The post-fixed percentage rate of the interest rate. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: number + format: float + pattern: ^[01]\.\d{6}$ + example: 0.062 + additional_info: + description: | + Additional information regarding the interest rate. + type: string + nullable: true + maxLength: 1200 + pattern: '[\w\W\s]*' + example: Additional information + AccountLoanDataInterestRateOpenFinanceBrazil: + 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. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + type: object + required: + - name + - type + - value + - interest_rate_data + properties: + name: + description: > + The name of the type of interest rate applied to the loan. + + + **Note:** For OFDA Brazil, we recommend you use the + `interest_date_data.tax_type` parameter. + type: string + nullable: true + example: NOMINAL + type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateType' + value: + description: > + The interest rate (in percent or currency value). + + + **Note:** For OFDA Brazil, we recommend you use the + `interest_date_data.pre_fixed_rate` and + `interest_date_data.post_fixed_rate`parameter. + type: number + nullable: true + format: float + example: 7.85 + interest_rate_data: + $ref: >- + #/components/schemas/AccountLoanDataInterestRateDataOpenFinanceBrazil + EnumAccountLoanDataFeeType: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: string + nullable: true + enum: + - OPERATION_FEE + - INSURANCE_FEE + - OTHERS + - null + example: null + EnumAccountLoanDataFeeChargeType: + description: | + Indicates the type of charge. We return one of the following values: + + - `SINGLE` + - `PER_INSTALLMENT` + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + type: string + enum: + - SINGLE + - PER_INSTALLMENT + example: SINGLE + EnumAccountLoanDataFeeCharge: + description: > + Billing method, as agreed upon with the institution. We return one of + the following values: + + - `MINIMUM` + - `MAXIMUM` + - `FIXED` + - `PERCENTAGE` + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + type: string + enum: + - MINIMUM + - MAXIMUM + - FIXED + - PERCENTAGE + example: FIXED + AccountLoanDataFeesOpenFinanceBrazil: + description: Breakdown of the fees applied to the loan. + type: object + nullable: true + required: + - type + - value + - name + - code + - fee_charge_type + - fee_charge + - rate + properties: + type: + $ref: '#/components/schemas/EnumAccountLoanDataFeeType' + value: + description: | + The total value of the fee. Same currency as the loan. + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 5.6 + name: + description: | + The fee name. + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + example: Renovação de cadastro + code: + description: | + The fee code. + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + example: CADASTRO + fee_charge_type: + $ref: '#/components/schemas/EnumAccountLoanDataFeeChargeType' + fee_charge: + $ref: '#/components/schemas/EnumAccountLoanDataFeeCharge' + rate: + description: > + The percentage rate of the fee. Required when `fee_charge` is set to + `PERCENTAGE`. + type: number + nullable: true + format: float + pattern: ^[01]\.\d{6}$ + example: 0.062 + EnumAccountLoanDataContractedChargeType: + description: | + The type of contracted charge. We return one of the following values: + + - `LATE_PAYMENT_INTEREST_FEE` + - `LATE_PAYMENT_PENALTY_FEE` + - `DEFAULT_INTEREST_FEE` + - `LOAN_CONTRACT_TAX` + - `LATE_PAYMENT_TAX` + - `NO_CHARGE` + - `OTHER` + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `contracted_charges` field is available. + type: string + enum: + - LATE_PAYMENT_INTEREST_FEE + - LATE_PAYMENT_PENALTY_FEE + - DEFAULT_INTEREST_FEE + - LOAN_CONTRACT_TAX + - LATE_PAYMENT_TAX + - NO_CHARGE + - OTHER + example: LATE_PAYMENT_INTEREST_FEE + AccountLoanDataContractedChargesOpenFinanceBrazil: + description: | + Details regarding any contracted charges. + type: object + nullable: true + properties: + info: + description: | + Additional information regarding the contracted charge. + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + example: Late fee + type: + $ref: '#/components/schemas/EnumAccountLoanDataContractedChargeType' + rate: + description: > + The percentage rate of the charge, calculated based on the amount of + the loan. + type: number + nullable: true + format: float + pattern: ^[01]\.\d{6}$ + example: 0.062 + AccountLoanDataCollateralsOpenFinanceBrazil: + description: >- + Details regarding any loan collaterals that the individual or business + supplied. + type: object + nullable: true + required: + - type + - subtype + - currency + - amount + properties: + type: + description: > + The type of collateral, as defined by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + type: string + example: OPERACOES_GARANTIDAS_PELO_GOVERNO + subtype: + description: > + The subtype of the collateral, as defined by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + type: string + example: CCR_CONVENIO_CREDITOS_RECIPROCOS + currency: + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + example: BRL + amount: + description: > + The total amount of the bill. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 45391.89 + AccountLoanDataBalloonPaymentsOpenFinanceBrazil: + description: >- + Detailed information regarding any balloon payments for the loan, if + applicable. + type: object + nullable: true + required: + - due_date + - currency + - amount + properties: + due_date: + description: > + The date that the balloon payment is to be paid, in `YYYY-MM-DD` + format. + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2021-09-06' + currency: + description: | + The three-letter currency code (ISO-4217). + type: string + nullable: true + maxLength: 3 + pattern: ^[A-Z]{3}$ + example: BRL + amount: + description: | + The total amount of the balloon payment. + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 45391.89 + EnumAccountsLoanDataContractInstallmentFrequency: + description: > + The frequency of contracted installment payments, as defined when the + contract was first signed. We return one of the following: + + - `DAY` + - `WEEK` + - `MONTH` + - `YEAR` + - `NO_DEADLINE_REMAINING` + - `null` + type: string + nullable: true + enum: + - DAY + - WEEK + - MONTH + - YEAR + - NO_DEADLINE_REMAINING + - null + example: MONTH + EnumAccountLoanDataInstallmentFrequency: + description: > + The frequency that the installments are paid. We return one of the + following values: + + - `IRREGULAR` + - `WEEKLY` + - `FORTNIGHTLY` + - `MONTHLY` + - `BIMONTHLY` + - `QUARTERLY` + - `BIANNUALLY` + - `ANNUALLY` + - `OTHER` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + type: string + enum: + - IRREGULAR + - WEEKLY + - FORTNIGHTLY + - MONTHLY + - BIMONTHLY + - QUARTERLY + - BIANNUALLY + - ANNUALLY + - OTHER + example: MONTHLY + EnumAccountLoanDataContractRemainingFrequency: + description: > + The frequency of the remaining contracted installment payments, as + defined when the contract was first signed. We return one of the + following: + + - `DAY` + + - `WEEK` + + - `MONTH` + + - `YEAR` + + - `NO_DEADLINE_REMAINING` + + - `null` + type: string + nullable: true + enum: + - DAY + - WEEK + - MONTH + - YEAR + - NO_DEADLINE_REMAINING + - null + example: MONTH + AccountLoanDataOpenFinanceBrazil: + description: The loan options associated with this account. + 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: + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + loan_code: + description: > + The country-specific standardized contract number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + minLength: 22 + maxLength: 67 + pattern: ^\d{22,67}$ + example: '92792126019929279212650822221989319252576' + contract_amount: + description: > + The initial total loan amount when the contract was signed, + calculated by the institution. This amount includes the principal + + interest + taxes + fees. + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 202000 + total_effective_cost: + description: | + The initial total effective cost of the loan. + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 209000 + loan_type: + description: > + The type of the loan, according to the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + example: HOME_EQUITY + outstanding_balance: + description: | + The amount remaining to pay in total, including interest. + type: number + nullable: true + format: float + minLength: 4 + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + example: 182000 + interest_rates: + 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. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: array + items: + $ref: '#/components/schemas/AccountLoanDataInterestRateOpenFinanceBrazil' + fees: + description: | + Breakdown of the fees applied to the loan. + type: array + nullable: true + items: + $ref: '#/components/schemas/AccountLoanDataFeesOpenFinanceBrazil' + contracted_charges: + description: '' + type: array + nullable: true + items: + $ref: >- + #/components/schemas/AccountLoanDataContractedChargesOpenFinanceBrazil + collaterals: + description: > + Details regarding any loan collaterals that the individual or + business supplied. + type: array + nullable: true + items: + $ref: '#/components/schemas/AccountLoanDataCollateralsOpenFinanceBrazil' + balloon_payments: + description: > + Detailed information regarding any balloon payments for the loan, if + applicable. + type: array + nullable: true + items: + $ref: >- + #/components/schemas/AccountLoanDataBalloonPaymentsOpenFinanceBrazil + installments_contract_term_frequency: + $ref: >- + #/components/schemas/EnumAccountsLoanDataContractInstallmentFrequency + installment_frequency: + $ref: '#/components/schemas/EnumAccountLoanDataInstallmentFrequency' + installment_frequency_info: + description: | + Additional information regarding the `installment_frequency`. + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,99}$$ + example: Both the term and requency are the same. + first_installment_due_date: + description: > + The date when the first installment of the loan is to be paid, in + `YYYY-MM-DD` format. + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2020-03-01' + number_of_installments_total: + description: | + The total number of installments required to pay the loan. + type: integer + nullable: true + format: int32 + maximum: 999999999 + example: 60 + number_of_installments_outstanding: + description: | + The number of installments left to pay. + type: integer + nullable: true + format: int32 + maximum: 999999999 + example: 48 + number_of_installments_paid: + description: | + The number of installments already paid. + type: integer + nullable: true + format: int32 + maximum: 999999999 + example: 32 + number_of_installments_past_due: + description: | + The number of installments that are overdue. + type: integer + nullable: true + format: int32 + maximum: 999 + example: 2 + disbursement_dates: + description: | + An array of dates when the loan was disbursed. + type: array + nullable: true + minItems: 1 + items: + description: | + The date that the loan was disbursed, in `YYYY-MM-DD` format. + type: string + nullable: true + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2021-09-23' + settlement_date: + description: | + The date that the loan was settled, in `YYYY-MM-DD` format. + type: string + nullable: true + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2021-09-23' + contract_start_date: + description: > + The date when the loan contract was signed, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2020-03-01' + contract_end_date: + description: > + The date when the loan is expected to be completed, in `YYYY-MM-DD` + format. + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2027-10-01' + contract_remaining_frequency: + $ref: '#/components/schemas/EnumAccountLoanDataContractRemainingFrequency' + contract_remaining_total: + description: | + The total number of installments remaining on the loan. + type: integer + nullable: true + format: int32 + maximum: 999999999 + example: 20 + amortization_schedule: + description: > + The loan amortization schedule. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + example: SEM_SISTEMA_AMORTIZACAO + amortization_schedule_info: + description: | + Additional information regarding the `amortization_schedule`. + type: string + nullable: true + maxLength: 200 + pattern: '[\w\W\s]*' + example: No need for a schedule. + consignee_id: + description: | + The ID of the consignee of the loan. + type: string + nullable: true + maxLength: 14 + pattern: ^\d{14}$ + example: '60500998000135' + contract_number: + description: | + The contract number of the loan, as given by the institution. + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^\d{1,100}$ + example: '1324926521496' + monthly_payment: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: number + nullable: true + format: float + example: .nan + principal: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: number + nullable: true + format: float + example: .nan + payment_day: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: string + nullable: true + example: null + outstanding_principal: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: number + nullable: true + format: float + example: .nan + credit_limit: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: number + nullable: true + deprecated: true + example: .nan + last_period_balance: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: number + nullable: true + deprecated: true + example: .nan + interest_rate: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: number + nullable: true + deprecated: true + example: .nan + limit_day: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: string + nullable: true + deprecated: true + example: null + cutting_day: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: string + nullable: true + deprecated: true + example: null + cutting_date: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: string + nullable: true + deprecated: true + example: null + last_payment_date: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: string + nullable: true + deprecated: true + example: null + no_interest_payment: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: number + nullable: true + deprecated: true + example: .nan + AccountOpenFinanceBrazil: + title: Accounts (OFDA Brazil) + description: | + Details regarding the account. + type: object + 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: + description: | + The unique identifier created by Belvo for the current + account. + type: string + format: uuid + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: + description: The `link.id` the account belongs to. + type: string + nullable: true + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + $ref: '#/components/schemas/InstitutionAccount' + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + format: date-time + example: '2019-09-27T13:01:41.941Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was created in Belvo's + database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + last_accessed_at: + description: > + The ISO-8601 timestamp of Belvo's most recent successful access to + the institution for the given link. + type: string + nullable: true + format: date-time + example: '2021-03-09T10:28:40.000Z' + category: + $ref: '#/components/schemas/EnumAccountCategoryOpenFinance' + balance_type: + 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. + type: string + nullable: true + example: ASSET + overdraft: + $ref: '#/components/schemas/AccountOverdraftOpenFinanceBrazil' + type: + description: > + The account type, as designated by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + example: STANDARD_NACIONAL + subtype: + description: > + The account subtype, as designated by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + example: FINANCIAMENTO_HABITACIONAL_SFH + name: + description: The account name, as given by the institution. + type: string + nullable: true + example: Cuenta Perfiles- M.N. - MXN-666 + number: + description: | + The account number, as designated by the institution. + type: string + nullable: true + example: '4057068115181' + agency: + description: | + The branch code where the product was opened. + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + example: '6272' + check_digit: + description: | + The check digit of the product's number, if applicable. + type: string + nullable: true + maxLength: 2 + pattern: '[\w\W\s]*' + example: '7' + balance: + $ref: '#/components/schemas/AccountBalanceOpenFinanceBrazil' + currency: + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + example: BRL + public_identification_name: + description: > + The public name for the type of identification. For 🇧🇷 Brazilian + savings and checking accounts, this field will be `AGENCY/ACCOUNT`. + type: string + nullable: true + example: AGENCY/ACCOUNT + public_identification_value: + description: > + The value for the `public_identification_name`. + + + For 🇧🇷 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`. + + + For 🇧🇷 OFDA Brazilian credit card accounts, we will return a + string of concatenated credit card numbers associated with the + account. For example: "8763,9076,5522" + type: string + nullable: true + example: 0444/45722-0 + internal_identification: + description: > + The institution's internal identification for the account. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + type: string + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + example: '92792126019929279212650822221989319252576' + credit_data: + $ref: '#/components/schemas/AccountCreditDataOpenFinanceBrazil' + loan_data: + $ref: '#/components/schemas/AccountLoanDataOpenFinanceBrazil' + funds_data: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: string + nullable: true + example: null + AccountsPaginatedResponseOpenFinanceBrazil: + title: Accounts (OFDA Brazil) + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: An array of account objects. + type: array + items: + $ref: '#/components/schemas/AccountOpenFinanceBrazil' + StandardRequest: + type: object + required: + - link + properties: + link: + description: The `link.id` that you want to get information for. + type: string + format: uuid + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + token: + description: The OTP token generated by the bank. + type: string + example: 1234ab + save_data: + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + type: boolean + default: true + 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. + type: object + properties: + code: + 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 408 request_timeout errors. + type: string + example: request_timeout + message: + description: | + A short description of the error. + + + For `request_timeout` errors, the description is: + + - `The request timed out, you can retry asking for less data by changing your query parameters`. + type: string + example: >- + The request timed out, you can retry asking for less data by + changing your query parameters + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + PatchBody: + description: A JSON object containing a session UUID and a MFA token + type: object + required: + - session + - link + properties: + session: + description: | + The session you want to resume. You need to use the `session` value + that is provided in the 428 Token Required response that you receive + after you make your POST request. + type: string + pattern: '[a-f0-9]{32}' + example: 6e7b283c6efa449c9c028a16b5c249fa + token: + description: | + The MFA token generated by the institution and required to continue + a session. + type: string + example: 1234ab + link: + description: | + The `link.id` you want to resume. Must be the same `link.id` as the + one you receive in the 428 Token Required response that contains the + `session` ID. + type: string + format: uuid + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + save_data: + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + type: boolean + default: true + example: true + TransactionMerchantData: + description: > + Additional data regarding the merchant involved in the transaction. + + We only return merchant information for new transactions made from + *checking* or *credit card* accounts. + + > **Get merchant information** + We retrieve the merchant information for a transaction as part of our [Transaction categorization](https://developers.belvo.com/docs/banking#categorizing-transactions) product, turning raw data into actionable insights. To enable this product, just [reach out](https://belvo.com/contact/?utm_source=documentation) to us, and we'll get right to it. + type: object + nullable: true + properties: + logo: + description: The URL to the merchant's logo. + type: string + nullable: true + example: https://logo.clearbit.com/asesor-contable.es + website: + description: The URL to the merchant's website. + type: string + nullable: true + example: https://merchants-r-us.com + merchant_name: + description: The name of the merchant. + type: string + example: Merchants R Us Global + EnumTransactionCategory: + description: > + The name of the transaction category. + + + > **Get transaction categorization** + + With [Transaction + categorization](https://developers.belvo.com/docs/banking#categorizing-transactions), + we clean and categorize transactions for you, turning raw data into + actionable insights. To enable this feature, just [reach + out](https://belvo.com/contact/?utm_source=documentation) to us, and + we'll get right to it. + + + We return one of the following enum values: + + - `Bills & Utilities` + - `Credits & Loans` + - `Deposits` + - `Fees & Charges` + - `Food & Groceries` + - `Home & Life` + - `Income & Payments` + - `Insurance` + - `Investments & Savings` + - `Online Platforms & Leisure` + - `Personal Shopping` + - `Taxes` + - `Transfers` + - `Transport & Travel` + - `Unknown`* + - `Withdrawal & ATM` + - `null` + + + \* For clients not using our Transaction Categorization product, we return `null` instead. + type: string + nullable: true + enum: + - Bills & Utilities + - Credits & Loans + - Deposits + - Fees & Charges + - Food & Groceries + - Home & Life + - Income & Payments + - Insurance + - Investments & Savings + - Online Platforms & Leisure + - Personal Shopping + - Taxes + - Transfers + - Transport & Travel + - Unknown + - Withdrawal & ATM + - null + example: Income & Payments + EnumTransactionSubcategory: + description: | + The transaction subcategory. + + > **Get transaction categorization** + For clients not using our [Transaction categorization](https://developers.belvo.com/docs/banking#categorizing-transactions), we return `null` instead. To enable this feature, just [reach out](https://belvo.com/contact/?utm_source=documentation) to us, and we'll get right to it. + + + We return one of the following enum values: + + - `Electricity & Energy` + - `Rent` + - `Telecommunications` + - `Water` + - `Auto` + - `Credit Card` + - `Instalment` + - `Interest & Charges` + - `Mortgage` + - `Pay Advance` + - `Personal` + - `Adjustments` + - `Bank Fees` + - `Chargeback` + - `Refund` + - `Blocked Balances` + - `Alimony` + - `Alcohol & Tobacco` + - `Bakery & Coffee` + - `Bars & Nightclubs` + - `Convenience Store` + - `Delivery` + - `Groceries` + - `Restaurants` + - `Education` + - `Gyms & Fitness` + - `Hair & Beauty` + - `Health` + - `Home Decor & Appliances` + - `Laundry & Dry Cleaning` + - `Pharmacies` + - `Professional Services` + - `Veterinary Services` + - `Freelance` + - `Interest` + - `Retirement` + - `Salary` + - `Government` + - `Home Insurance` + - `Auto Insurance` + - `Health & Life Insurance` + - `Savings` + - `Fixed income` + - `Equity` + - `Investment Funds` + - `Derivatives` + - `Cryptocurrencies` + - `Apps, Software and Cloud Services` + - `Events, Parks and Museums` + - `Gambling` + - `Gaming` + - `Lottery` + - `Movie & Audio` + - `Books & News` + - `Clothing & Accessories` + - `Department Store` + - `Electronics` + - `E-commerce` + - `Gifts` + - `Office Supplies` + - `Pet Supplies` + - `Auto Tax & Fees` + - `Donation` + - `Government Fees` + - `Income Tax` + - `Real Estate Tax & Fees` + - `Tax Return` + - `Accommodation` + - `Auto Expenses` + - `Auto Rental` + - `Flights` + - `Gas` + - `Mileage Programs` + - `Parking & Tolls` + - `Public Transit` + - `Taxis & Rideshares` + - `Other` + - `null` + type: string + nullable: true + enum: + - Electricity & Energy + - Rent + - Telecommunications + - Water + - Auto + - Credit Card + - Instalment + - Interest & Charges + - Mortgage + - Pay Advance + - Personal + - Adjustments + - Bank Fees + - Chargeback + - Refund + - Blocked Balances + - Alimony + - Alcohol & Tobacco + - Bakery & Coffee + - Bars & Nightclubs + - Convenience Store + - Delivery + - Groceries + - Restaurants + - Education + - Gyms & Fitness + - Hair & Beauty + - Health + - Home Decor & Appliances + - Laundry & Dry Cleaning + - Pharmacies + - Professional Services + - Veterinary Services + - Freelance + - Interest + - Retirement + - Salary + - Government + - Home Insurance + - Auto Insurance + - Health & Life Insurance + - Savings + - Fixed income + - Equity + - Investment Funds + - Derivatives + - Cryptocurrencies + - Apps, Software and Cloud Services + - Events, Parks and Museums + - Gambling + - Gaming + - Lottery + - Movie & Audio + - Books & News + - Clothing & Accessories + - Department Store + - Electronics + - E-commerce + - Gifts + - Office Supplies + - Pet Supplies + - Auto Tax & Fees + - Donation + - Government Fees + - Income Tax + - Real Estate Tax & Fees + - Tax Return + - Accommodation + - Auto Expenses + - Auto Rental + - Flights + - Gas + - Mileage Programs + - Parking & Tolls + - Public Transit + - Taxis & Rideshares + - Other + - null + example: Freelance + EnumTransactionType: + description: > + The direction of the transaction: + + - `INFLOW` indicates money coming into the account. + + - `OUTFLOW` indicates money going out of the account. + + - `null` when no information was present regarding the direction of the + transaction. + type: string + nullable: true + enum: + - OUTFLOW + - INFLOW + - null + example: INFLOW + EnumTransactionStatus: + description: | + The status of the transaction. We return one of the following values: + + - `PROCESSED` (The transaction has been processed by the institution.) + - `PENDING` (The institution clearly states that the transaction has not yet been processed.) + - `UNCATEGORIZED` (deprecated) + - `null` (deprecated) + + type: string + nullable: true + enum: + - PENDING + - PROCESSED + - UNCATEGORIZED + - null + example: PROCESSED + EnumTransactionBillStatus: + description: | + The status of the bill that the transaction appears on. Can be one of: + + - `PAID`: The bill has been paid in full. + - `CLOSED`: The bill has been closed by the institution. + - `OPEN`: The bill is currently open. (Note: This is the main bill that Belvo retrieves balance data from). + - `FUTURE`: The bill is pending. + - `null`: No bill status was identified. + + ℹ️ Note: Some banks consider CLOSED as PAID. + type: string + nullable: true + enum: + - PAID + - CLOSED + - OPEN + - FUTURE + - null + example: PAID + TransactionCreditCardData: + description: >- + Additional data provided by the institution for credit card + transactions. + type: object + nullable: true + properties: + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + bill_name: + description: > + The title of the monthly credit card bill the transaction belongs + to. The format of the returned value is institution specific, + however, some common examples are: + + + - diciembre-2021 + + - dec-2021 + + - dec-21 + type: string + nullable: true + example: apr-2020 + bill_status: + $ref: '#/components/schemas/EnumTransactionBillStatus' + bill_amount: + description: The aggregate bill amount, as of `collected_at`. + type: number + nullable: true + format: float + example: 300 + previous_bill_total: + description: The total amount of the previous month's bill, if available. + type: string + nullable: true + example: '9614.30' + Transaction: + title: Transaction Standard (Multi-Region) + type: object + required: + - value_date + - accounting_date + - amount + - currency + - description + - reference + - observations + - balance + - status + - account + - type + - collected_at + - category + - merchant + properties: + description: + description: > + The description of transaction provided by the institution. Usually + this + + is the text that the end user sees in the online platform. + type: string + nullable: true + example: SEVEN BUDDHAS RFC:XXXXXXXXXX + id: + description: Belvo's unique ID for the transaction. + type: string + format: uuid + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + internal_identification: + description: | + The institution's internal identification for the transaction. + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl + account: + $ref: '#/components/schemas/Account' + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2019-11-28T10:27:44.813Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + value_date: + description: The date when the transaction occurred, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2019-10-23' + accounting_date: + description: >- + The date when the transaction was processed and accounted for by the + institution, in `YYYY-MM-DD` format. + type: string + nullable: true + example: '2019-10-23' + amount: + description: > + The transaction amount. + + ℹ️ The amount displayed is always positive as we indicate the + direction of the transaction in the `type` parameter. + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 2145.45 + balance: + description: The balance at the end of the transaction. + type: number + nullable: true + format: float + example: 16907.96 + currency: + description: | + The three-letter currency code (ISO-4217). + type: string + nullable: true + maxLength: 3 + pattern: ^[A-Z]{3}$ + example: BRL + observations: + description: >- + Additional observations provided by the institution on the + transaction. + type: string + nullable: true + example: OPTIONAL OBSERVATIONS + merchant: + $ref: '#/components/schemas/TransactionMerchantData' + category: + $ref: '#/components/schemas/EnumTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumTransactionSubcategory' + reference: + description: The reference number of the transaction, provided by the bank. + type: string + nullable: true + maxLength: 128 + example: '8703' + type: + $ref: '#/components/schemas/EnumTransactionType' + status: + $ref: '#/components/schemas/EnumTransactionStatus' + credit_card_data: + $ref: '#/components/schemas/TransactionCreditCardData' + TransactionsPaginatedResponse: + title: Transactions Standard (Multi-Region) + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of transaction objects (Multi-Region). + type: array + items: + $ref: '#/components/schemas/Transaction' + EnumTransactionCreditCardDataFeeType: + description: > + The fee that can be charged for a card transaction. We return one of the + following values: + + - `ANNUAL_FEE` + - `NATIONAL_WITHDRAWAL` + - `INTERNATIONAL_WITHDRAWAL` + - `EMERGENCY_CREDIT_EVALUATION_FEE` + - `DUPLICATE_ISSUANCE_FEE` + - `PAYMENT_FEE` + - `SMS_FEE` + - `OTHERS` + - `null` + type: string + nullable: true + enum: + - ANNUAL_FEE + - NATIONAL_WITHDRAWAL + - INTERNATIONAL_WITHDRAWAL + - EMERGENCY_CREDIT_EVALUATION_FEE + - DUPLICATE_ISSUANCE_FEE + - PAYMENT_FEE + - SMS_FEE + - OTHERS + - null + example: NATIONAL_WITHDRAWAL + EnumTransactionCreditCardDataCreditType: + description: > + Other types of credit that have been contracted on the card. We return + one of the following values: + + - `REVOLVING_CREDIT` + - `BILL_INSTALLMENT_PAYMENT` + - `LOAN` + - `OTHERS` + - `null` + type: string + nullable: true + enum: + - REVOLVING_CREDIT + - BILL_INSTALLMENT_PAYMENT + - LOAN + - OTHERS + - null + example: BILL_INSTALLMENT_PAYMENT + TransactionCreditCardBill: + description: > + Information regarding the bill that this transaction appears on. + + + Note: This field is currrently unavailable and will only be available in + Q4 2023. + type: object + nullable: true + properties: + id: + description: > + The unique identifier created by Belvo used to reference the current + credit card bill. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + type: string + format: uuid + example: 8e9d13c2-af41-4a49-b43e-2da012bd1d11 + internal_identification: + description: > + The institution's internal identifier for the bill. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + example: '92792126019929279212650822221989319252576' + TransactionCreditCardDataOpenFinanceBrazil: + description: >- + Additional data provided by the institution for credit card + transactions. + type: object + nullable: true + required: + - collected_at + - bill_name + - bill_status + - previous_bill_total + - bill_amount + - card_number + - fee_type + - fee_type_additional_info + - credits_type + - credits_type_additional_info + - installment_identifier + - number_of_installments + properties: + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + bill_name: + description: > + The title of the monthly credit card bill the transaction belongs + to. The format of the returned value is institution specific, + however, some common examples are: + + + - diciembre-2021 + + - dec-2021 + + - dec-21 + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + type: string + nullable: true + example: apr-2020 + bill_due_date: + description: > + The date that the bill is due to be paid, in `YYYY-MM-DD` format. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + type: string + nullable: true + format: date + example: '2023-06-17' + bill_internal_identification: + description: > + The institution's internal identifier for the bill. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + example: 927921260199292792126508222219893192525A6 + bill_status: + description: > + **Note:** This field is not applicable for OFDA Brazil and will + return `null`. + type: string + nullable: true + example: null + previous_bill_total: + description: > + **Note:** This field is not applicable for OFDA Brazil and will + return `null`. + type: string + nullable: true + example: null + bill_amount: + description: >- + The bill amount, as of `collected_at`. For more information, see + `credit_card_bill`. + type: number + nullable: true + format: float + pattern: ^-?\d{1,15}\.\d{2,4}$ + example: 300 + card_number: + description: > + The credit card number. + + + **Note:** Often, this is just the last four digit of the credit + card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + example: '4453' + fee_type: + $ref: '#/components/schemas/EnumTransactionCreditCardDataFeeType' + fee_type_additional_info: + description: | + Additional information regarding the fee. + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + example: ATM withdrawal in Curitiba. + credits_type: + $ref: '#/components/schemas/EnumTransactionCreditCardDataCreditType' + credits_type_additional_info: + description: | + Additional information regarding the credit type. + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + example: Some additional information. + installment_identifier: + description: > + An identifier for the installment, according to the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + example: PARCELA_896 + number_of_installments: + description: > + The total number of installments for the card transaction, if + applicable. + type: integer + nullable: true + maximum: 999 + example: 4 + credit_card_bill: + $ref: '#/components/schemas/TransactionCreditCardBill' + EnumTransactionCounterpartyType: + description: > + The transaction counterparty type. We return one of the following + values: + + - `INDIVIDUAL` + - `COMPANY` + - `null` + type: string + nullable: true + enum: + - INDIVIDUAL + - COMPANY + - null + example: INDIVIDUAL + TransactionCounterparty: + description: Information regarding the other party of this transaction, if available. + type: object + nullable: true + required: + - type + - document_number + - clearing_code + - agency + - check_digit + - number + properties: + type: + $ref: '#/components/schemas/EnumTransactionCounterpartyType' + document_number: + description: | + The document number of the representative. + + **Note**: + + For Brazil: + - When the `type` is `INDIVIDUAL`, this is the CPF number. + - When the `type` is `COMPANY`, this is the CNPJ number. + type: string + nullable: true + maxLength: 11 + pattern: ^\d{11}$ + example: '73677831148' + clearing_code: + description: | + The banking clearing code. + type: string + nullable: true + maxLength: 3 + pattern: ^\d{3}$ + example: '001' + agency: + description: | + The branch code where the account was opened. + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + example: '6272' + check_digit: + description: | + The check digit of the account number, if applicable. + type: string + nullable: true + maxLength: 2 + pattern: '[\w\W\s]*' + example: '7' + number: + description: | + The account number of the product. + type: string + nullable: true + maxLength: 20 + pattern: ^\d{8,20}$ + example: '24550245' + TransactionLoanDataFees: + description: >- + Details regarding the fees associated with this payment. Only applicable + when `is_detached` = `true`. + type: object + nullable: true + required: + - name + - code + - amount + properties: + name: + description: > + The name of the fee. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `fees` field is present. + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + example: Reavaliação periódica do bem + code: + description: > + The institution's code for the fee. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `fees` field is present. + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + example: aval_bem + amount: + description: > + The amount of the fee. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `fees` field is present. + type: number + nullable: true + format: float + pattern: ^-?\d{1,15}\.\d{2,4}$ + example: 8903.77 + TransactionLoanDataCharges: + description: >- + Details regarding the charges associated with this payment. Only + applicable when `is_detached` = `true`. + type: object + nullable: true + required: + - type + - info + - amount + properties: + info: + description: | + Additional information regarding the charge `type`. + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + example: Late payment charge. + type: + description: > + The type of charge. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `charges` field is present + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + example: MULTA_ATRASO_PAGAMENTO + amount: + description: > + The amount of the charge. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `charges` field is present + type: number + format: float + pattern: ^-?\d{1,15}\.\d{2,4}$ + example: 8903.77 + TransactionLoanDataOpenFinanceBrazil: + description: Information regarding the loan transactional data, if applicable. + type: object + nullable: true + required: + - is_detached + - installment_it + - fees + - charges + properties: + is_detached: + description: > + Boolean to indicate whether or not this loan payment was part of the + original payment schedule. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: boolean + example: true + installment_id: + description: | + The institution's unique ID for this payment installment. + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + example: WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH + fees: + description: >- + Details regarding the fees associated with this payment. Only + applicable when `is_detached` = `true`. + type: array + items: + $ref: '#/components/schemas/TransactionLoanDataFees' + charges: + description: >- + Details regarding the charges associated with this payment. Only + applicable when `is_detached` = `true`. + type: array + minItems: 0 + items: + $ref: '#/components/schemas/TransactionLoanDataCharges' + EnumTransactionPaymentType: + description: | + The transaction payment type. We return one of the following values: + + - `FULL` + - `INSTALLMENT` + - `null` + type: string + nullable: true + enum: + - FULL + - INSTALLMENT + - null + example: FULL + TransactionOpenFinanceBrazil: + title: Transaction (OFDA Brazil) + type: object + required: + - id + - internal_identification + - account + - collected_at + - created_at + - value_date + - accounting_date + - amount + - local_currency_amount + - balance + - currency + - description + - observations + - merchant + - category + - subcategory + - reference + - type + - status + - credit_card_data + - counterparty + - loan_data + - payment_type + - operation_type + - operation_type_additional_info + - mcc + properties: + description: + description: > + The description of transaction provided by the institution. Usually + this + + is the text that the end user sees in the online platform. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + nullable: true + example: SEVEN BUDDHAS RFC:XXXXXXXXXX + id: + description: Belvo's unique ID for the transaction. + type: string + format: uuid + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + internal_identification: + description: > + The institution's internal identification for the transaction. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl + account: + $ref: '#/components/schemas/AccountOpenFinanceBrazil' + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2019-11-28T10:27:44.813Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + value_date: + description: > + The date when the transaction occurred, in `YYYY-MM-DD` format, in + `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + format: date + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2019-10-23' + transacted_at: + description: > + The ISO-8601 timestamp of when the transaction occurred. + + + > **Note:** For transactions that occurred before 31.01.2024, the + timestamp may only indicate the day (for example, + `2016-01-29T00:00:00.000Z`). However, transactions that occurred + after this date must include the date and time + (`2024-02-20T12:29:03.374Z`). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **credit card and checking account + transactions**. + type: string + format: date-time + pattern: >- + (^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)\.(?:[0-9]){3}Z$) + example: '2024-02-20T12:29:03.374Z' + accounting_date: + description: >- + The date when the transaction was processed and accounted for by the + institution, in `YYYY-MM-DD` format. + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **credit card transactions**. + type: string + nullable: true + example: '2019-10-23' + amount: + description: > + The transaction amount. + + ℹ️ The amount displayed is always positive as we indicate the + direction of the transaction in the `type` parameter. + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 2145.45 + local_currency_amount: + description: > + The value of the transaction in the local currency. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **credit card transactions**. + type: number + nullable: true + format: float + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + example: 7623.64 + balance: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: number + nullable: true + format: float + example: .nan + currency: + description: | + The three-letter currency code (ISO-4217). + type: string + nullable: true + maxLength: 3 + pattern: ^[A-Z]{3}$ + example: BRL + observations: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: string + nullable: true + example: null + merchant: + $ref: '#/components/schemas/TransactionMerchantData' + category: + $ref: '#/components/schemas/EnumTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumTransactionSubcategory' + reference: + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + type: string + nullable: true + maxLength: 128 + example: null + type: + $ref: '#/components/schemas/EnumTransactionType' + status: + $ref: '#/components/schemas/EnumTransactionStatus' + credit_card_data: + $ref: '#/components/schemas/TransactionCreditCardDataOpenFinanceBrazil' + counterparty: + $ref: '#/components/schemas/TransactionCounterparty' + loan_data: + $ref: '#/components/schemas/TransactionLoanDataOpenFinanceBrazil' + payment_type: + $ref: '#/components/schemas/EnumTransactionPaymentType' + operation_type: + description: > + The type of transaction. For example, a PIX payment or a deposit. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **non-loan account transactions**. + type: string + maxLength: 50 + pattern: ^[A-Za-z_]{0,50}$ + example: TRANSFERENCIA_MESMA_INSTITUICAO + operation_type_additional_info: + description: > + Additional information regarding the `operation_type`, if + applicable. + type: string + nullable: true + maxLength: 140 + pattern: ^\S[\s\S]*$ + example: Internal transfer. + mcc: + description: > + The four-digit (ISO-18245 compliant) Merchant Category Code (MCC) + for the transaction. This field is only applicable for credit card + transactions. + type: integer + nullable: true + format: int32 + pattern: ^[0-9]{4}$ + example: 5137 + TransactionsPaginatedResponseOpenFinanceBrazil: + title: Transactions (OFDA Brazil) + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of transaction objects (OFDA Brazil). + type: array + items: + $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + TransactionsRequest: + type: object + required: + - link + - date_from + - date_to + properties: + link: + description: The `link.id` that you want to get information for. + type: string + format: uuid + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + account: + description: If provided, we return transactions only from this account. + type: string + format: uuid + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + date_from: + description: > + The date from which you want to start getting transactions for, in + `YYYY-MM-DD` format. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + example: '2020-08-05' + date_to: + description: > + The date you want to stop getting transactions for, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + example: '2020-10-05' + token: + description: The OTP token generated by the bank. + type: string + example: 1234ab + save_data: + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + type: boolean + default: true + AsynchronousAccepted202: + type: object + properties: + request_id: + description: >- + The unique ID for this request. We recommend you store this value to + later identify which webhook event relates to an asynchronous + request. + type: string + example: b5d0106ac9cc43d5b36199fe831f6bbe + Balance: + type: object + properties: + id: + description: Belvo's unique ID for the balance request. + type: string + format: uuid + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + account: + $ref: '#/components/schemas/Account' + value_date: + description: The date when the `balance` was available, in `YYYY-MM-DD` format. + type: string + format: date + example: '2019-10-23' + balance: + description: The funds available in the account by the end of the `value_date`. + type: number + format: float + example: 50000 + current_balance: + 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.* + + + Please use the `balance` field instead. + deprecated: true + type: number + nullable: true + example: .nan + statement: + 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.* + + + *The ID of the banking statement used to extract the `balance`.* + deprecated: true + type: string + nullable: true + example: null + collected_at: + 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.* + + + *The ISO-8601 timestamp when the data point was collected.* + type: string + nullable: true + deprecated: true + format: date-time + example: null + BalancesPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of balance objects. + type: array + items: + $ref: '#/components/schemas/Balance' + BalancesRequest: + type: object + required: + - link + - date_from + - date_to + properties: + link: + description: The `link.id` that you want to get information for. + type: string + format: uuid + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + account: + description: | + If provided, only balances matching this `account.id` are + returned. + type: string + format: uuid + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + date_from: + description: > + Date from which you want to start receiving balances, in + `YYYY-MM-DD` format. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + example: '2021-01-18' + date_to: + description: > + Date that you want to stop receiving balances, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + example: '2021-02-15' + token: + description: The OTP token generated by the bank. + type: string + example: 1234ab + save_data: + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + type: boolean + default: true + InstitutionsFormFieldValues: + type: object + properties: + code: + description: The code of the document. + type: string + example: '001' + label: + description: | + The label for the field. For example: + - Cédula de Ciudadanía + - Cédula de Extranjería + - Pasaporte + type: string + example: Cédula de Ciudadanía + validation: + description: The type of input validation used for the field. + type: string + example: ^.{1,}$ + validation_message: + description: >- + The message displayed when an invalid input is provided in the form + field. + type: string + example: Invalid document number + placeholder: + description: The placeholder text in the form field. + type: string + example: DEF4444908M22 + InstitutionsFormField: + type: object + properties: + name: + description: The username, password, or username type field. + type: string + example: username + type: + description: The input type for the form field. For example, string. + type: string + example: text + label: + description: | + The label of the form field. For example: + - Client number + - Key Bancanet + - Document + type: string + example: Client number + validation: + description: The type of input validation used for the field. + type: string + example: ^.{1,}$ + placeholder: + description: The placeholder text in the form field. + type: string + example: ABC333333A33 + validation_message: + description: >- + The message displayed when an invalid input is provided in the form + field. + type: string + example: Invalid client number + values: + description: > + If the form field is for documents, the institution may require + additional + + input regarding the document type. + type: array + items: + $ref: '#/components/schemas/InstitutionsFormFieldValues' + InstitutionsFeature: + type: object + properties: + description: + description: The description of the feature. + type: string + example: The institution may require a token during link creation or login + name: + description: The name of the feature. + type: string + example: token_required + EnumInstitutionIntegrationType: + 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. + type: string + enum: + - credentials + - openfinance + example: credentials + EnumInstitutionStatus: + description: > + Indicates whether Belvo's integration with the institution is currently + active (`healthy`) or undergoing maintenance (`down`). + type: string + enum: + - healthy + - down + example: healthy + Institution: + type: object + properties: + id: + description: The ID of the institution as designated by Belvo. + type: integer + format: int32 + example: 1003 + name: + description: > + The name of the institution, as designated by Belvo. + + + Please see our + [Institutions](https://developers.belvo.com/docs/institution) + DevPortal article for a detailed list of institution names. + type: string + example: erebor_mx_retail + type: + $ref: '#/components/schemas/EnumInstitutionType' + website: + description: The URL of the institution's website. + type: string + nullable: true + example: https://www.erebor.com/ + display_name: + description: The customer-facing name of the institution. + type: string + example: Erebor Mexico + country_codes: + description: | + The country codes where the institution is available, for example: + - 🇧🇷 BR (Brazil) + - 🇨🇴 CO (Colombia) + - 🇲🇽 MX (Mexico) + type: array + items: + type: string + example: MX + primary_color: + description: The primary color on the institution's website. + type: string + example: '#056dae' + logo: + description: The URL of the institution's logo. + type: string + nullable: true + example: https://belvo-api-media.s3.amazonaws.com/logos/erebor_logo.png + icon_logo: + description: The URL of the institution's icon logo. + type: string + nullable: true + example: https://statics.belvo.io/widget/images/institutions/erebor.svg + text_logo: + description: The URL of the institution's text logo. + type: string + nullable: true + example: https://statics.belvo.io/widget/images/institutions/erebor.svg + form_fields: + type: array + items: + $ref: '#/components/schemas/InstitutionsFormField' + features: + 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. + type: array + items: + $ref: '#/components/schemas/InstitutionsFeature' + resources: + description: > + A list of Belvo resources that you can use with the institution. + This list includes one or more of the following resources: + + - `ACCOUNTS` + - `BALANCES` + - `EMPLOYMENT_RECORDS` + - `INCOMES` + - `INVOICES` + - `OWNERS` + - `RECURRING_EXPENSES` + - `RISK_INSIGHTS` + - `TRANSACTIONS` + - `TAX_COMPLIANCE_STATUS` + - `TAX_DECLARATIONS` + - `TAX_RETENTIONS` + - `TAX_RETURNS` + - `TAX_STATUS` + type: array + items: + description: A Belvo resource that the institution supports. + type: string + example: ACCOUNTS + example: + - ACCOUNTS + - BALANCES + - INCOMES + - OWNERS + - RECURRING_EXPENSES + - RISK_INSIGHTS + - TRANSACTIONS + integration_type: + $ref: '#/components/schemas/EnumInstitutionIntegrationType' + status: + $ref: '#/components/schemas/EnumInstitutionStatus' + InstitutionsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of institution objects. + type: array + items: + $ref: '#/components/schemas/Institution' + OwnerDocumentId: + description: >- + Information regarding the identification document the owner provided to + the bank. + type: object + nullable: true + required: + - document_type + - document_number + properties: + document_type: + description: > + The type of document the owner provided to the institution to open + the account. Common document types are: + + + 🇧🇷 Brazil + + - `CPF` (*Cadastro de Pessoas Físicas*) + + - `CNPJ`(*Cadastro Nacional de Pessoas Jurídicas*) + + + 🇨🇴 Colombia + + - `CC`(*Cédula de Ciudadanía*) + + - `NIT` (*Número de Identificación Tributaria*) + + + 🇲🇽 Mexico + + - `CURP` (*Clave Única de Registro de Población*) + + - `NISS` (*Número de Seguridad Social*) + + - `RFC` (*Registro Federal de Contribuyentes*) + type: string + nullable: true + example: CPF + document_number: + description: The document's identification number. + type: string + nullable: true + example: 235578435-S + Owner: + title: Owner Standard (Multi-Region) + type: object + required: + - id + - link + - internal_identification + - display_name + - email + - phone_number + - address + - collected_at + properties: + id: + description: Belvo's unique identifier used to reference the current owner. + type: string + format: uuid + example: c749315b-eec2-435d-a458-06912878564f + link: + description: Belvo's unique ID for the current Link. + type: string + format: uuid + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: + description: The institution's internal identifier for the owner. + type: string + nullable: true + example: 7e5838e4 + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2019-09-27T13:01:41.941Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + display_name: + description: The full name of the owner, as provided by the bank. + type: string + nullable: true + maxLength: 128 + example: John Doe + email: + description: The account owner's registered email address. + type: string + nullable: true + format: email + maxLength: 256 + example: johndoe@belvo.com + phone_number: + description: The account owner's registered phone number. + type: string + nullable: true + example: +52-XXX-XXX-XXXX + address: + description: The accounts owners registered address. + type: string + nullable: true + example: Carrer de la Llacuna, 162, 08018 Barcelona + document_id: + $ref: '#/components/schemas/OwnerDocumentId' + business_name: + 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.* + + + *The name of the business.* + type: string + nullable: true + deprecated: true + example: null + first_name: + 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.* + + + *The first name of the account owner.* + type: string + nullable: true + deprecated: true + example: null + last_name: + 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.* + + + *The last name of the account owner.* + type: string + nullable: true + deprecated: true + example: null + second_last_name: + 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.* + + + *The second last name of the account owner.* + type: string + nullable: true + deprecated: true + example: null + OwnersPaginatedResponse: + title: Owner Standard (Multi-Region) + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of owner objects. + type: array + items: + $ref: '#/components/schemas/Owner' + EnumOwnerMaritalStatus: + description: | + The individual's marital status. We return one of the following values: + + - `SINGLE` + - `MARRIED` + - `WIDOWED` + - `SEPARATED` + - `DIVORCED` + - `CIVIL_UNION` + - `OTHER` + type: string + nullable: true + enum: + - SINGLE + - MARRIED + - WIDOWED + - SEPARATED + - DIVORCED + - CIVIL_UNION + - OTHER + example: SINGLE + EnumOwnerGender: + description: | + The individual's gender. We return on of the following values: + + - `FEMALE` + - `MALE` + - `OTHER` + + type: string + nullable: true + enum: + - FEMALE + - MALE + - OTHER + example: FEMALE + OwnerDocumentIdOpenFinanceBrazil: + description: > + Information regarding the identification document the owner provided to + the bank. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + type: object + required: + - document_type + - document_number + properties: + document_type: + description: > + The type of document the owner provided to the institution to open + the account. Common document types are: + + + 🇧🇷 Brazil + + - `CPF` (*Cadastro de Pessoas Físicas*) + + - `CNPJ`(*Cadastro Nacional de Pessoas Jurídicas*) + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + example: CPF + document_number: + description: > + The document's identification number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + example: 235578435-S + EnumOwnerIndividualDocumentIdType: + description: | + The type of ID document. We return one of the following values: + + - `DRIVERS_LICENCE` + - `PASSPORT` + - `ID_CARD` + - `FISCAL_ID` + - `FOREIGNER_REGISTRATION_CARD` + - `OTHER` + - `null` + + type: string + nullable: true + enum: + - DRIVERS_LICENCE + - PASSPORT + - ID_CARD + - FISCAL_ID + - FOREIGNER_REGISTRATION_CARD + - OTHER + - null + example: DRIVERS_LICENCE + OwnerIndividualDocumentIds: + description: >- + Detailed information regarding additional documents provided to prove + the individuals ID. + type: object + nullable: true + required: + - type + - type_additional_info + - number + - check_digit + - issue_date + - expiration_date + - country_of_issuance + - additional_info + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualDocumentIdType' + type_additional_info: + description: > + Additional information regarding the document type. + + + > Note: For Business ID documents, this field must return a value + from Brazil's open finance network. + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + example: Learner's licence + number: + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 40 + pattern: ^[\w\W\s]{0,40}$ + example: DL-7896829-7 + check_digit: + description: > + The check digit of the ID document. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + example: '7' + issue_date: + description: | + The date the the ID document was issued, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2019-01-01' + expiration_date: + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2019-01-01' + country_of_issuance: + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + + + This field must be returned when the `type` is `PASSPORT`. + type: string + nullable: true + maxLength: 3 + pattern: ^[\w]{3}$ + example: CAN + additional_info: + description: | + Additional information about the ID document. + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + example: The document has water damage + OwnerIndividualNationalityDocumentId: + description: >- + Detailed information regarding additional documents provided to prove + the individuals ID. + type: object + nullable: true + required: + - type + - type_additional_info + - number + - issue_date + - expiration_date + - country_of_issuance + - additional_info + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualDocumentIdType' + number: + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 40 + pattern: ^[\w\W\s]{0,40}$ + example: DL-7896829-7 + issue_date: + description: | + The date the the ID document was issued, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2019-01-01' + expiration_date: + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2019-01-01' + country_of_issuance: + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + + + This field must be returned when the `type` is `PASSPORT`. + type: string + nullable: true + maxLength: 3 + pattern: ^[\w]{3}$ + example: CAN + additional_info: + description: | + Additional information about the ID document. + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + example: The document has water damage + OwnerNationalities: + description: Detailed information regarding the individual's nationalities. + type: object + required: + - info + - documents + properties: + info: + description: | + The nationality of the individual. + type: string + nullable: true + pattern: ^\S[\s\S]*$ + maxLength: 40 + example: CAN + documents: + type: array + items: + $ref: '#/components/schemas/OwnerIndividualNationalityDocumentId' + OwnerEmails: + description: Additional list of emails the owner provided. + type: object + nullable: true + required: + - is_main + - email + properties: + is_main: + description: > + Boolean to indicate if this is the user's main email address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: boolean + example: true + email: + description: > + The user's email address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 320 + pattern: ^[\w\W\s]{0,320}$ + example: homen_morcego@gmail.com + OwnerAddresses: + description: Detailed information regarding the owner's addresses. + type: object + nullable: true + required: + - is_main + - address + - additional_info + - district_name + - town + - town_code + - state + - postcode + - country_name + - country_code + - latitude + - longitude + properties: + is_main: + description: > + Boolean to indicate if this is the user's main address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: boolean + example: true + address: + description: > + The user's address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 150 + pattern: ^[\w\W\s]{0,150}$ + example: Av Naburo Ykesaki, 1270 + additional_info: + description: | + Additional information regarding the user's address. + type: string + nullable: true + maxLength: 150 + pattern: ^[\w\W\s]{0,150}$ + example: In between two palm trees + district_name: + description: | + The distrct of the address. + type: string + nullable: true + maxLength: 50 + pattern: ^[\w\W\s]{0,50}$ + example: CENTRO + town: + description: > + The user's town. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 50 + pattern: ^[\w\W\s]{0,50}$ + example: Brasilia + town_code: + description: | + The seven-digit code for the town, if applicable. + + For Brazil, this is the IBGE town code. + type: string + nullable: true + maxLength: 7 + pattern: \d{7}$ + example: '3550308' + state: + description: | + The state that the address is located in. + type: string + nullable: true + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + example: SP + postcode: + description: > + The postcode of the address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 8 + pattern: ^\d{8}$ + example: '17500001' + country_name: + description: > + The name of the country. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 80 + pattern: ^[\w\W\s]{0,80}$ + example: Brasil + country_code: + description: | + The three-letter country code (ISO-3166 Alpha 3 compliant). + type: string + nullable: true + maxLength: 3 + pattern: ^([A-Z]{3})$ + example: BRA + latitude: + description: | + The geographic latitude coordinate. + type: string + nullable: true + maxLength: 13 + pattern: ^-?\d{1,2}\.\d{1,9}$ + example: '-23.5475000' + longitude: + description: | + The geographic longitude coordinate. + type: string + nullable: true + maxLength: 13 + pattern: ^-?\d{1,3}\.\d{1,8}$ + example: '-46.6361100' + EnumOwnerPhoneNumberType: + description: | + The type of phone number. We return one of the following values: + + - `LANDLINE` + - `MOBILE` + - `OTHER` + - `null` + type: string + nullable: true + enum: + - LANDLINE + - MOBILE + - OTHER + - null + example: MOBILE + OwnerPhoneNumbers: + description: Detailed information regarding the owners's `phone_number`s. + type: object + nullable: true + required: + - is_main + - type + - additional_info + - number + - country_code + - area_code + - extension + properties: + is_main: + description: > + Boolean to indicate if this is the user's main phone number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: boolean + example: true + type: + $ref: '#/components/schemas/EnumOwnerPhoneNumberType' + additional_info: + description: | + Additional information about the phone number. + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + example: This is their work mobile number. + number: + description: > + The phone number (not including the country, area, or extension + codes). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 11 + pattern: ^([0-9]{8,11})$ + example: '29875132' + country_code: + description: | + The country dialling code. For example: `351` (no `+`). + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + example: '351' + area_code: + description: | + The area dialling code. + type: string + nullable: true + maxLength: 2 + pattern: ^\d{1,2}$ + example: '21' + extension: + description: | + The extension code. + type: string + nullable: true + maxLength: 5 + pattern: ^\d{1,5}$ + example: '932' + EnumOwnerFiliationType: + description: | + The familial relationship. We return one of the following values: + + - `MOTHER` + - `FATHER` + - `null` + + type: string + nullable: true + enum: + - MOTHER + - FATHER + - null + example: MOTHER + OwnerFiliations: + description: Information regarding any familial relationships of the individual. + type: object + required: + - type + - civil_name + - social_name + properties: + type: + $ref: '#/components/schemas/EnumOwnerFiliationType' + civil_name: + description: > + The person's full name. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + example: Bruce Wayne + social_name: + description: | + The person's social name. + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + example: The Dark Knight + EnumOwnerIndividualFinancialProfileOccupationCode: + description: > + The area of employment of the individual. We return one of the following + values: + + - `BRAZIL_PUBLIC_OFFICE` + - `BRAZIL_OCCUPATION_CODE` + - `OTHER` + - `null` + type: string + nullable: true + enum: + - BRAZIL_PUBLIC_OFFICE + - BRAZIL_OCCUPATION_CODE + - OTHER + - null + example: BRAZIL_OCCUPATION_CODE + EnumOwnerInformedIncomeFrequency: + description: > + Indicates how often the individual receives their salary. We return one + of the following values: + + - `DAILY` + - `WEEKLY` + - `FORTNIGHTLY` + - `MONTHLY` + - `BIMONTHLY` + - `QUARTERLY` + - `BIANNUALLY` + - `ANNUALLY` + - `OTHERS` + type: string + nullable: true + enum: + - DAILY + - WEEKLY + - FORTNIGHTLY + - MONTHLY + - BIMONTHLY + - QUARTERLY + - BIANNUALLY + - ANNUALLY + - OTHERS + example: MONTHLY + OwnerIndividualInformedIncome: + description: > + Information regarding the individual's reported income. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + type: object + required: + - frequency + - amount + - currency + - date + properties: + frequency: + $ref: '#/components/schemas/EnumOwnerInformedIncomeFrequency' + amount: + description: > + The reported income that the individual receives. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: number + format: float + minLength: 1 + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + example: 45391.89 + currency: + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + example: BRL + date: + description: > + Date when the individual last received their salary. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2020-03-19' + OwnerIndividualPatrimony: + description: Information regarding the individual's reported assets (if available). + type: object + nullable: true + required: + - amount + - currency + - year + properties: + amount: + description: > + The reported assets of the individual. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `patrimony` object is available. + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 45391.89 + currency: + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `patrimony` object is available. + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + example: BRL + year: + description: > + The year that the reported assets applied. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `patrimony` object is available. + type: integer + format: int32 + maximum: 2090 + minimum: 1700 + example: 2020 + OwnerIndividualFinancialProfile: + description: Information regarding the financial profile of the individual. + type: object + nullable: true + required: + - company_id + - occupation_code + - occupation_description + - informed_income + - patrimony + properties: + company_id: + description: | + The identifier of the company where the individual is employed. + type: string + nullable: true + maxLength: 14 + pattern: ^\d{14}$ + example: '50685362000135' + occuptation_code: + $ref: >- + #/components/schemas/EnumOwnerIndividualFinancialProfileOccupationCode + occupation_description: + description: | + Information regarding the individual's occupation. + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + example: '01' + informed_income: + $ref: '#/components/schemas/OwnerIndividualInformedIncome' + patrimony: + $ref: '#/components/schemas/OwnerIndividualPatrimony' + EnumOwnerProcuratorType: + description: > + The type of representative that can access and make changes to the + account. We return one of the following values: + + - `LEGAL_REPRESENTATIVE` + - `ATTORNEY` + - `null` + + type: string + nullable: true + enum: + - LEGAL_REPRESENTATIVE + - ATTORNEY + - null + example: LEGAL_REPRESENTATIVE + OwnerProcurators: + description: >- + Information regarding any individuals or companies that can act on + behalf of the owner. + type: object + nullable: true + required: + - type + - civil_name + - social_name + - document_number + properties: + type: + $ref: '#/components/schemas/EnumOwnerProcuratorType' + civil_name: + description: > + The representatives's full name. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `procurators` field is available. + type: string + maxLength: 70 + pattern: ^[\w\W]*$ + example: Alfred Thaddeus Pennyworth + social_name: + description: | + The person's social name. + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W]*$ + example: Alfred Pennyworth + document_number: + description: > + The document number of the representative. + + + **Note**: For individuals, this is Brazil's CPF number. For + businesses, this is Brazil's CNPJ number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `procurators` field is available. + type: string + maxLength: 11 + pattern: ^\d{11}$ + example: '73677831148' + EnumOwnerIndividualProductType: + description: > + The additional products the individual has at the institution. We return + one of the following values: + + - `SAVINGS_ACCOUNT` + - `CHECKING_ACCOUNT` + - `null` + type: string + nullable: true + enum: + - SAVINGS_ACCOUNT + - CHECKING_ACCOUNT + - null + example: SAVINGS_ACCOUNT + OwnerIndividualProducts: + description: >- + Details regarding any additional products that the individual has with + the institution. + type: object + nullable: true + required: + - type + - subtype + - agency + - clearing_code + - number + - check_digit + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualProductType' + subtype: + description: > + The subtype of the product that the individual has at the + institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + type: string + nullable: true + example: CONJUNTA_SIMPLES + agency: + description: | + The branch code where the product was opened. + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + example: '6272' + clearing_code: + description: > + The banking clearing code for the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + type: string + maxLength: 3 + pattern: ^\d{3}$ + example: '001' + number: + description: > + The account number of the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `procurators` field is available. + type: string + maxLength: 20 + pattern: ^\d{8,20}$ + example: '24550245' + check_digit: + description: > + The check digit of the product's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + type: string + maxLength: 2 + pattern: '[\w\W\s]*' + example: '7' + OwnerIndividualFinancialRelation: + description: >- + Details regarding any additional relationship the individual has with + the institution (for example, other accounts or products they have with + the institution). + type: object + nullable: true + required: + - start_date + - product_services + - product_services_additional_info + - procurators + - products + properties: + start_date: + description: > + The ISO-8601 timestamp when the financial relationship between the + individual and the institution started. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + format: date-time + maxLength: 20 + pattern: >- + ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$ + example: '2021-05-21T08:30:00Z' + product_services: + description: > + A list of products that the individual has with the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: array + minItems: 1 + items: + description: | + The name of the product, according to the institution. + type: string + example: CONTA_DEPOSITO_A_VISTA + product_services_additional_info: + description: > + Additional information regarding the products that the individual + has. + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W]*$ + example: Joint account with Robin + procurators: + description: >- + Information regarding any individuals or companies that can act on + behalf of the owner. + type: array + items: + $ref: '#/components/schemas/OwnerProcurators' + products: + description: >- + Details regarding any additional products that the individual has + with the institution. + type: array + items: + $ref: '#/components/schemas/OwnerIndividualProducts' + OwnerIndividualOpenFinanceBrazil: + title: Owner Individual (OFDA Brazil) + type: object + required: + - id + - link + - internal_identification + - collected_at + - created_at + - display_name + - social_name + - birth_date + - marital_status + - marital_status_additional_info + - gender + - companies_id + - is_local_resident + - document_id + - additional_documents + - nationalities + - email + - emails + - address + - addresses + - phone_number + - phone_numbers + - filiations + - financial_profile + - financial_relation + properties: + id: + description: Belvo's unique identifier used to reference the current owner. + type: string + format: uuid + example: c749315b-eec2-435d-a458-06912878564f + link: + description: Belvo's unique ID for the current Link. + type: string + format: uuid + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: + description: The institution's internal identifier for the owner. + type: string + nullable: true + example: 7e5838e4 + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2019-09-27T13:01:41.941Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + display_name: + description: > + The full name of the individual, as provided by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + example: Jack Oswald White + social_name: + description: > + The social name of the individual, as generally accepted by the + country. + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + example: O Piadista + birth_date: + description: > + The individual's date of birth, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '1988-07-15' + marital_status: + $ref: '#/components/schemas/EnumOwnerMaritalStatus' + marital_status_additional_info: + description: | + Additional information about the individual's marital status. + type: string + nullable: true + maxLength: 50 + pattern: ^[\w\W]{0,50}$ + example: It's complicated + gender: + $ref: '#/components/schemas/EnumOwnerGender' + companies_id: + description: > + The institutions responsible for the creation and verification of + the owner. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: array + minItems: 1 + items: + description: > + The institutions responsible for the creation and verification of + the owner. + type: string + maxLength: 14 + pattern: ^\d{14}$ + example: '01773247000103' + is_local_resident: + description: > + Boolean to indicate if the individual is a local resident of the + country. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: boolean + example: true + document_id: + $ref: '#/components/schemas/OwnerDocumentIdOpenFinanceBrazil' + additional_documents: + description: > + Detailed information regarding additional documents provided to + prove the individuals ID. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: array + minItems: 1 + items: + $ref: '#/components/schemas/OwnerIndividualDocumentIds' + nationalities: + description: > + Detailed information regarding the individual's nationalities. + + + Only required to be returned when `is_local_resident` is set to + `false`. + type: array + nullable: true + minItems: 1 + items: + $ref: '#/components/schemas/OwnerNationalities' + email: + description: > + The account owner's registered email address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + nullable: true + format: email + maxLength: 320 + example: johndoe@belvo.com + emails: + description: > + Additional list of emails the owner provided. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: array + minItems: 0 + items: + $ref: '#/components/schemas/OwnerEmails' + address: + description: > + The account owner's registered address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + nullable: true + example: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + description: > + Detailed information regarding the owner's addresses. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: array + minItems: 1 + items: + $ref: '#/components/schemas/OwnerAddresses' + phone_number: + description: > + The account owner's registered phone number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + nullable: true + example: +52-XXX-XXX-XXXX + phone_numbers: + description: > + Detailed information regarding the owner's phone numbers. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: array + minItems: 0 + items: + $ref: '#/components/schemas/OwnerPhoneNumbers' + filiations: + description: > + Information regarding any familial relationships of the individual. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: array + minItems: 1 + items: + $ref: '#/components/schemas/OwnerFiliations' + financial_profile: + $ref: '#/components/schemas/OwnerIndividualFinancialProfile' + financial_relation: + $ref: '#/components/schemas/OwnerIndividualFinancialRelation' + OwnersIndividualPaginatedResponseOpenFinanceBrazil: + title: Owner Individual (OFDA Brazil) + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of owner objects. + type: array + items: + $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + OwnerBusinessDocumentIds: + description: >- + Detailed information regarding additional documents provided to prove + the business's ID. + type: object + nullable: true + required: + - type + - type_additional_info + - number + - check_digit + - issue_date + - expiration_date + - country_of_issuance + - additional_info + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualDocumentIdType' + type_additional_info: + description: > + Additional information regarding the document type. + + + > Note: For Business ID documents, this field must return a value + from Brazil's open finance network. + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + example: EIN + number: + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 40 + pattern: ^[\w\W]{0,40}$ + example: DL-7896829-7 + check_digit: + description: > + The check digit of the ID document. + + + > **Note**: This field is not applicable for Business ID documents + and will return `null`. + type: string + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + example: null + issue_date: + description: > + The date the the ID document was issued, in `YYYY-MM-DD` format. + + + > **Note**: This field is not applicable for Business ID documents + and will return `null`. + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: null + expiration_date: + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2019-01-01' + country_of_issuance: + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + nullable: true + maxLength: 3 + pattern: ^(\w{3}){1}$ + example: CAN + additional_info: + description: > + Additional information about the ID document. + + + > **Note**: This field is not applicable for Business ID documents + and will return `null`. + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + example: null + EnumOwnerPartyPersonType: + description: > + The type of person that is an ownership party of the account. We return + one of the following values: + + - `INDIVIDUAL` + - `COMPANY` + + type: string + nullable: true + enum: + - INDIVIDUAL + - COMPANY + example: INDIVIDUAL + EnumOwnerPartyType: + description: > + The access type that the `person_type` has to the account. We return one + of the following values: + + + - `MEMBER` indicates that the `person_type` has read access to the + account. + + - `ADMINISTRATOR` indicates that the `person_type` can perform all + actions for the account (including transfers). + type: string + nullable: true + enum: + - MEMBER + - ADMINISTRATOR + example: MEMBER + EnumOwnerPartyDocumentType: + description: > + The type of ID document the party provided when being added to the + account. We return one of the following values: + + - `CPF` + - `CNPJ` + - `OTHER_TRAVEL_DOCUMENT` + - `PASSPORT` + type: string + nullable: true + enum: + - CPF + - CNPJ + - OTHER_TRAVEL_DOCUMENT + - PASSPORT + example: CPF + OwnerParties: + description: >- + Detailed information regarding the parties allowed to act on the owner's + behalf. + type: object + nullable: true + required: + - person_type + - type + - display_name + - social_name + - trade_name + - start_date + - percentage_type + - document_type + - document_number + - document_issue_date + - document_expiration_date + - document_country + - document_additional_info + properties: + person_type: + $ref: '#/components/schemas/EnumOwnerPartyPersonType' + type: + $ref: '#/components/schemas/EnumOwnerPartyType' + display_name: + description: > + The full name of the individual, as provided by the institution. + Only applicable if the `person_type` is `INDIVIDUAL`. + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + example: Jack Oswald White + social_name: + description: > + The social name of the individual, as generally accepted by the + country. Only applicable if the `person_type` is `INDIVIDUAL`. + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + example: O Piadista + company_name: + description: > + The full (official) name of the business. Only applicable if the + `person_type` is `COMPANY`. + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + example: Wayne Enterprises + trade_name: + description: > + The trade name of the business. Only applicable if the `person_type` + is `COMPANY`. + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + example: WayneCorp + start_date: + description: > + The date that the party was added to the account, in `YYYY-MM-DD` + format. + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2021-07-15' + percentage_type: + description: | + The party's equity interest. + type: number + nullable: true + format: float + minLength: 8 + maxLength: 8 + pattern: ^[01]\.\d{6}$ + example: 0.51 + document_type: + $ref: '#/components/schemas/EnumOwnerPartyDocumentType' + document_number: + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 40 + pattern: ^[\w\W\s]{0,40}$ + example: DL-7896829-7 + document_issue_date: + description: | + The date the the ID document was issued, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2019-01-01' + document_expiration_date: + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2019-01-01' + document_country: + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + type: string + nullable: true + maxLength: 3 + pattern: ^(\w{3}){1}$ + example: CAN + document_additional_info: + description: | + Additional information regarding the document. + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + example: Confirmed CPF with their driver's licence. + OwnerBusinessEconomicActivies: + description: Details regarding the reported economic activities of the business. + type: object + nullable: true + required: + - is_main + - code + properties: + is_main: + description: > + Boolean to indicate whether this is the business's main economic + activity. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `economic_activities` field is available. + type: boolean + example: true + code: + description: > + The code of the economic activity, as given by the country. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `economic_activities` field is available. + type: string + minLength: 2 + maxLength: 7 + pattern: ^\d{2,7}$ + example: '8599604' + EnumOwnerBusinessInformedRevenueFrequency: + description: > + Indicates how often the business declares their revenue. We return one + of the following values: + + - `DAILY` + - `WEEKLY` + - `FORTNIGHTLY` + - `MONTHLY` + - `BIMONTHLY` + - `QUARTERLY` + - `BIANNUALLY` + - `ANNUALLY` + - `OTHERS` + - `null` + type: string + nullable: true + enum: + - DAILY + - WEEKLY + - FORTNIGHTLY + - MONTHLY + - BIMONTHLY + - QUARTERLY + - BIANNUALLY + - ANNUALLY + - OTHERS + - null + example: MONTHLY + OwnerBusinessInformedRevenue: + description: Information regarding the business's reported revenue. + type: object + nullable: true + required: + - frequency + - frequency_additional_info + - amount + - currency + - year + properties: + frequency: + $ref: '#/components/schemas/EnumOwnerBusinessInformedRevenueFrequency' + frequency_additional_info: + description: | + Additional information regarding the frequency. + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + example: Recently switched from weekly to monthly. + amount: + description: > + The reported revenue of the business. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `informed_revenue` field is available. + type: number + pattern: ^\d{1,15}\.\d{2,4}$ + example: 45391.89 + currency: + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `informed_revenue` field is available. + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + example: BRL + year: + description: > + The year when revenue was last declared. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `informed_revenue` field is available. + type: integer + maxLength: 4 + minimum: 1700 + maximum: 2090 + example: 2022 + OwnerBusinessPatrimony: + description: Information regarding the individual's reported assets. + type: object + nullable: true + required: + - amount + - currency + - date + properties: + amount: + description: > + The reported assets of the business. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `patrimony` field is available. + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + example: 45391.89 + currency: + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `patrimony` field is available. + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + example: BRL + date: + description: > + The date that the reported assets applied, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `patrimony` field is available. + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '2022-12-12' + OwnerBusinessFinancialProfile: + description: Information regarding the financial profile of the individual. + type: object + nullable: true + required: + - economic_activities + - informed_revenue + - patrimony + properties: + economic_activities: + description: Details regarding the reported economic activities of the business. + type: array + items: + $ref: '#/components/schemas/OwnerBusinessEconomicActivies' + informed_revenue: + $ref: '#/components/schemas/OwnerBusinessInformedRevenue' + patrimony: + $ref: '#/components/schemas/OwnerBusinessPatrimony' + EnumOwnerBusinessProductType: + description: > + The additional products the business has at the institution. We return + one of the following values: + + - `SAVINGS_ACCOUNT` + - `CHECKING_ACCOUNT` + - `null` + + type: string + nullable: true + enum: + - SAVINGS_ACCOUNT + - CHECKING_ACCOUNT + - null + example: SAVINGS_ACCOUNT + OwnerBusinessProducts: + description: >- + Details regarding any additional products that the individual has with + the institution. + type: object + nullable: true + required: + - type + - subtype + - agency + - clearing_code + - number + - check_digit + properties: + type: + $ref: '#/components/schemas/EnumOwnerBusinessProductType' + subtype: + description: > + The subtype of the product that the business has at the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + type: string + example: CONJUNTA_SIMPLES + agency: + description: | + The branch code where the product was opened. + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + example: '6272' + clearing_code: + description: > + The banking clearing code for the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + type: string + maxLength: 3 + pattern: ^\d{3}$ + example: '001' + number: + description: > + The account number of the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + type: string + maxLength: 20 + pattern: ^\d{8,20}$ + example: '24550245' + check_digit: + description: > + The check digit of the product's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + type: string + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + example: '7' + OwnerBusinessFinancialRelation: + description: >- + Details regarding any additional relationship the business has with the + institution (for example, other accounts or products they have with the + institution). + type: object + nullable: true + required: + - start_date + - product_services + - procurators + - products + properties: + start_date: + description: > + The ISO-8601 timestamp when the financial relationship between the + business and the institution started. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + format: date-time + maxLength: 20 + pattern: >- + ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$ + example: '2021-05-21T08:30:00Z' + product_services: + description: > + A list of products that the business has with the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: array + minItems: 1 + items: + description: | + The name of the product, according to the institution. + type: string + example: CONTA_DEPOSITO_A_VISTA + procurators: + description: >- + Information regarding any individuals or companies that can act on + behalf of the owner. + type: array + items: + $ref: '#/components/schemas/OwnerProcurators' + products: + description: >- + Details regarding any additional products that the business has with + the institution. + type: array + items: + $ref: '#/components/schemas/OwnerBusinessProducts' + OwnerBusinessOpenFinanceBrazil: + title: Owner Business (OFDA Brazil) + type: object + required: + - id + - link + - internal_identification + - collected_at + - created_at + - company_name + - trade_name + - incorporation_date + - companies_id + - document_id + - additional_documents + - email + - emails + - address + - addresses + - phone_number + - phone_numbers + - parties + - financial_profile + - financial_relation + properties: + id: + description: Belvo's unique identifier used to reference the current owner. + type: string + format: uuid + example: c749315b-eec2-435d-a458-06912878564f + link: + description: Belvo's unique ID for the current Link. + type: string + format: uuid + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: + description: The institution's internal identifier for the owner. + type: string + nullable: true + example: 7e5838e4 + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2019-09-27T13:01:41.941Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + company_name: + description: > + The full (official) name of the business, as provided by the + institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + example: Wayne Enterprises + trade_name: + description: | + The trade name of the business. + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + example: WayneCorp + incorporation_date: + description: > + The date that the business was incorporated, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + example: '1988-07-15' + companies_id: + description: > + The institutions responsible for the creation and verification of + the owner. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: array + minItems: 1 + items: + description: > + The institutions responsible for the creation and verification of + the owner. + type: string + maxLength: 14 + pattern: ^\d{14}$ + example: '01773247000103' + document_id: + $ref: '#/components/schemas/OwnerDocumentIdOpenFinanceBrazil' + additional_documents: + description: > + Detailed information regarding additional documents provided to + prove the business's ID. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: array + minItems: 1 + items: + $ref: '#/components/schemas/OwnerBusinessDocumentIds' + email: + description: The account owner's registered email address. + type: string + nullable: true + format: email + maxLength: 256 + example: johndoe@belvo.com + emails: + description: Additional list of emails the owner provided. + type: array + minItems: 0 + items: + $ref: '#/components/schemas/OwnerEmails' + address: + description: The accounts owners registered address. + type: string + nullable: true + example: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + description: Detailed information regarding the owner's addresses. + type: array + minItems: 1 + items: + $ref: '#/components/schemas/OwnerAddresses' + phone_number: + description: The account owner's registered phone number. + type: string + nullable: true + example: +52-XXX-XXX-XXXX + phone_numbers: + description: Detailed information regarding the owner's `phone_number`s. + type: array + minItems: 0 + items: + $ref: '#/components/schemas/OwnerPhoneNumbers' + parties: + description: > + Detailed information regarding the parties allowed to act on the + owner's behalf. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + type: array + minItems: 1 + items: + $ref: '#/components/schemas/OwnerParties' + financial_profile: + $ref: '#/components/schemas/OwnerBusinessFinancialProfile' + financial_relation: + $ref: '#/components/schemas/OwnerBusinessFinancialRelation' + OwnersBusinessPaginatedResponseOpenFinanceBrazil: + title: Owner Business (OFDA Brazil) + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of owner business (OFDA Brazil) objects. + type: array + items: + $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + EnumInvoiceSatInvoiceType: + description: | + The fiscal institution's classification of the invoice. + + For Mexico's SAT, we return one of the following values: + + - `Egreso` + - `Ingreso` + - `Nómina` + - `Pago` + - `Traslado` + type: string + nullable: true + enum: + - Egreso + - Ingreso + - Nómina + - Pago + - Traslado + example: Ingreso + EnumInvoiceType: + description: | + The direction of the invoice (from the perspective of the Link owner). + - `OUTFLOW` indicates a sent invoice. + - `INFLOW` indicates a received invoice. + type: string + nullable: true + enum: + - OUTFLOW + - INFLOW + - null + example: INFLOW + EnumInvoiceSatPaymentMethod: + description: > + The payment method code used for this invoice, as defined by the legal + entity of the country. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payment-method). + For Mexico, we return `PUE`, `PIP`, `PPD`, or `null`. + type: string + nullable: true + enum: + - PUE + - PIP + - PPD + - null + example: PUE + InvoiceDetailRetainedTaxSat: + type: object + required: + - tax + - tax_percentage + - retained_tax_amount + properties: + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2019-09-27T13:01:41.941Z' + tax_type: + description: > + **Note**: This field is not applicable for SAT Mexico and will + return `null`. + type: string + nullable: true + example: null + tax: + description: The type of retained tax (for example, ISR, IVA or IEPS). + type: string + nullable: true + example: ISR + tax_percentage: + description: The percentage of tax retained. + type: number + nullable: true + format: float + example: 10 + retained_tax_amount: + description: The amount of retained tax. + type: number + nullable: true + format: float + example: 209.79 + InvoiceDetailSat: + type: object + required: + - description + - product_identification + - quantity + - unit_amount + - unit_description + - unit_code + - pre_tax_amount + - tax_percentage + - tax_amount + - total_amount + properties: + description: + description: > + The description of the invoice item (an invoice can have one or more + items). + type: string + nullable: true + example: December 2019 accounting fees + product_identification: + description: > + The identification code of the product or the service, as defined by + the legal entity in the country. + + - 🇲🇽 [Mexico](http://200.57.3.89/Pys/catPyS.aspx) + type: string + nullable: true + example: '84101600' + quantity: + description: The quantity of this invoice item. + type: number + nullable: true + format: float + example: 10 + unit_code: + description: > + The unit of measure, as defined by the legal entity in the country. + + - 🇲🇽 Mexico [SAT catalog + reference](https://developers.belvo.com/docs/sat-catalogs#unit-code) + type: string + nullable: true + example: E48 + unit_description: + description: > + The description of the item, as defined by the legal entity in the + country. + + - 🇲🇽 Mexico [SAT catalog + reference](https://developers.belvo.com/docs/sat-catalogs#unit-code) + type: string + nullable: true + example: Unidad de servicio + unit_amount: + description: The price of one a singular item. + type: number + nullable: true + format: float + example: 200 + tax_type: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + pre_tax_amount: + description: | + The total price for this item before tax is applied (`quantity` x + `unit_amount`). + type: number + nullable: true + format: float + example: 400 + tax_percentage: + description: The tax percentage to apply. + type: number + nullable: true + format: float + example: 16 + tax_amount: + description: | + The amount of tax for this invoice item (`pre_tax_amount` x + `tax_percentage`). + type: number + nullable: true + format: float + example: 64 + total_amount: + description: >- + The total price for this invoice item (`pre_tax_amount` + + `tax_amount`). + type: number + nullable: true + format: float + example: 464 + retained_taxes: + description: The retained tax on the invoice item. + type: array + items: + $ref: '#/components/schemas/InvoiceDetailRetainedTaxSat' + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2019-09-27T13:01:41.941Z' + InvoicesPaymentsRelatedDocumentsSat: + description: List of all the related deferred invoices affected by the payment. + type: object + required: + - invoice_identification + - currency + - payment_method + - previous_balance + - amount_paid + - outstanding_balance + properties: + invoice_identification: + description: | + The fiscal institution's unique ID for the related deferred invoice. + type: string + nullable: true + example: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: + description: | + The currency of the related invoice. For example: + + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + + Please note that other currencies other than in the list above may be returned. + type: string + nullable: true + example: MXN + payment_method: + description: | + The payment method of the related invoice. + type: string + nullable: true + example: PPD + partiality_number: + description: | + The payment installment number. + type: integer + format: int32 + example: 1 + previous_balance: + description: | + The invoice amount before the payment. + type: number + nullable: true + format: float + example: 18877.84 + amount_paid: + description: | + The amount paid in this installment. + type: number + nullable: true + format: float + example: 8000 + outstanding_balance: + description: | + The amount remaining to be paid. + type: number + nullable: true + format: float + example: 10877.84 + InvoicesPaymentsSat: + type: object + required: + - date + - payment_type + - currency + - exchange_rate + - amount + - operation_number + - beneficiary_account_number + - payer_rfc + - payer_account_number + - payer_bank_name + - related_documents + properties: + date: + description: | + ISO-8601 timestamp when the payment was made. + type: string + nullable: true + format: date-time + example: '2020-03-17T12:00:00.000Z' + payment_type: + description: > + Payment type code used for this invoice, as defined by the country's + legal entity. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payment-type) + type: string + nullable: true + example: '03' + currency: + description: > + The currency of the payment. For example: + + + - 🇧🇷 BRL (Brazilian Real) + + - 🇨🇴 COP (Colombian Peso) + + - 🇲🇽 MXN (Mexican Peso) + + + Please note that other currencies other than in the list above may + be returned. + type: string + nullable: true + example: BRL + exchange_rate: + description: > + The `currency` to MXN currency exchange rate when the payment was + made. + type: string + nullable: true + example: '3.75' + amount: + description: | + The invoice amount, in the currency of the original invoice. + type: number + nullable: true + format: float + example: 8000.5 + operation_number: + description: | + The fiscal institution's internal identifier for the operation. + type: string + nullable: true + example: '831840' + beneficiary_rfc: + description: | + The fiscal ID of the payment beneficiary. + type: string + nullable: true + example: BNM840515VB1 + beneficiary_account_number: + description: | + The bank account number of the payment beneficiary. + type: string + nullable: true + example: '12343453245633' + payer_rfc: + description: | + The fiscal ID of the payment issuer. + type: string + nullable: true + example: BKJM840515VB1 + payer_account_number: + description: | + The bank account number of the payment issuer. + type: string + nullable: true + example: '13343663245699' + payer_bank_name: + description: | + The banking institution that was used by the payment issuer. + type: string + nullable: true + example: CITI BANAMEX + related_documents: + description: | + A list of all the related deferred invoices affected by the payment. + type: array + items: + $ref: '#/components/schemas/InvoicesPaymentsRelatedDocumentsSat' + InvoicesPayrollSat: + description: > + Details regarding the payroll payment. Only applicable for payroll + invoices. + type: object + nullable: true + required: + - version + - type + - payment_date + - date_from + - date_to + - days + - amount + properties: + version: + description: | + The version of the payroll object. + type: string + example: '1.2' + days: + description: | + The number of days covered by the payment. + type: integer + nullable: true + format: int32 + example: 30 + type: + description: > + The payroll type, as defined by the legal entity of the country. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payroll-type) + type: string + nullable: true + example: O + amount: + description: | + The total amount of the payroll payment. + type: number + format: float + example: 20400.1 + date_from: + description: | + The start date of the payment period, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + example: '2018-07-01' + date_to: + description: | + The end date of the payment period, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + example: '2018-07-31' + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2019-09-27T13:01:41.941Z' + payment_date: + description: | + The payment date, in `YYYY-MM-DD` format. + type: string + format: date + InvoiceWarningsSat: + description: > + Object containing information about any warnings related to this + invoice. + type: object + nullable: true + required: + - code + - message + properties: + code: + description: | + The warning code. Can be one of: + + - `sat_xml_limit_reached` + - `sat_service_unavailable` + - `null` + type: string + nullable: true + example: sat_xml_limit_reached + message: + description: > + The description of the warning. + + + The message will depend on the warning code: + + + `sat_xml_limit_reached`
+ + The daily limit for XML downloads set by SAT was reached so this + invoice might be missing data. Please check + https://tinyurl.com/yydzhy5d for more information on this error. + + + `sat_service_unavailable`
+ + Downloading invoices details is not available. The SAT portal raised + a 503 error. + type: string + nullable: true + example: > + The daily limit for XML downloads set by SAT was reached so this + invoice + + might be missing data. Please check https://tinyurl.com/yydzhy5d for + more + + information on this error. + InvoiceWithIdSat: + title: 🇲🇽 SAT Mexico + type: object + required: + - type + - invoice_identification + - invoice_date + - invoice_type + - subtotal_amount + - tax_amount + - discount_amount + - total_amount + - currency + - exchange_rate + - status + - sender_name + - sender_id + - receiver_name + - receiver_id + - certification_authority + - certification_date + - cancelation_status + - cancelation_update_date + - payment_type + - payment_type_description + - invoice_details + - payroll + - payments + - collected_at + properties: + version: + description: | + The CFDI version of the invoice. + type: string + nullable: true + example: '3.3' + id: + description: Belvo's unique identifier used to reference the current invoice. + type: string + format: uuid + example: c749315b-eec2-435d-a458-06912878564f + link: + description: The `link.id` the invoice belongs to. + type: string + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2019-09-27T13:01:41.941Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + invoice_identification: + description: The fiscal institution's unique ID for the invoice. + type: string + nullable: true + example: A1A1A1A1-2B2B-3C33-D44D-555555E55EE + invoice_date: + description: The date of the invoice, in `YYYY-MM-DD` format. + type: string + nullable: true + example: '2019-12-01' + status: + description: > + The status of the invoice. Can be either *Vigente* (valid) or + *Cancelado* + + (cancelled). + type: string + nullable: true + example: Vigente + invoice_type: + $ref: '#/components/schemas/EnumInvoiceSatInvoiceType' + type: + $ref: '#/components/schemas/EnumInvoiceType' + sender_id: + description: The fiscal ID of the invoice sender + type: string + nullable: true + example: AAA111111AA11 + sender_name: + description: The name of the invoice sender. + type: string + nullable: true + example: ACME CORP + sender_tax_fraud_status: + description: > + Indicates whether or not the sender is on SAT's tax fraud list for + having submitted incorrect data, having outstanding payments, or + having conducted business that is in violation of the fiscal + institution's regulations.

+ + + SAT updates the tax fraud list every three months.

+ + + For more information regarding the reason's a taxpayer can be put on + the tax fraud list, please see [Article + 69](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69.html) + and [Article + 69-B](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69B.html) + of Mexico's Código Fiscal de la Federación. + +

+ + + Possible statuses are: + + + - `INVESTIGATING`
+ + The fiscal institution has identified irregularities and open an + investigation regarding the taxpayer. + +
+ + - `DISMISSED`
+ + The fiscal institution has investigated the taxpayer and declared + them innocent. + +
+ + - `CONFIRMED`
+ + The fiscal institution has confirmed that the taxpayer is guilty. + +
+ + - `OVERTURNED`
+ + The fiscal institution has reassessed a previously confirmed + taxpayer and, based on new evidence, has taken the taxpayer off the + tax fraud list. + +
+ + - `NO_TAX_FRAUD_STATUS`
+ + The receiver or sender is not found in the list (in other words, + they are complying with the fiscal institution's regulations). + type: string + nullable: true + example: NO_TAX_FRAUD_STATUS + receiver_id: + description: The fiscal ID of the invoice receiver. + type: string + nullable: true + example: BBB222222BB22 + receiver_name: + description: The name of the invoice receiver. + type: string + nullable: true + example: BELVO CORP + receiver_tax_fraud_status: + description: > + Indicates whether or not the receiver is on SAT's tax fraud list for + having submitted incorrect data, having outstanding payments, or + having conducted business that is in violation of the fiscal + institution's regulations.

+ + + SAT updates the tax fraud list every three months.

+ + + For more information regarding the reason's a taxpayer can be put on + the tax fraud list, please see [Article + 69](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69.html) + and [Article + 69-B](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69B.html) + of Mexico's Código Fiscal de la Federación. + +

+ + + Possible statuses are: + + + - `INVESTIGATING`
+ + The fiscal institution has identified irregularities and open an + investigation regarding the taxpayer. + +
+ + - `DISMISSED`
+ + The fiscal institution has investigated the taxpayer and declared + them innocent. + +
+ + - `CONFIRMED`
+ + The fiscal institution has confirmed that the taxpayer is guilty. + +
+ + - `OVERTURNED`
+ + The fiscal institution has reassessed a previously confirmed + taxpayer and, based on new evidence, has taken the taxpayer off the + tax fraud list. + +
+ + - `NO_TAX_FRAUD_STATUS`
+ + The receiver or sender is not found in the list (in other words, + they are complying with the fiscal institution's regulations). + type: string + nullable: true + example: NO_TAX_FRAUD_STATUS + cancelation_status: + description: > + If the invoice is cancelled, this field indicates the status of the + cancellation. + type: string + nullable: true + cancelation_update_date: + description: | + The date of the invoice cancelation, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + example: '2019-12-02' + certification_date: + description: | + The date of the fiscal certification, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + example: '2019-12-01' + certification_authority: + description: | + The fiscal ID of the certification provider. + type: string + nullable: true + example: CCC333333CC33 + payment_type: + description: > + The payment type code used for this invoice, as defined by the + country legal entity. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payment-type) + type: string + nullable: true + example: '99' + payment_type_description: + 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.* + type: string + nullable: true + deprecated: true + example: null + payment_method: + $ref: '#/components/schemas/EnumInvoiceSatPaymentMethod' + payment_method_description: + 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.* + + + *The description of the payment method used for this invoice.* + type: string + nullable: true + deprecated: true + example: null + usage: + description: > + The invoice's usage code, as defined by the legal entity of the + country. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#usage) + type: string + nullable: true + example: P01 + place_of_issue: + description: | + The postcode of where the invoice was issued. + type: string + nullable: true + example: '01165' + invoice_details: + description: > + A list of descriptions for each item (purchased product or service + provided) in the invoice. + type: array + items: + $ref: '#/components/schemas/InvoiceDetailSat' + currency: + description: | + The currency of the invoice. For example: + + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + - 🇺🇸 USD (United States Dollar) + type: string + nullable: true + example: MXN + subtotal_amount: + description: > + The pretax amount of this invoice (sum of each item's + `pre_tax_amount`). + type: number + nullable: true + format: float + example: 400 + exchange_rate: + description: | + The exchange rate used in this invoice for the currency. + type: number + nullable: true + format: float + example: 0.052 + tax_amount: + description: > + The amount of tax for this invoice (sum of each item's + `tax_amount`). + type: number + nullable: true + format: float + example: 64 + discount_amount: + description: | + The total amount discounted in this invoice. + type: number + nullable: true + format: float + example: 10 + total_amount: + description: | + The total amount of the invoice (`subtotal_amount` + `tax_amount` - + `discount_amount`) + type: number + nullable: true + format: float + example: 454 + payments: + description: | + A list detailing all the invoice payments. + type: array + items: + $ref: '#/components/schemas/InvoicesPaymentsSat' + payroll: + $ref: '#/components/schemas/InvoicesPayrollSat' + folio: + description: > + The internal control number that the taxpayer assigns to the + invoice. + type: string + nullable: true + example: '26' + xml: + description: | + XML of the invoice document. + type: string + nullable: true + warnings: + $ref: '#/components/schemas/InvoiceWarningsSat' + sender_blacklist_status: + 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.* + + Please use `sender_tax_fraud_status` instead. + type: string + nullable: true + deprecated: true + example: null + receiver_blacklist_status: + 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.* + + Please use `receiver_tax_fraud_status` instead. + type: string + nullable: true + deprecated: true + example: null + EnumInvoiceDianInvoiceType: + description: | + The fiscal institution's classification of the invoice. + + For Colombia's DIAN, we return one of the following values: + + - `Factura Electrónica de Venta` + type: string + nullable: true + enum: + - Factura Electrónica de Venta + example: Factura Electrónica de Venta + InvoiceSenderDetailsDian: + description: | + Details regarding the sender. + type: object + nullable: true + properties: + collected_at: + description: The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2020-04-23T21:32:55.336854+00:00' + tax_payer_type: + description: > + Indicates if the sender is a business or an individual. Can be + either: + + - `Persona Jurídica` + - `Persona Natural` + type: string + nullable: true + example: Persona Natural + regimen: + description: > + The sender's regimen type. + + + For detailed information regarding DIAN's regimens, please see their + [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + type: string + nullable: true + example: Régimen Simple de Tributación - SIMPLE + tax_scheme: + description: > + The sender's fiscal responsibilities. + + + For detailed information regarding DIAN's tax schemes, please see + their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + type: string + nullable: true + example: 01-IVA + country: + description: | + The country where the sender pays their taxes. + type: string + nullable: true + example: Colombia + address: + description: | + The sender's address. + type: string + nullable: true + example: Calle 144 No. 12-09 + phone_number: + description: | + The sender's phone number. + type: string + nullable: true + example: '576606522566' + email: + description: | + The sender's email address. + type: string + nullable: true + example: acme_colombia@gmail.com + InvoicesReceiverDetailsDian: + description: | + Details regarding the receiver. + type: object + nullable: true + properties: + collected_at: + description: The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2020-04-23T21:32:55.336854+00:00' + tax_payer_type: + description: > + Indicates if the receiver is a business or an individual. Can be + either: + + - `Persona Jurídica` + - `Persona Natural` + type: string + nullable: true + example: Persona Natural + regimen: + description: > + The receiver's regimen type. + + + For detailed information regarding DIAN's regimens, please see their + [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + type: string + nullable: true + example: Régimen Simple de Tributación - SIMPLE + tax_scheme: + description: > + The receiver's fiscal responsibilities. + + + For detailed information regarding DIAN's tax schemes, please see + their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + type: string + nullable: true + example: 01-IVA + country: + description: | + The country where the receiver pays their taxes. + type: string + nullable: true + example: Colombia + address: + description: | + The receiver's address. + type: string + nullable: true + example: Calle 144 No. 12-09 + phone_number: + description: | + The receiver's phone number. + type: string + nullable: true + example: 576606522566| + email: + description: | + The receiver's email address. + type: string + nullable: true + example: acme_colombia@gmail.com + EnumInvoiceDianPaymentMethod: + description: > + The payment method used for this invoice, as defined by the legal entity + of the country. + + + For DIAN Colombia, we return one of the following values: + + - `Contado` + - `Crédito` + - `null` + type: string + nullable: true + enum: + - Contado + - Crédito + - null + example: Contado + InvoiceDetailDian: + type: object + required: + - description + - product_identification + - quantity + - unit_amount + - unit_description + - unit_code + - pre_tax_amount + - tax_percentage + - tax_amount + - total_amount + properties: + description: + description: | + The description of the invoice item (an invoice can have one or more + items). + type: string + nullable: true + example: December 2019 accounting fees + product_identification: + description: > + The identification code of the product or the service, as defined by + the legal entity in the country. + type: string + nullable: true + example: AE001 + quantity: + description: The quantity of this invoice item. + type: number + nullable: true + format: float + example: 1 + unit_code: + description: | + The unit of measure, as defined by the legal entity in the country. + type: string + nullable: true + example: EA + unit_description: + description: > + The description of the item, as defined by the legal entity in the + country. + type: string + nullable: true + example: cada + unit_amount: + description: The price of one singular item. + type: number + nullable: true + format: float + example: 5900 + tax_type: + description: The item's tax type. + type: string + nullable: true + example: IVA + pre_tax_amount: + description: | + The total price for this item before tax is applied (`quantity` x + `unit_amount`). + type: number + nullable: true + format: float + example: 5900 + tax_percentage: + description: The tax percentage to apply. + type: number + nullable: true + format: float + example: 16 + tax_amount: + description: | + The amount of tax for this invoice item (`pre_tax_amount` x + `tax_percentage`). + type: number + nullable: true + format: float + example: 64 + total_amount: + description: >- + The total price for this invoice item (`pre_tax_amount` + + `tax_amount`). + type: number + nullable: true + format: float + example: 464 + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2019-09-27T13:01:41.941Z' + InvoicesPaymentsRelatedDocumentsDian: + description: List of all the related deferred invoices affected by the payment. + type: object + required: + - invoice_identification + - currency + - payment_method + - previous_balance + - amount_paid + - outstanding_balance + properties: + invoice_identification: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + currency: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + payment_method: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + partiality_number: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: integer + nullable: true + format: int32 + example: .nan + previous_balance: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: number + nullable: true + format: float + example: .nan + amount_paid: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: number + nullable: true + format: float + example: .nan + outstanding_balance: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: number + nullable: true + format: float + example: .nan + InvoicesPaymentsDian: + type: object + required: + - date + - payment_type + - currency + - exchange_rate + - amount + - operation_number + - beneficiary_account_number + - payer_rfc + - payer_account_number + - payer_bank_name + - related_documents + properties: + date: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + format: date-time + example: null + payment_type: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + currency: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + exchange_rate: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + amount: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: number + nullable: true + format: float + example: .nan + operation_number: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + beneficiary_rfc: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + beneficiary_account_number: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + payer_rfc: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + payer_account_number: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + payer_bank_name: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + related_documents: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: array + items: + $ref: '#/components/schemas/InvoicesPaymentsRelatedDocumentsDian' + InvoicesPayrollDian: + description: > + **Note**: This field is not applicable for DIAN Colombia and will return + `null`. + type: object + nullable: true + required: + - version + - type + - payment_date + - date_from + - date_to + - days + - amount + properties: + version: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + days: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: integer + nullable: true + format: int32 + example: .nan + type: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + amount: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: number + nullable: true + format: float + example: .nan + date_from: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + format: date + example: null + date_to: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + format: date + example: null + collected_at: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + format: date-time + example: null + payment_date: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + format: date + example: null + InvoiceWarningsDian: + description: > + **Note**: This field is not applicable for DIAN Colombia and will return + `null`. + type: object + nullable: true + required: + - code + - message + properties: + code: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + message: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + InvoiceDian: + title: 🇨🇴 DIAN Colombia + type: object + required: + - type + - invoice_identification + - invoice_date + - invoice_type + - subtotal_amount + - tax_amount + - discount_amount + - total_amount + - currency + - exchange_rate + - status + - sender_name + - sender_id + - receiver_name + - receiver_id + - certification_authority + - certification_date + - cancelation_status + - cancelation_update_date + - payment_type + - payment_type_description + - invoice_details + - payroll + - payments + - collected_at + properties: + version: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + id: + description: Belvo's unique identifier for the current invoice. + type: string + format: uuid + example: c749315b-eec2-435d-a458-06912878564f + link: + description: The `link.id` the invoice belongs to. + type: string + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2019-09-27T13:01:41.941Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + invoice_identification: + description: The fiscal institution's unique ID for the invoice. + type: string + nullable: true + example: >- + 89868fda605e6250a7ecb910dc57ed6f8147c6dc39ec90805bb655a0646e6cc3f991f93463f62e03d236b9cc9c293edc + invoice_date: + description: The date of the invoice, in `YYYY-MM-DD` format. + type: string + nullable: true + example: '2019-12-01' + status: + description: | + The status of the invoice. Can be one of: + + - *Aprobado* (approved) + - *Aprobado con notificación* (approved with notification) + type: string + nullable: true + example: Aprobado + expiration_date: + description: > + The date when the invoice is set to expire, in `YYYY-MM-DD` format. + + + For example: If the invoice is paid in installments, this field + indicates the date when the installment is to be paid. + type: string + nullable: true + format: date + example: '2022-08-19' + invoice_type: + $ref: '#/components/schemas/EnumInvoiceDianInvoiceType' + type: + $ref: '#/components/schemas/EnumInvoiceType' + sender_id: + description: The fiscal ID of the invoice sender. + type: string + nullable: true + example: YHS922233648 + sender_name: + description: The name of the invoice sender. + type: string + nullable: true + example: ACME Corp Colombia + sender_details: + $ref: '#/components/schemas/InvoiceSenderDetailsDian' + sender_tax_fraud_status: + description: > + Indicates whether or not the sender is on a tax fraud list for + having submitted incorrect data, having outstanding payments, or + having conducted business that is in violation of the fiscal + institution's regulations. + + + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + receiver_id: + description: The fiscal ID of the invoice receiver. + type: string + nullable: true + example: BBB222222BB22 + receiver_name: + description: The name of the invoice receiver. + type: string + nullable: true + example: Roadrunner Traps Colombia + receiver_details: + $ref: '#/components/schemas/InvoicesReceiverDetailsDian' + receiver_tax_fraud_status: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + cancelation_status: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + cancelation_update_date: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + format: date + example: null + certification_date: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + format: date + example: null + certification_authority: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + payment_type: + description: > + The payment type code used for this invoice, as defined by the + country legal entity. + + + For detailed information regarding DIAN's payment types, please see + their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + type: string + nullable: true + example: '47' + payment_type_description: + description: | + The description of the payment method used for this invoice. + type: string + nullable: true + example: null + payment_method: + $ref: '#/components/schemas/EnumInvoiceDianPaymentMethod' + payment_method_description: + 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.* + + + *The description of the payment method used for this invoice.* + type: string + nullable: true + deprecated: true + example: null + usage: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + place_of_issue: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + invoice_details: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: array + items: + $ref: '#/components/schemas/InvoiceDetailDian' + currency: + description: | + The currency of the invoice. For example: + + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + - 🇺🇸 USD (United States Dollar) + type: string + nullable: true + example: COP + subtotal_amount: + description: > + The pretax amount of this invoice (sum of each item's + `pre_tax_amount`). + type: number + nullable: true + format: float + example: 400 + exchange_rate: + description: | + The exchange rate used in this invoice for the currency. + type: number + nullable: true + format: float + example: 0.053 + tax_amount: + description: > + The amount of tax for this invoice (sum of each item's + `tax_amount`). + type: number + nullable: true + format: float + example: 64 + discount_amount: + description: | + The total amount discounted in this invoice. + type: number + nullable: true + format: float + example: 10 + total_amount: + description: | + The total amount of the invoice (`subtotal_amount` + `tax_amount` - + `discount_amount`) + type: number + nullable: true + format: float + example: 454 + payments: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: array + items: + $ref: '#/components/schemas/InvoicesPaymentsDian' + payroll: + $ref: '#/components/schemas/InvoicesPayrollDian' + folio: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + xml: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + warnings: + $ref: '#/components/schemas/InvoiceWarningsDian' + InvoicesResponsePaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of invoice objects. + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + InvoicesRequest: + type: object + required: + - date_from + - date_to + - link + - type + properties: + link: + description: The fiscal `link.id` to use. + type: string + format: uuid + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + date_from: + description: > + The date from which you want to start getting invoices for, in + `YYYY-MM-DD` format. + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + example: '2020-01-01' + date_to: + description: > + The date you want to stop getting invoices for, in `YYYY-MM-DD` + format. + + + ⚠️ The number of days between `date_from` and `date_to` cannot be + over 365. + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + example: '2020-02-01' + type: + $ref: '#/components/schemas/EnumInvoiceType' + attach_xml: + description: | + When set to `true`, you will receive the XML invoice in the + response. + type: boolean + default: false + save_data: + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + type: boolean + default: true + example: true + TaxReturnPersonal: + title: Tax Return Personal + type: object + additionalProperties: true + required: + - informacion_general + - sueldos_salarios + - servicios_profesionales + - dividendos + - deducciones_personales + - retenciones + - determinacion_impuesto + - pdf + - receipt_pdf + - collected_at + properties: + id: + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + type: string + format: uuid + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: + description: The `link.id` the statement belongs to + type: string + format: uuid + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2019-09-27T13:01:41.941Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + description: | + General information on the tax return (year, RFC, return type, + person/company name, and so on). + type: object + nullable: true + sueldos_salarios: + description: > + Details regarding the income information together combined with + withheld + + taxes. + type: object + nullable: true + servicios_profesionales: + description: | + Details regarding the income and tax information from professional + services provided. + type: object + nullable: true + deducciones_personales: + description: List of all personal tax deductions. + type: object + nullable: true + determinacion_impuesto: + description: Details regarding the final tax return. + type: object + nullable: true + retenciones: + description: Details on the already withheld taxes. + type: object + nullable: true + dividendos: + description: Details regarding dividends. + type: object + nullable: true + datos_informativos: + description: Extra informative data on the tax return. + type: object + nullable: true + pdf: + description: Tax return PDF as a binary. + type: string + nullable: true + format: binary + example: '=PDF-STRING=' + receipt_pdf: + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + type: string + nullable: true + format: binary + example: '=PDF-STRING=' + TaxReturnsPersonalPaginated: + title: Tax Return Personal + type: object + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of Personal Tax Return objects. + type: array + items: + $ref: '#/components/schemas/TaxReturnPersonal' + TaxReturnPersonalMonthly: + title: Tax Return Personal Monthly + type: object + additionalProperties: true + required: + - informacion_general + - pdf + - type + - isr + - iva + - collected_at + properties: + id: + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + type: string + format: uuid + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2022-02-09T08:45:50.406032Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + description: > + General information regarding the tax return (year, RFC, return + type, + + person/company name, and so on). + type: object + nullable: true + isr: + description: > + Information used to calculate the monthly provisional payments of + the + + income tax. + type: object + nullable: true + iva: + description: > + Information used to calculate the monthly provisional payments of + the VAT + + tax. + type: object + nullable: true + pdf: + description: Tax return PDF as a binary. + type: string + nullable: true + format: binary + example: '=PDF-STRING=' + receipt_pdf: + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + type: string + nullable: true + format: binary + example: '=PDF-STRING=' + type: + description: The type of tax return. Can be either monthly or annual. + type: string + example: monthly + TaxReturnsPersonalMonthlyPaginated: + title: Tax Return Personal Monthly + type: object + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of Monthly Personal Tax Return objects. + type: array + items: + $ref: '#/components/schemas/TaxReturnPersonalMonthly' + TaxReturnBusiness: + title: Tax Return Business + type: object + additionalProperties: true + required: + - id + - collected_at + - created_at + - informacion_general + - datos_adicionales + - estado_resultados + - estado_posicion_financiera_balance + - conciliacion_entre_resultado_contable_fiscal + - deducciones_autorizadas + - cifras_cierre_ejercicio + - determinacion_del_impuesto_sobre_la_renta + - dividendos_o_utilidades_distribuidos + - detalle_pago_r1_isr_personas_morales + - pdf + - receipt_pdf + properties: + id: + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + type: string + format: uuid + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2019-09-27T13:01:41.941Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + description: > + General information regarding the tax return (year, RFC, return + type, + + person/company name, and so on). + type: object + nullable: true + datos_adicionales: + description: Additional data regarding the tax return. + type: object + nullable: true + estado_resultados: + description: > + Detailed information about the legal entity's yearly profit and + loss. + + + > **Note**: For tax returns submitted for the 2022 tax year and + later, this field will return null as it is no longer a required + field when submitting your tax return. + type: object + nullable: true + estado_posicion_financiera_balance: + description: > + Details regarding balance sheet of the legal entity. + + + > **Note**: For tax returns submitted for the 2022 tax year and + later, this field will return null as it is no longer a required + field when submitting your tax return. + type: object + nullable: true + conciliacion_entre_resultado_contable_fiscal: + description: > + Details regarding the accounting reconciliation. + + + > **Note**: For tax returns submitted for the 2022 tax year and + later, this field will return null as it is no longer a required + field when submitting your tax return. + type: object + nullable: true + deducciones_autorizadas: + description: Details regarding the legal entity's deductions. + type: object + nullable: true + cifras_cierre_ejercicio: + description: Details regarding key numbers at the end of the fiscal exercise. + type: object + nullable: true + determinacion_del_impuesto_sobre_la_renta: + description: Details regarding the final tax return. + type: object + nullable: true + dividendos_o_utilidades_distribuidos: + description: Details regarding distributed dividends. + type: object + nullable: true + detalle_pago_r1_isr_personas_morales: + description: Details of the tax payment. + type: object + nullable: true + ingressos: + description: > + > **Note**: Only applicable for tax return filed on or after 2022. + For tax returns filed before 2022, this field will return `null`. + + + Details regarding the total amounts earned in the fiscal year. + type: object + nullable: true + determinacion: + description: > + > **Note**: Only applicable for tax return filed on or after 2022. + For tax returns filed before 2022, this field will return `null`. + + + Details regarding the tax due or tax credit. + type: object + nullable: true + pdf: + description: Tax return PDF as a binary. + type: string + nullable: true + format: binary + example: '=PDF-STRING=' + receipt_pdf: + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + type: string + nullable: true + format: binary + example: '=PDF-STRING=' + TaxReturnsBusinessPaginated: + title: Tax Return Personal Business + type: object + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of Business Tax Return objects. + type: array + items: + $ref: '#/components/schemas/TaxReturnBusiness' + TaxReturnBusinessMonthly: + title: Tax Return Business Monthly + type: object + additionalProperties: true + required: + - informacion_general + - determinacion_isr + - pdf + - type + - collected_at + - detalle_pago_isr + - determinacion_iva + - detalle_pago_iva + properties: + id: + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + type: string + format: uuid + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2019-09-27T13:01:41.941Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + description: > + General information regarding the tax return (year, RFC, return + type, + + person/company name, and so on). + type: object + nullable: true + determinacion_isr: + description: >- + Information used to calculate the provisional income tax for the + period. + type: object + nullable: true + detalle_pago_isr: + description: Information on the monthly provisional payments for the income tax. + type: object + nullable: true + determinacion_iva: + description: >- + Information used to calculate the provisional VAT tax for the + period. + type: object + nullable: true + detalle_pago_iva: + description: Information on the monthly provisional payments for the VAT tax. + type: object + nullable: true + pdf: + description: Tax return PDF as a binary. + type: string + nullable: true + format: binary + example: '=PDF-STRING=' + receipt_pdf: + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + type: string + nullable: true + format: binary + example: '=PDF-STRING=' + type: + description: The type of tax return. Can be either monthly or annual. + type: string + nullable: true + example: monthly + TaxReturnsBusinessMonthlyPaginated: + title: Tax Return Personal Business Monthly + type: object + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of Monthly Business Tax Return objects. + type: array + items: + $ref: '#/components/schemas/TaxReturnBusinessMonthly' + TaxReturnsMonthlyRequest: + title: Monthly Tax Returns + description: Request body for monthly tax returns + type: object + required: + - link + - type + - date_from + - date_to + properties: + link: + description: The fiscal `link.id` you want specific tax return information for. + type: string + format: uuid + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + description: > + When this is set to `true`, you will receive the PDF as a binary + string in + + the response. + type: boolean + default: false + example: false + save_data: + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + type: boolean + default: true + example: true + type: + description: > + The type of tax return to return. For monthly tax returns, this + field must be set to `monthly`. + type: string + default: monthly + date_from: + description: > + The starting date you want to get tax returns for, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + type: string + example: '2018-01-01' + date_to: + description: > + The date you want to stop getting tax returns for, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + type: string + example: '2019-01-01' + TaxReturnsYearlyRequest: + title: Yearly Tax Returns + description: Request body for yearly tax returns + type: object + required: + - link + - type + - year_to + - year_from + properties: + link: + description: The fiscal `link.id` you want specific tax return information for. + type: string + format: uuid + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + description: > + When this is set to `true`, you will receive the PDF as a binary + string in + + the response. + type: boolean + default: false + example: false + save_data: + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + type: boolean + default: true + example: true + type: + description: > + The type of tax return to return. For yearly tax returns this must + be set to `yearly`. + + + By default, Belvo returns the yearly (annual) tax returns. + type: string + default: yearly + year_from: + description: | + The starting year you want to get tax returns for, in `YYYY` format. + type: string + example: '2018' + year_to: + description: | + The year you want to stop getting tax returns for, in `YYYY` format. + type: string + example: '2019' + TaxStatusTaxPayerInformationSat: + description: Details regarding the taxpayer. + type: object + nullable: true + required: + - rfc + - start_operations_date + - status_padron + - last_status_change_date + properties: + rfc: + description: > + The tax payers's identification number (For Mexico, this is the + RFC). + type: string + nullable: true + example: BEMP12345G58 + curp: + description: > + The tax payers's *Clave Única de Registro de Población* (CURP) + number. + type: string + nullable: true + example: null + name: + description: The tax payers's first name. + type: string + nullable: true + example: JOHN + first_last_name: + description: The tax payers's first last name. + type: string + nullable: true + example: DOE + second_last_name: + description: The tax payers's second last name. + type: string + nullable: true + example: SCHMOE + start_operations_date: + description: > + Date when the tax payer commenced taxable commercial activities, in + `YYYY-MM-DD` format. + type: string + nullable: true + format: date + example: null + status_padron: + description: > + Status of the taxpayer in the Federal Register of Taxpayers (RFC). + Can be `ACTIVO` or `INACTIVO`. + type: string + nullable: true + example: null + last_status_change_date: + description: > + Date when `status_padron` was most recently updated, in `YYYY-MM-DD` + format. + type: string + nullable: true + format: date + example: null + commercial_name: + description: > + The name of the business designated for consumers and the general + public. + + + **Note**: Only applicable for businesses. + type: string + nullable: true + example: Jar Jar Transport + social_name: + description: > + The unique and exclusive name within the national territory that + companies + + receive for legal or administrative purposes. + + + **Note**: Only applicable for businesses. + type: string + nullable: true + example: John Doe SA DE CV + email: + description: Contact email address for the tax payer. + type: string + nullable: true + example: john_doe@gmail.com + phone: + description: Contact phone number for the tax payer. + type: string + nullable: true + example: '1234567890' + TaxStatusAddressBetweenStreetSat: + type: object + properties: + street_one: + description: The first street that `street` is located between. + type: string + nullable: true + example: CALLE PRINCIPE + street_two: + description: The second street that `street` is located between. + type: string + nullable: true + example: CALLE NUEVA ROMA + TaxStatusAddressSat: + description: The tax payer's address details. + type: object + nullable: true + required: + - postal_code + properties: + postal_code: + description: | + The postcode of the address. + type: string + nullable: true + example: '21255' + street_type: + description: The `street` type. + type: string + nullable: true + example: CALLE + street: + description: The tax payers street. + type: string + nullable: true + example: LA MALINCHE + exterior_number: + description: The street number. + type: string + nullable: true + example: '432' + interior_number: + description: Additional address information. + type: string + nullable: true + example: PLANTA BAJA + suburb: + description: | + The suburb of the tax payer. + type: string + nullable: true + example: BUENAVENTURA + locality: + description: | + The locality of the address. + type: string + nullable: true + example: none + municipality: + description: The municipality of the address. + type: string + nullable: true + example: CDMX DC + state: + description: The state that the address is in. + type: string + nullable: true + example: Federal + between_street: + description: | + Additional information about where the `street` is located. + type: array + nullable: true + items: + $ref: '#/components/schemas/TaxStatusAddressBetweenStreetSat' + TaxStatusEconomicActivitySat: + type: object + properties: + economic_activity: + description: The description of the economic activity. + type: string + nullable: true + example: Asalariado + initial_date: + description: The start date of the economic activity, in `YYYY-MM-DD` format. + type: string + nullable: true + example: '2020-12-06' + end_date: + description: | + The end date of the economic activity, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + example: null + order: + description: The order of the economic activity. + type: string + nullable: true + example: '2' + percentage: + description: | + The percentage of the economic activity. + type: string + nullable: true + example: '1' + TaxStatusRegimensSat: + type: object + required: + - regimen + - initial_date + - end_date + properties: + end_date: + description: | + The end date of the regimen, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + example: null + initial_date: + description: | + The start date of the regimen, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + example: '2020-12-06' + regimen: + description: The description of the regimen. + type: string + nullable: true + example: Régimen de Ingresos por Dividendos (socios y accionistas) + TaxStatusObligationsSat: + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + type: object + properties: + obligation: + description: | + The description of the obligation. + type: string + nullable: true + example: Declaración informativa de IVA con la anual de ISR + expiration: + description: > + The deadline to fulfill the obligation, as imposed by the tax + authority. + type: string + nullable: true + example: Conjuntamente con la declaración anual del ejercicio. + initial_date: + description: | + The date when obligation started, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + example: '2020-12-06' + end_date: + description: | + The date when obligation ended, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + example: null + TaxStatusSat: + title: SAT 🇲🇽 Mexico + type: object + required: + - id + - link + - collected_at + - created_at + - place_and_date_of_issuance + - official_name + - id_cif + - tax_payer_information + - address + - economic_activity + - regimes + - obligations + - digital_stamp + - digital_stamp_chain + - pdf + properties: + id: + description: | + Unique identifier created by Belvo used to reference the current Tax + Status. + type: string + format: uuid + example: 21e9e25b-10a8-48a5-9e6a-4072b364b53f + link: + description: The `link.id` that the tax status is associated with. + type: string + format: uuid + example: c2280c05-cbeb-4a29-ae53-8f837a77995b + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2020-04-23T21:32:55.336Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + place_and_date_of_issuance: + description: The place and date of that the tax status was issued. + type: string + nullable: true + example: TLALPAN , CIUDAD DE MEXICO A 19 DE MARZO DE 2020 + official_name: + description: The name of the person or business. + type: string + nullable: true + example: John Doe + id_cif: + description: | + The taxpayer's *Cédula de Identificación Fiscal* (CIF) ID. + type: string + nullable: true + example: '12345678901' + tax_payer_information: + $ref: '#/components/schemas/TaxStatusTaxPayerInformationSat' + address: + $ref: '#/components/schemas/TaxStatusAddressSat' + economic_activity: + description: | + A list of economic activity objects. + type: array + nullable: true + items: + $ref: '#/components/schemas/TaxStatusEconomicActivitySat' + regimes: + description: | + A list of regimen objects. + type: array + nullable: true + items: + $ref: '#/components/schemas/TaxStatusRegimensSat' + obligations: + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + type: array + nullable: true + items: + $ref: '#/components/schemas/TaxStatusObligationsSat' + digital_stamp: + description: The validation certificate of the document. + type: string + nullable: true + example: | + ||2020/04/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: + description: > + A data chain containing the basic structure of a fiscal digital + check. For Mexico, this is the *Comprobante Fiscal Digital por + Internet* (CFDI). + type: string + nullable: true + example: > + EtenSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjow= + pdf: + description: Tax status PDF as a binary string. + type: string + nullable: true + format: binary + example: '=PDF-STRING=' + TaxStatusTaxPayerInformationDian: + description: Details regarding the taxpayer. + type: object + nullable: true + required: + - rfc + - start_operations_date + - status_padron + - last_status_change_date + properties: + rfc: + description: | + The tax payers's identification number (NIT). + type: string + nullable: true + example: BEMP12345G58 + curp: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + name: + description: The tax payers's first name. + type: string + nullable: true + example: JOHN + first_last_name: + description: The tax payers's first last name. + type: string + nullable: true + example: DOE + second_last_name: + description: The tax payers's second last name. + type: string + nullable: true + example: SCHMOE + start_operations_date: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + format: date + example: null + status_padron: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + last_status_change_date: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + format: date + example: null + commercial_name: + description: > + The name of the business designated for consumers and the general + public. + + + **Note**: Only applicable for businesses. + type: string + nullable: true + example: Jar Jar Transport + social_name: + description: > + The unique and exclusive name within the national territory that + companies + + receive for legal or administrative purposes. + + + **Note**: Only applicable for businesses. + type: string + nullable: true + example: John Doe SA DE CV + email: + description: Contact email address for the tax payer. + type: string + nullable: true + example: john_doe@gmail.com + phone: + description: Contact phone number for the tax payer. + type: string + nullable: true + example: '1234567890' + TaxStatusAddressBetweenStreetDian: + type: object + properties: + street_one: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + street_two: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + TaxStatusAddressDian: + description: The tax payer's address details. + type: object + nullable: true + required: + - postal_code + properties: + postal_code: + description: | + The postcode of the address. + type: string + nullable: true + example: 332-55 + street_type: + description: The `street` type. + type: string + nullable: true + example: CALLE + street: + description: The tax payers street. + type: string + nullable: true + example: LA MALINCHE + exterior_number: + description: The street number. + type: string + nullable: true + example: '432' + interior_number: + description: Additional address information. + type: string + nullable: true + example: AP 306 + suburb: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + locality: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + municipality: + description: The municipality of the address. + type: string + nullable: true + example: Bogota DC + state: + description: The state that the address is in. + type: string + nullable: true + example: Bogota DC + between_street: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: array + nullable: true + items: + $ref: '#/components/schemas/TaxStatusAddressBetweenStreetDian' + TaxStatusEconomicActivityDian: + type: object + properties: + economic_activity: + description: > + The economic activity code, according to the fiscal institution. + + + For detailed information regarding DIAN's economic activities, + please see their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + type: string + nullable: true + example: '112' + initial_date: + description: The start date of the economic activity, in `YYYY-MM-DD` format. + type: string + nullable: true + example: '2020-12-06' + end_date: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + format: date + example: null + order: + description: The order of the economic activity. + type: string + nullable: true + example: '1' + percentage: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + TaxStatusRegimensDian: + type: object + required: + - regimen + - initial_date + - end_date + properties: + end_date: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + format: date + example: null + initial_date: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + format: date + example: null + regimen: + description: The description of the regimen. + type: string + nullable: true + example: 49-No responsable de IVA + TaxStatusObligationsDian: + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + type: object + properties: + obligation: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + expiration: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + initial_date: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + format: date + example: null + end_date: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + format: date + example: null + TaxStatusDian: + title: DIAN 🇨🇴 Colombia + type: object + required: + - id + - link + - collected_at + - created_at + - place_and_date_of_issuance + - official_name + - id_cif + - tax_payer_information + - address + - economic_activity + - regimes + - obligations + - digital_stamp + - digital_stamp_chain + - pdf + properties: + id: + description: | + Unique identifier created by Belvo used to reference the current Tax + Status. + type: string + format: uuid + example: 21e9e25b-10a8-48a5-9e6a-4072b364b53f + link: + description: The `link.id` that the tax status is associated with. + type: string + format: uuid + example: c2280c05-cbeb-4a29-ae53-8f837a77995b + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2020-04-23T21:32:55.336Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + place_and_date_of_issuance: + description: >- + The date when the tax status was issued. For example, + `2020-08-05/18:55:16`. + type: string + nullable: true + example: 2020-08-05/18:55:16 + official_name: + description: | + The name of the business. + + Note: For individuals in Colombia, this field will return `null`. + type: string + nullable: true + example: Jar Jar Transport + id_cif: + description: > + The taxpayer's *Cédula de ciudadanía* (CC) ID. Only applicable for + individuals. + type: string + nullable: true + example: '12345678901' + tax_payer_information: + $ref: '#/components/schemas/TaxStatusTaxPayerInformationDian' + address: + $ref: '#/components/schemas/TaxStatusAddressDian' + economic_activity: + description: | + A list of economic activity objects. + type: array + nullable: true + items: + $ref: '#/components/schemas/TaxStatusEconomicActivityDian' + regimes: + description: | + A list of regimen objects. + type: array + nullable: true + items: + $ref: '#/components/schemas/TaxStatusRegimensDian' + obligations: + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + type: array + nullable: true + items: + $ref: '#/components/schemas/TaxStatusObligationsDian' + digital_stamp: + description: The validation certificate of the document. + type: string + nullable: true + example: | + "44701362691" + digital_stamp_chain: + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + type: string + nullable: true + example: null + pdf: + description: Tax status PDF as a binary string. + type: string + nullable: true + format: binary + example: '=PDF-STRING=' + TaxStatusPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of tax status objects. + type: array + items: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + TaxStatusRequest: + type: object + required: + - link + properties: + link: + description: The fiscal `link.id` to use. + type: string + format: uuid + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + description: | + When set to `true`, you will receive the PDF in binary format in + the response. + type: boolean + default: false + save_data: + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + type: boolean + default: true + example: true + EnumTaxComplianceStatusOutcome: + description: | + Indicates whether the taxpayer is complying to all their tax obligations + (`POSITIVE`), if they are not (`NEGATIVE`), or have none to comply to + (`NO_OBLIGATIONS`). + type: string + nullable: true + enum: + - POSITIVE + - NEGATIVE + - NO_OBLIGATIONS + example: NEGATIVE + TaxComplianceStatus: + type: object + required: + - pdf + - collected_at + properties: + id: + description: | + Unique identifier created by Belvo used to reference the current Tax + Compliance Status. + type: string + format: uuid + example: 91106968-1abd-4d64-85c1-4e73d96fb997 + collected_at: + description: | + The ISO-8601 timestamp when the data point was collected. + type: string + nullable: true + format: date-time + example: '2022-02-09T08:45:50.406032Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + internal_identification: + description: The institution’s internal identification number for the document. + type: string + nullable: true + example: 20NE1234567 + pdf: + description: Tax compliance status PDF as a binary. + type: string + nullable: true + format: binary + example: '=PDF-STRING=' + rfc: + description: >- + The account holder's RFC (Registro Federal de Contribuyentes) + number. + type: string + nullable: true + example: KDFC211118IS0 + outcome: + $ref: '#/components/schemas/EnumTaxComplianceStatusOutcome' + TaxComplianceStatusPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of tax compliance status objects. + type: array + items: + $ref: '#/components/schemas/TaxComplianceStatus' + TaxComplianceStatusRequest: + type: object + required: + - link + properties: + link: + description: The fiscal `link.id` to use. + type: string + format: uuid + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + description: | + When set to `true`, you will receive the PDF in binary format in + the response. + type: boolean + default: false + save_data: + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + type: boolean + default: true + example: true + EnumIncomeStreamType: + description: | + The type of income used in the calculations. + + We return one of the following enum values: + + - `SALARY` + - `GOVERNMENT` + - `INTEREST` + - `RENT` + - `RETIREMENT` + - `FREELANCE` + - `ALTERNATIVE_INCOME` + - `TRANSFER` + - `DEPOSIT` + - `UNKNOWN` + type: string + enum: + - SALARY + - GOVERNMENT + - INTEREST + - RENT + - RETIREMENT + - FREELANCE + - ALTERNATIVE_INCOME + - TRANSFER + - DEPOSIT + - UNKNOWN + example: SALARY + EnumIncomeStreamFrequency: + description: | + How often the income is received. + + We return one of the following enum values: + + - `MONTHLY` - For transactions that occur once per month. + - `FORTNIGHTLY` - For transactions that occur once every two weeks. + - `WEEKLY` - For transactions that occur once per week. + - `IRREGULAR` - For transactions that do not occur on a defined frequency pattern. + - `SINGLE` - For transactions that occur only once and do not repeat. + type: string + enum: + - MONTHLY + - FORTNIGHTLY + - WEEKLY + - IRREGULAR + - SINGLE + example: MONTHLY + EnumIncomeStreamConfidence: + description: | + Belvo's level of confidence for future incomes. + + We return one of the following enum values: + + - `HIGH` + - `MEDIUM` + - `LOW` + type: string + enum: + - HIGH + - MEDIUM + - LOW + example: HIGH + IncomeStreamsBody: + description: | + A list of income streams for the account. + + For each income stream, we provide additional insights such as: + - Frequency, stability, and confidence level of the income transactions. + - Key metrics about the transaction amounts. + ℹ️ If no income sources are found, we return an empty array. + type: object + required: + - account_id + - income_type + - frequency + - monthly_average + - average_income_amount + - last_income_amount + - currency + - last_income_description + - last_income_date + - stability + - regularity + - trend + - lookback_periods + - full_periods + - periods_with_income + - number_of_incomes + - confidence + properties: + account_id: + description: Unique ID for the bank account to be verified for income streams. + type: string + example: EBACA-89077589 + income_type: + $ref: '#/components/schemas/EnumIncomeStreamType' + frequency: + $ref: '#/components/schemas/EnumIncomeStreamFrequency' + monthly_average: + description: > + The average amount of income received from the source over + `lookback_periods`. + type: number + format: float + example: 2500 + average_income_amount: + description: | + The average income transaction amount from the source. + type: number + format: float + example: 2500 + last_income_amount: + description: | + The amount of the most recent income received from the source. + type: number + format: float + example: 2500 + currency: + description: | + The three-letter currency code of the income. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + type: string + example: BRL + last_income_description: + description: | + The description of the most recent income from the stream. + type: string + example: Salário + last_income_date: + description: > + The date when the most recent income from the stream was received, + in `YYYY-MM-DD` format. + type: string + format: date + example: '2023-02-09' + stability: + description: > + The stability of the income based on its amount, with a range from 0 + to 1, where 1 represents perfect stability. + + + **Note:** For transactions with `frequency`=`SINGLE`, this value + returns `null`. + type: number + nullable: true + format: float + example: 1 + regularity: + description: > + The regularity of the income based in its frequency, with a range + from 0 to 1, where 1 represents perfect regularity. + + + **Note:** For transactions with `frequency`=`SINGLE`, this value + returns `null`. + type: number + nullable: true + format: float + example: 1 + trend: + description: > + The income trend during a period of time calculated between last + income and first income received, where: + - a negative float means that the income trend is decreasing during the time period. + - a positive float means that the income trend is increasing during the time period. + + **Note:** For transactions with `frequency`=`SINGLE`, this value + returns `null`. + type: number + nullable: true + format: float + example: 0 + lookback_periods: + description: > + Number of period units (based on *rolling months*) used to generate + insights and calculations. + + + **Note:** A *rolling month* is a period of 30 days. For example, + 2023-01-15 to 2023-02-15. + type: integer + format: int32 + example: 9 + full_periods: + description: > + Number of period units (based on *rolling months*) with data to + perform calculations. + + + **Note:** A *rolling month* is a period of 30 days. For example, + 2023-01-15 to 2023-02-15. + type: integer + format: int32 + example: 9 + periods_with_income: + description: > + Number of period units (based on *rolling months*) with at least one + income available. + + + **Note:** A *rolling month* is a period of 30 days. For example, + 2023-01-15 to 2023-02-15. + type: integer + format: int32 + example: 9 + number_of_incomes: + description: | + Number of income transactions over the `lookback_periods`. + type: integer + format: int32 + example: 9 + confidence: + $ref: '#/components/schemas/EnumIncomeStreamConfidence' + EnumIncomeSourceType: + description: | + The type of source we generate income insights from. + We return one of the following enum values: + + - `BANK` + type: string + enum: + - BANK + example: BANK + Income: + description: Income insights + type: object + required: + - id + - link + - created_at + - income_streams + - income_source_type + - first_transaction_date + - last_transaction_date + - number_of_income_streams + - monthly_average + - monthly_average_regular + - monthly_average_irregular + - monthly_average_low_confidence + - monthly_average_medium_confidence + - monthly_average_high_confidence + - total_income_amount + - total_regular_income_amount + - total_low_confidence + - total_medium_confidence + - total_high_confidence + properties: + id: + description: Belvo's unique identifier for the current income. + type: string + format: uuid + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + link: + description: The `link.id` the income analysis belongs to. + type: string + format: uuid + example: f4621548-2f9e-440e-9ebd-ae8decac8c02 + created_at: + description: > + The ISO-8601 timestamp of when the data point was created in Belvo's + database. + type: string + format: date-time + example: '2022-02-09T08:45:50.406032Z' + income_streams: + description: An array of enriched income stream objects. + type: array + items: + $ref: '#/components/schemas/IncomeStreamsBody' + income_source_type: + $ref: '#/components/schemas/EnumIncomeSourceType' + first_transaction_date: + description: > + The date when the first transaction occurred, in `YYYY-MM-DD` + format. + type: string + nullable: true + format: date + example: '2022-06-09' + last_transaction_date: + description: > + The date when when the last transaction occurred, in `YYYY-MM-DD` + format. + type: string + format: date + example: '2023-02-09' + number_of_income_streams: + description: | + Number of total income streams analized. + type: integer + format: int32 + example: 1 + monthly_average: + description: > + Average amount of income received per month across all the accounts + for the specific user. + type: number + format: float + example: 2500 + monthly_average_regular: + description: > + Average amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, or `WEEKLY`) received per month for the specific + user. + type: number + format: float + example: 2500 + monthly_average_irregular: + description: > + Average amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) received per month for the specific user. + type: number + format: float + example: 0 + monthly_average_low_confidence: + description: > + Average amount of income received per month for the specific user + with `LOW` confidence. + type: number + format: float + example: 0 + monthly_average_medium_confidence: + description: > + Average amount of income received per month for the specific user + with `MEDIUM` confidence. + type: number + format: float + example: 0 + monthly_average_high_confidence: + description: > + Average amount of income received per month for the specific user + with `HIGH` confidence. + type: number + format: float + example: 2500 + total_income_amount: + description: | + Total amount of all income received for the specific user. + type: number + format: float + example: 22500 + total_regular_income_amount: + description: > + Total amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, `WEEKLY`) for the specific user. + type: number + format: float + example: 22500 + total_irregular_income_amount: + description: > + Total amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) for the specific user. + type: number + format: float + example: 0 + total_low_confidence: + description: | + Total amount of income for the specific user with `LOW` confidence. + type: number + format: float + example: 0 + total_medium_confidence: + description: > + Total amount of income for the specific user with `MEDIUM` + confidence. + type: number + format: float + example: 0 + total_high_confidence: + description: | + Total amount of income for the specific user with `HIGH` confidence. + type: number + format: float + example: 22500 + IncomesPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of income objects. + type: array + items: + $ref: '#/components/schemas/Income' + EnumInvoiceAllowedIncomeTypesRequest: + description: | + The categories of the incomes you want to get information for. + + You can send through one or more of the following values: + - `SALARY` + - `GOVERNMENT` + - `INTEREST` + - `RENT` + - `RETIREMENT` + - `FREELANCE` + - `ALTERNATIVE_INCOME` + - `TRANSFER` + - `DEPOSIT` + - `UNKNOWN` + type: string + enum: + - SALARY + - GOVERNMENT + - INTEREST + - RENT + - RETIREMENT + - FREELANCE + - ALTERNATIVE_INCOME + - TRANSFER + - DEPOSIT + - UNKNOWN + example: SALARY + EnumIncomeMinimumConfidenceLevelRequest: + description: > + The minimum confidence level of the incomes you want to get information + for. + + + You can send through one of the following values: + + - `HIGH` + - `MEDIUM` + - `LOW` + type: string + enum: + - HIGH + - MEDIUM + - LOW + example: HIGH + IncomesRequest: + type: object + required: + - link + properties: + link: + description: The `link.id` that you want to get information for. + type: string + format: uuid + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + allowed_income_types: + description: The categories of the incomes you want to get information for. + type: array + items: + $ref: '#/components/schemas/EnumInvoiceAllowedIncomeTypesRequest' + minimum_confidence_level: + $ref: '#/components/schemas/EnumIncomeMinimumConfidenceLevelRequest' + date_from: + description: > + The date from which you want to start getting incomes for, in + `YYYY-MM-DD` format, within the last 365 days. When you use this + parameter, you must also send `date_to`. + + + + ⚠️ You must have at least 90 days between `date_from` and `date_to`. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + example: '2020-08-01' + date_to: + description: > + The date you want to stop getting incomes for, in `YYYY-MM-DD` + format, within the last 365 days. When you use this parameter, you + must also send `date_from`. + + + + ⚠️ You must have at least 90 days between `date_from` and `date_to`. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + example: '2020-12-30' + token: + description: The OTP token generated by the bank. + type: string + example: 1234ab + save_data: + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + type: boolean + default: true + InvalidPeriodError: + title: Invalid Period + description: > + This error occurs when you request incomes for a link within a given + date range, however, the period between `date_from` and `date_to` is + less than 90 days. + type: object + properties: + code: + description: > + A unique error code (`invalid_period`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_period errors. + type: string + example: invalid_period + message: + description: | + A short description of the error. + + + For `invalid_period` errors, the description is: + + - `The number of days between date_from and date_to must be at least 90 days`. + type: string + example: >- + The number of days between date_from and date_to must be at least 90 + days + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + RecurringExpenseSourceTransaction: + description: >- + An array of minified transaction objects used to evaluate the recurring + expense. If no transactions were found, we return an empty array. + type: object + nullable: true + required: + - amount + - description + - value_date + properties: + description: + description: > + The description of the transaction provided by the institution. + Usually, this is the text that the end user would see in the bank + statement. The description can be an empty string. + + + > **Note:** For EYOD Risk Insights, the description is the one that + you provided in the initial request. + type: string + nullable: true + example: Netflix.com/march + amount: + description: The transaction amount. + type: number + format: float + example: 2145.45 + value_date: + description: The date when the transaction occurred, in `YYYY-MM-DD` format. + type: string + format: date + example: '2019-10-23' + EnumRecurringExpenseFrequency: + description: | + The frequency at which this recurring expense occurs. + + + ℹ️ **Note:** Belvo only identifies `MONTHLY` frequencies. + type: string + enum: + - MONTHLY + default: MONTHLY + example: MONTHLY + EnumRecurringExpenseCategory: + description: > + The transaction category for the recurring expense. For more information + on the available categories, please see our [Transaction categorization + documentation](https://developers.belvo.com/docs/banking#categorizing-transactions). + + + - `Online Platforms & Leisure` (Netflix, Spotify, Gym Memberships) + + - `Bills & Utilities` (electricity, telephone, internet) + + - `Credits & Loans` (credit card cash advances, student loan, watercraft + lease) + + - `Insurance` (home, car, and health & life insurance) + + - `Transport & Travel` (Uber trip, airbnb, parking) + + - `Taxes` (service fee, donation, court taxes) + type: string + enum: + - Bills & Utilities + - Credits & Loans + - Insurance + - Online Platforms & Leisure + - Transport & Travel + - Taxes + example: Online Platforms & Leisure + EnumRecurringExpensePaymentType: + description: | + The type of recurring expense. We return one of the following values: + + - `SUBSCRIPTION` + - `REGULAR` + type: string + nullable: true + enum: + - SUBSCRIPTION + - REGULAR + example: SUBSCRIPTION + RecurringExpenses: + description: | + Recurring expense insights. + + + ℹ️ If no recurring expense insights are found, we return an empty array. + type: object + required: + - account + - name + - transactions + - frequency + - average_transaction_amount + - median_transaction_amount + - days_since_last_transaction + - category + - payment_type + properties: + id: + description: >- + Belvo's unique identifier used to reference the current recurring + expense. + type: string + format: uuid + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + account: + $ref: '#/components/schemas/Account' + name: + description: > + The name for the recurring expense. + + + ℹ️ **Note**: This information is taken from the description section + of a transaction and then normalized to provide you with an + easy-to-read name. As such, sometimes the name will reflect the + merchant the payment is made to (for example, Netflix.com), while + for other recurring expenses, this could be something like "Monthly + payment to John". + type: string + nullable: true + default: null + example: Netflix + transactions: + description: >- + An array of minified transaction objects used to evaluate the + recurring expense. If no transactions were found, we return an empty + array. + type: array + items: + $ref: '#/components/schemas/RecurringExpenseSourceTransaction' + frequency: + $ref: '#/components/schemas/EnumRecurringExpenseFrequency' + average_transaction_amount: + description: The average transaction amount of the recurring expense. + type: number + format: float + example: 32.9 + median_transaction_amount: + description: The median transaction amount of the recurring expense. + type: number + format: float + example: 32.9 + days_since_last_transaction: + description: > + Number of days since the last recurring expense occurred. + + + Based on the frequency, you can infer how many days until the next + charge will occur. + type: integer + format: int32 + example: 5 + category: + $ref: '#/components/schemas/EnumRecurringExpenseCategory' + payment_type: + $ref: '#/components/schemas/EnumRecurringExpensePaymentType' + RecurringExpensesPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of recurring expense objects. + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + RecurringExpensesRequest: + type: object + required: + - link + properties: + link: + description: The `link.id` that you want to get information for. + type: string + format: uuid + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + token: + description: The OTP token generated by the bank. + type: string + example: 1234ab + save_data: + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + type: boolean + default: true + date_from: + description: > + The date from which you want to start getting recurring expenses + for, in `YYYY-MM-DD` format, within the last 365 days. When you use + this parameter, you must also send `date_to`. + + + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + example: '2022-08-01' + date_to: + description: > + The date you want to stop getting recurring expenses for, in + `YYYY-MM-DD` format, within the last 365 days. When you use this + parameter, you must also send `date_from`. + + + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + example: '2022-12-30' + RiskInsightsAssetMetrics: + description: > + Aggregate details regarding the assets used in the risk insight + analysis. For asset metrics, we only consider checking and savings + accounts. + + + + > Asset metrics can provide a snapshot of your user's wealth and liquid + assets, indicating how they manage their wealth and their current + financial status. + type: object + nullable: true + required: + - institutions + - num_accounts + - num_checking_accounts + - num_savings_accounts + - checking_accounts_balance + - savings_accounts_balance + properties: + institutions: + description: > + An array of institutions from which account information was + retrieved for the user. + + + > **Note**: For most use cases, this array will only return one + item. + type: array + nullable: true + items: + description: The name of the institution + type: string + example: erebor_mx_retail + example: + - erebor_mx_retail + num_assets_accounts: + description: | + The total number of accounts found for the user. + type: integer + nullable: true + format: int32 + example: 1 + num_checking_accounts: + description: | + The total number of checking accounts found for the user. + type: integer + nullable: true + format: int32 + example: 1 + num_savings_accounts: + description: | + The total number of savings accounts found for the user. + type: integer + nullable: true + format: int32 + example: 1 + checking_accounts_balance: + description: | + The total closing balance of all checking accounts. + type: number + nullable: true + format: float + example: 35901.46 + savings_accounts_balance: + description: | + The total closing balance of all savings accounts. + type: number + nullable: true + format: float + example: 300.02 + RiskInsightsCreditCardMetrics: + description: > + Aggregated metrics calculated based on the user's credit card accounts. + + + > Credit card metrics illustrate a customer's credit card habits, + revealing how many credit card accounts a customer has, their total + credit limit, how much of that limit they're using, and the rate of + their credit card limit utilization. + type: object + nullable: true + required: + - num_accounts + - sum_credit_limit + - sum_credit_used + - credit_card_limit_utilization + properties: + num_accounts: + description: | + Number of credit cards accounts associated to the user. + type: integer + format: int32 + minimum: 0 + example: 2 + sum_credit_limit: + description: | + Sum total of all credit cards' limits. + type: number + nullable: true + format: float + example: 106560 + sum_credit_used: + description: | + Sum total of all credit used. + type: number + nullable: true + format: float + example: 101020.14 + credit_card_limit_utilization: + description: | + The percentage of the credit card limit used. + type: number + nullable: true + format: float + example: 0.95 + RiskInsightsLoansMetrics: + description: > + Aggregated metrics calculated based on the user's loan accounts and + checking accounts that have an overdraft. + + + > Loan metrics help in understanding a customer's borrowing and + repayment behavior, which can help in assessing their ability to take on + additional credit and potential default risks. + type: object + nullable: true + required: + - num_accounts + - sum_loans_principal + - sum_loans_outstanding_principal + - sum_loans_monthly_payment + - loan_limit_utilization + - overdraft_limit + - overdraft_limit_utilization + properties: + num_accounts: + description: | + The number of loan accounts associated with the user. + type: integer + format: int32 + example: 1 + sum_loans_principal: + description: | + Sum total of the principal for all of the user's loan accounts. + type: number + nullable: true + format: float + example: 5000 + sum_loans_outstanding_principal: + description: > + Sum total of the outstanding principal for all the user's loan + accounts. + type: number + nullable: true + format: float + example: 2000 + sum_loans_monthly_payment: + description: | + Sum total of the monthly payments for all the user's loan accounts. + type: number + nullable: true + format: float + example: 400 + loan_limit_utilization: + description: | + The percentage of the loan limit used. + type: number + nullable: true + format: float + example: 0.3 + overdraft_limit: + description: | + The total overdraft limit of all checking and savings accounts. + type: number + nullable: true + format: float + example: 900 + overdraft_limit_utilization: + description: | + The percentage of the overdraft limit used. + type: number + nullable: true + format: float + example: 0.4 + RiskInsightsBalanceMetrics: + description: >- + Balance metrics calculated based on the user's balances from checking + and savings accounts. + type: object + nullable: true + required: + - closing_balance + - min_balance_3d + - min_balance_1w + - min_balance_1m + - min_balance_3m + - min_balance_6m + - min_balance_12m + - mean_balance_3d + - mean_balance_1w + - mean_balance_1m + - mean_balance_3m + - mean_balance_6m + - mean_balance_12m + - max_balance_3d + - max_balance_1w + - max_balance_1m + - max_balance_3m + - max_balance_6m + - max_balance_12m + - std_balance_3d + - std_balance_1w + - std_balance_1m + - std_balance_3m + - std_balance_6m + - std_balance_12m + - balance_trend_3d + - balance_trend_1w + - balance_trend_1m + - balance_trend_3m + - balance_trend_6m + - balance_trend_12m + - days_balance_below_0_3d + - days_balance_below_0_1w + - days_balance_below_0_1m + - days_balance_below_0_3m + - days_balance_below_0_6m + - days_balance_below_0_12m + - days_balance_below_mean_3d + - days_balance_below_mean_1w + - days_balance_below_mean_1m + - days_balance_below_mean_3m + - days_balance_below_mean_6m + - days_balance_below_mean_12m + - days_balance_below_x_3d + - days_balance_below_x_1w + - days_balance_below_x_1m + - days_balance_below_x_3m + - days_balance_below_x_6m + - days_balance_below_x_12m + - balance_threshold_x + properties: + closing_balance: + description: | + The balance of all the accounts at the `collected_at` time. + type: number + nullable: true + format: float + example: 35901.46 + min_balance_3d: + description: | + The minimum balance in the last three days. + type: number + nullable: true + format: float + example: 35417.68 + min_balance_1w: + description: | + The minimum balance in the last week). + type: number + nullable: true + format: float + example: 34150.5 + min_balance_1m: + description: | + The minimum balance in the last month. + type: number + nullable: true + format: float + example: 33990.59 + min_balance_3m: + description: | + The minimum balance in the last three months. + type: number + nullable: true + format: float + example: 33990.59 + min_balance_6m: + description: | + The minimum balance in the six last months. + type: number + nullable: true + format: float + example: 33990.59 + min_balance_12m: + description: | + The minimum balance in the last twelve months. + type: number + nullable: true + format: float + example: 33990.59 + mean_balance_3d: + description: | + The mean balance in the last three days. + type: number + nullable: true + format: float + example: 35659.57 + mean_balance_1w: + description: | + The mean balance in the last week. + type: number + nullable: true + format: float + example: 35077.1 + mean_balance_1m: + description: | + The mean balance in the last month. + type: number + nullable: true + format: float + example: 34816.08 + mean_balance_3m: + description: | + The mean balance in the last three months. + type: number + nullable: true + format: float + example: 34816.08 + mean_balance_6m: + description: | + The mean balance in the last six months. + type: number + nullable: true + format: float + example: 34816.08 + mean_balance_12m: + description: | + The mean balance in the last twelve months. + type: number + nullable: true + format: float + example: 34816.08 + max_balance_3d: + description: | + The maximum balance in the last three days. + type: number + nullable: true + format: float + example: 35901.46 + max_balance_1w: + description: | + The maximum balance in the last week. + type: number + nullable: true + format: float + example: 35901.46 + max_balance_1m: + description: | + The maximum balance in the last month. + type: number + nullable: true + format: float + example: 35901.46 + max_balance_3m: + description: | + The maximum balance in the last three months. + type: number + nullable: true + format: float + example: 35901.46 + max_balance_6m: + description: | + The maximum balance in the last six months. + type: number + nullable: true + format: float + example: 35901.46 + max_balance_12m: + description: | + The maximum balance in the last twelve months. + type: number + nullable: true + format: float + example: 35901.46 + std_balance_3d: + description: | + The balance standard deviation in the last three days. + type: number + nullable: true + format: float + example: 279.31 + std_balance_1w: + description: | + The balance standard deviation in the last week. + type: number + nullable: true + format: float + example: 764.03 + std_balance_1m: + description: | + The balance standard deviation in the last month. + type: number + nullable: true + format: float + example: 586.55 + std_balance_3m: + description: | + The balance standard deviation in the last three months. + type: number + nullable: true + format: float + example: 586.55 + std_balance_6m: + description: | + The balance standard deviation in the last six months. + type: number + nullable: true + format: float + example: 586.55 + std_balance_12m: + description: | + The balance standard deviation in the last twelve months. + type: number + nullable: true + format: float + example: 586.55 + balance_trend_3d: + description: | + The balance trend of the user in the last three days. + type: number + nullable: true + format: float + example: 193.51 + balance_trend_1w: + description: | + The balance trend of the user in the last week. + type: number + nullable: true + format: float + example: 290.18 + balance_trend_1m: + description: | + The balance trend of the user in the last month. + type: number + nullable: true + format: float + example: 22.6 + balance_trend_3m: + description: | + The balance trend of the user in the last three months. + type: number + nullable: true + format: float + example: 22.6 + balance_trend_6m: + description: | + The balance trend of the user in the last six months. + type: number + nullable: true + format: float + example: 22.6 + balance_trend_12m: + description: | + The balance trend of the user in the last twelve months. + type: number + nullable: true + format: float + example: 22.6 + days_balance_below_0_3d: + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last three days. + type: integer + nullable: true + format: int32 + example: 0 + days_balance_below_0_1w: + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last week. + type: integer + nullable: true + format: int32 + example: 0 + days_balance_below_0_1m: + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last month. + type: integer + nullable: true + format: int32 + example: 0 + days_balance_below_0_3m: + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last three months. + type: integer + nullable: true + format: int32 + example: 0 + days_balance_below_0_6m: + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last six months. + type: integer + nullable: true + format: int32 + example: 0 + days_balance_below_0_12m: + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last twelve months. + type: integer + nullable: true + format: int32 + example: 0 + days_balance_below_mean_3d: + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_3d`. + type: integer + nullable: true + format: int32 + example: 2 + days_balance_below_mean_1w: + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_1w`. + type: integer + nullable: true + format: int32 + example: 3 + days_balance_below_mean_1m: + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_1m`. + type: integer + nullable: true + format: int32 + example: 17 + days_balance_below_mean_3m: + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_3m`. + type: integer + nullable: true + format: int32 + example: 17 + days_balance_below_mean_6m: + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_6m`. + type: integer + nullable: true + format: int32 + example: 17 + days_balance_below_mean_12m: + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_12m`. + type: integer + nullable: true + format: int32 + example: 17 + days_balance_below_x_3d: + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last three days. + type: integer + nullable: true + format: int32 + example: 0 + days_balance_below_x_1w: + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last week. + type: integer + nullable: true + format: int32 + example: 0 + days_balance_below_x_1m: + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last month. + type: integer + nullable: true + format: int32 + example: 0 + days_balance_below_x_3m: + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last three months. + type: integer + nullable: true + format: int32 + example: 0 + days_balance_below_x_6m: + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last six months. + type: integer + nullable: true + format: int32 + example: 0 + days_balance_below_x_12m: + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last twelve months. + type: integer + nullable: true + format: int32 + example: 0 + balance_threshold_x: + description: > + The threshold used to compute `days_balance_below_x_period`. Please + note, this is value is country specific (both in terms of the amount + and the currency). + type: number + format: float + example: 1000 + RiskInsightsTransactionMetrics: + description: > + Aggregated metrics calculated based on the user's transactions from + checking, savings, credit card, and loan accounts. + + + + > ℹ️ **Note** + + > + + > If there is not enough transactional data for a given period, we + return `null` for calculated fields and `0` for 'count-based' fields. + For example, if the account has only been open for five days (or you + have provided data just for five days), we return values for `_3d`, + `_1w`, and `_1m`, however: + + > + + > - `mean_num_transactions_3m` will return `null` as there is no data + for months two and three (calculated field). + + > - `num_transactions_3m` will return `0` as there is no data for months + two and three ('count-based' field) + type: object + nullable: true + required: + - num_transactions_3d + - num_transactions_1w + - num_transactions_1m + - num_transactions_3m + - num_transactions_6m + - num_transactions_12m + - max_num_transactions_3d + - max_num_transactions_1w + - max_num_transactions_1m + - max_num_transactions_3m + - max_num_transactions_6m + - max_num_transactions_12m + - mean_num_transactions_3d + - mean_num_transactions_1w + - mean_num_transactions_1m + - mean_num_transactions_3m + - mean_num_transactions_6m + - mean_num_transactions_12m + - num_incoming_transactions_3d + - num_incoming_transactions_1w + - num_incoming_transactions_1m + - num_incoming_transactions_3m + - num_incoming_transactions_6m + - num_incoming_transactions_12m + - max_num_incoming_transactions_3d + - max_num_incoming_transactions_1w + - max_num_incoming_transactions_1m + - max_num_incoming_transactions_3m + - max_num_incoming_transactions_6m + - max_num_incoming_transactions_12m + - mean_num_incoming_transactions_3d + - mean_num_incoming_transactions_1w + - mean_num_incoming_transactions_1m + - mean_num_incoming_transactions_3m + - mean_num_incoming_transactions_6m + - mean_num_incoming_transactions_12m + - sum_incoming_amount_3d + - sum_incoming_amount_1w + - sum_incoming_amount_1m + - sum_incoming_amount_3m + - sum_incoming_amount_6m + - sum_incoming_amount_12m + - max_incoming_amount_3d + - max_incoming_amount_1w + - max_incoming_amount_1m + - max_incoming_amount_3m + - max_incoming_amount_6m + - max_incoming_amount_12m + - mean_incoming_amount_3d + - mean_incoming_amount_1w + - mean_incoming_amount_1m + - mean_incoming_amount_3m + - mean_incoming_amount_6m + - mean_incoming_amount_12m + - num_outgoing_transactions_3d + - num_outgoing_transactions_1w + - num_outgoing_transactions_1m + - num_outgoing_transactions_3m + - num_outgoing_transactions_6m + - num_outgoing_transactions_12m + - max_num_outgoing_transactions_3d + - max_num_outgoing_transactions_1w + - max_num_outgoing_transactions_1m + - max_num_outgoing_transactions_3m + - max_num_outgoing_transactions_6m + - max_num_outgoing_transactions_12m + - mean_num_outgoing_transactions_3d + - mean_num_outgoing_transactions_1w + - mean_num_outgoing_transactions_1m + - mean_num_outgoing_transactions_3m + - mean_num_outgoing_transactions_6m + - mean_num_outgoing_transactions_12m + - sum_outgoing_amount_3d + - sum_outgoing_amount_1w + - sum_outgoing_amount_1m + - sum_outgoing_amount_3m + - sum_outgoing_amount_6m + - sum_outgoing_amount_12m + - max_outgoing_amount_3d + - max_outgoing_amount_1w + - max_outgoing_amount_1m + - max_outgoing_amount_3m + - max_outgoing_amount_6m + - max_outgoing_amount_12m + - mean_outgoing_amount_3d + - mean_outgoing_amount_1w + - mean_outgoing_amount_1m + - mean_outgoing_amount_3m + - mean_outgoing_amount_6m + - mean_outgoing_amount_12m + - days_without_transactions_3d + - days_without_transactions_1w + - days_without_transactions_1m + - days_without_transactions_3m + - days_without_transactions_6m + - days_without_transactions_12m + - days_since_last_transaction + - days_since_last_incoming_transaction + - days_since_last_outgoing_transaction + - days_history + properties: + num_transactions_3d: + description: > + The total number of transactions analyzed to determine the risk + insights for the last three days (incoming and outgoing). + type: integer + format: int32 + default: 0 + example: 26 + num_transactions_1w: + description: > + The total number of transactions analyzed to determine the risk + insights for the last week (incoming and outgoing). + type: integer + format: int32 + default: 0 + example: 46 + num_transactions_1m: + description: > + The total number of transactions analyzed to determine the risk + insights for the last month (incoming and outgoing). + type: integer + format: int32 + default: 0 + example: 168 + num_transactions_3m: + description: > + The total number of transactions analyzed to determine the risk + insights for the last three months (incoming and outgoing). + type: integer + format: int32 + default: 0 + example: 460 + num_transactions_6m: + description: > + The total number of transactions analyzed to determine the risk + insights for the last six months (incoming and outgoing). + type: integer + format: int32 + default: 670 + example: 472 + num_transactions_12m: + description: > + The total number of transactions analyzed to determine the risk + insights for the last twelve months (incoming and outgoing). + type: integer + format: int32 + default: 0 + example: 496 + max_num_transactions_3d: + description: | + The maximum number of transactions for the last three days. + type: integer + format: int32 + default: 0 + example: 10 + max_num_transactions_1w: + description: | + The maximum number of transactions for the last week. + type: integer + format: int32 + default: 0 + example: 10 + max_num_transactions_1m: + description: | + The maximum number of transactions for the last month. + type: integer + format: int32 + default: 0 + example: 18 + max_num_transactions_3m: + description: | + The maximum number of transactions for the last three months. + type: integer + format: int32 + default: 0 + example: 18 + max_num_transactions_6m: + description: | + The maximum number of transactions for the last six months. + type: integer + format: int32 + default: 0 + example: 18 + max_num_transactions_12m: + description: | + The maximum number of transactions for the last twelve months. + type: integer + format: int32 + default: 0 + example: 18 + mean_num_transactions_3d: + description: | + The mean number of transactions for the last three days. + type: number + format: float + default: 0 + example: 6.5 + mean_num_transactions_1w: + description: | + The mean number of transactions for the last week. + type: number + format: float + default: 0 + example: 5.75 + mean_num_transactions_1m: + description: | + The mean number of transactions for the last month. + type: number + format: float + default: 0 + example: 5.42 + mean_num_transactions_3m: + description: | + The mean number of transactions for the last three months. + type: number + format: float + default: 0 + example: 5.05 + mean_num_transactions_6m: + description: | + The mean number of transactions for the last six months. + type: number + format: float + default: 0 + example: 2.61 + mean_num_transactions_12m: + description: | + The mean number of transactions for the last twelve months. + type: number + format: float + default: 0 + example: 1.37 + num_incoming_transactions_3d: + description: | + The total number of inflow transactions for the last three days. + type: integer + format: int32 + default: 0 + example: 12 + num_incoming_transactions_1w: + description: | + The total number of inflow transactions for the last week. + type: integer + format: int32 + default: 0 + example: 21 + num_incoming_transactions_1m: + description: | + The total number of inflow transactions for the last month. + type: integer + format: int32 + default: 0 + example: 80 + num_incoming_transactions_3m: + description: | + The total number of inflow transactions for the last three months. + type: integer + format: int32 + default: 0 + example: 229 + num_incoming_transactions_6m: + description: | + The total number of inflow transactions for the last six months. + type: integer + format: int32 + default: 0 + example: 238 + num_incoming_transactions_12m: + description: | + The total number of inflow transactions for the last twelve months. + type: integer + format: int32 + default: 0 + example: 256 + max_num_incoming_transactions_3d: + description: | + The maximum number of inflow transactions for the last three days. + type: integer + format: int32 + default: 0 + example: 6 + max_num_incoming_transactions_1w: + description: | + The maximum number of inflow transactions for the last week. + type: integer + format: int32 + default: 0 + example: 6 + max_num_incoming_transactions_1m: + description: | + The maximum number of inflow transactions for the last month. + type: integer + format: int32 + default: 0 + example: 10 + max_num_incoming_transactions_3m: + description: | + The maximum number of inflow transactions for the last three months. + type: integer + format: int32 + default: 0 + example: 10 + max_num_incoming_transactions_6m: + description: | + The maximum number of inflow transactions for the last six months. + type: integer + format: int32 + default: 0 + example: 10 + max_num_incoming_transactions_12m: + description: > + The maximum number of inflow transactions for the last twelve + months. + type: integer + format: int32 + default: 0 + example: 10 + mean_num_incoming_transactions_3d: + description: | + The mean number of inflow transactions for the last three days. + type: number + format: float + default: 0 + example: 3 + mean_num_incoming_transactions_1w: + description: | + The mean number of inflow transactions for the last week. + type: number + format: float + default: 0 + example: 2.62 + mean_num_incoming_transactions_1m: + description: | + The mean number of inflow transactions for the last month. + type: number + format: float + default: 0 + example: 2.58 + mean_num_incoming_transactions_3m: + description: | + The mean number of inflow transactions for the last three months. + type: number + format: float + default: 0 + example: 2.52 + mean_num_incoming_transactions_6m: + description: | + The mean number of inflow transactions for the last six months. + type: number + format: float + default: 0 + example: 1.31 + mean_num_incoming_transactions_12m: + description: | + The mean number of inflow transactions for the last twelve months. + type: number + format: float + default: 0 + example: 0.71 + sum_incoming_amount_3d: + description: | + The total sum of all inflow transactions for the last three days. + type: number + nullable: true + format: float + example: 17142.16 + sum_incoming_amount_1w: + description: | + The total sum of all inflow transactions for the last week. + type: number + nullable: true + format: float + example: 24825.92 + sum_incoming_amount_1m: + description: | + The total sum of all inflow transactions for the last month. + type: number + nullable: true + format: float + example: 75993.36 + sum_incoming_amount_3m: + description: | + The total sum of all inflow transactions for the last three months. + type: number + nullable: true + format: float + example: 198197.28 + sum_incoming_amount_6m: + description: | + The total sum of all inflow transactions for the last six months. + type: number + nullable: true + format: float + example: 223697.28 + sum_incoming_amount_12m: + description: | + The total sum of all inflow transactions for the last twelve months. + type: number + nullable: true + format: float + example: 274697.28 + max_incoming_amount_3d: + description: | + The highest value inflow transaction in the last three days. + type: number + nullable: true + format: float + example: 3000 + max_incoming_amount_1w: + description: | + The highest value inflow transaction in the last week. + type: number + nullable: true + format: float + example: 3000 + max_incoming_amount_1m: + description: | + The highest value inflow transaction in the last month. + type: number + nullable: true + format: float + example: 3000 + max_incoming_amount_3m: + description: | + The highest value inflow transaction in the last three months. + type: number + nullable: true + format: float + example: 3000 + max_incoming_amount_6m: + description: | + The highest value inflow transaction in the last six months. + type: number + nullable: true + format: float + example: 3000 + max_incoming_amount_12m: + description: | + The highest value inflow transaction in the last twelve months. + type: number + nullable: true + format: float + example: 3000 + mean_incoming_amount_3d: + description: | + The mean incoming value of all transactions in the last three days. + type: number + nullable: true + format: float + example: 1428.51 + mean_incoming_amount_1w: + description: | + The mean incoming value of all transactions in the last week. + type: number + nullable: true + format: float + example: 1182.19 + mean_incoming_amount_1m: + description: | + The mean incoming value of all transactions in the last month. + type: number + nullable: true + format: float + example: 949.92 + mean_incoming_amount_3m: + description: > + The mean incoming value of all transactions in the last three + months. + type: number + nullable: true + format: float + example: 865.49 + mean_incoming_amount_6m: + description: | + The mean incoming value of all transactions in the last six months. + type: number + nullable: true + format: float + example: 939.9 + mean_incoming_amount_12m: + description: > + The mean incoming value of all transactions in the last twelve + months. + type: number + nullable: true + format: float + example: 1073.04 + num_outgoing_transactions_3d: + description: | + To total number of outflow transactions in the last three days. + type: integer + format: int32 + default: 0 + example: 14 + num_outgoing_transactions_1w: + description: | + To total number of outflow transactions in the last week. + type: integer + format: int32 + default: 0 + example: 25 + num_outgoing_transactions_1m: + description: | + To total number of outflow transactions in the last month. + type: integer + format: int32 + default: 0 + example: 88 + num_outgoing_transactions_3m: + description: | + To total number of outflow transactions in the last three months. + type: integer + format: int32 + default: 0 + example: 231 + num_outgoing_transactions_6m: + description: | + To total number of outflow transactions in the last six months. + type: integer + format: int32 + default: 0 + example: 234 + num_outgoing_transactions_12m: + description: | + To total number of outflow transactions in the last twelve months. + type: integer + format: int32 + default: 0 + example: 240 + max_num_outgoing_transactions_3d: + description: | + The maximum number of outflow transactions for the last three days. + type: integer + format: int32 + default: 0 + example: 6 + max_num_outgoing_transactions_1w: + description: | + The maximum number of outflow transactions for the last week. + type: integer + format: int32 + default: 0 + example: 6 + max_num_outgoing_transactions_1m: + description: | + The maximum number of outflow transactions for the last month. + type: integer + format: int32 + default: 0 + example: 8 + max_num_outgoing_transactions_3m: + description: > + The maximum number of outflow transactions for the last three + months. + type: integer + format: int32 + default: 0 + example: 9 + max_num_outgoing_transactions_6m: + description: | + The maximum number of outflow transactions for the last six months. + type: integer + format: int32 + default: 0 + example: 9 + max_num_outgoing_transactions_12m: + description: > + The maximum number of outflow transactions for the last twelve + months. + type: integer + format: int32 + default: 0 + example: 9 + mean_num_outgoing_transactions_3d: + description: | + The mean number of outflow transactions for the last three days. + type: number + format: float + default: 0 + example: 3.5 + mean_num_outgoing_transactions_1w: + description: | + The mean number of outflow transactions for the last week. + type: number + format: float + default: 0 + example: 3.12 + mean_num_outgoing_transactions_1m: + description: | + The mean number of outflow transactions for the last month. + type: number + format: float + default: 0 + example: 2.84 + mean_num_outgoing_transactions_3m: + description: | + The mean number of outflow transactions for the last three months. + type: number + format: float + default: 0 + example: 2.54 + mean_num_outgoing_transactions_6m: + description: | + The mean number of outflow transactions for the last six months. + type: number + format: float + default: 0 + example: 1.29 + mean_num_outgoing_transactions_12m: + description: | + The mean number of outflow transactions for the last twelve months. + type: number + format: float + default: 0 + example: 0.66 + sum_outgoing_amount_3d: + description: | + The total sum of all outflow transactions for the last three days. + type: number + nullable: true + format: float + example: 18246.95 + sum_outgoing_amount_1w: + description: | + The total sum of all outflow transactions for the last week. + type: number + nullable: true + format: float + example: 26362.25 + sum_outgoing_amount_1m: + description: | + The total sum of all outflow transactions for the last month. + type: number + nullable: true + format: float + example: 78243.82 + sum_outgoing_amount_3m: + description: | + The total sum of all outflow transactions for the last three months. + type: number + nullable: true + format: float + example: 192608.77 + sum_outgoing_amount_6m: + description: | + The total sum of all outflow transactions for the last six months. + type: number + nullable: true + format: float + example: 201608.77 + sum_outgoing_amount_12m: + description: > + The total sum of all outflow transactions for the last twelve + months. + type: number + nullable: true + format: float + example: 219608.77 + max_outgoing_amount_3d: + description: | + The highest value outflow transaction in the last three days. + type: number + nullable: true + format: float + example: 3000 + max_outgoing_amount_1w: + description: | + The highest value outflow transaction in the last week. + type: number + nullable: true + format: float + example: 3000 + max_outgoing_amount_1m: + description: | + The highest value outflow transaction in the last month. + type: number + nullable: true + format: float + example: 3000 + max_outgoing_amount_3m: + description: | + The highest value outflow transaction in the last three months. + type: number + nullable: true + format: float + example: 3000 + max_outgoing_amount_6m: + description: | + The highest value outflow transaction in the last six months. + type: number + nullable: true + format: float + example: 3000 + max_outgoing_amount_12m: + description: | + The highest value outflow transaction in the last twelve months. + type: number + nullable: true + format: float + example: 3000 + mean_outgoing_amount_3d: + description: | + The mean outgoing value of all transaction in the last three days. + type: number + nullable: true + format: float + example: 1303.35 + mean_outgoing_amount_1w: + description: | + The mean outgoing value of all transaction in the last week. + type: number + nullable: true + format: float + example: 1054.49 + mean_outgoing_amount_1m: + description: | + The mean outgoing value of all transaction in the last month. + type: number + nullable: true + format: float + example: 889.13 + mean_outgoing_amount_3m: + description: | + The mean outgoing value of all transaction in the last three months. + type: number + nullable: true + format: float + example: 833.8 + mean_outgoing_amount_6m: + description: | + The mean outgoing value of all transaction in the last six months. + type: number + nullable: true + format: float + example: 861.58 + mean_outgoing_amount_12m: + description: > + The mean outgoing value of all transaction in the last twelve + months. + type: number + nullable: true + format: float + example: 915.04 + days_without_transactions_3d: + description: > + The number of days that no transactions occurred within the last + three days. + type: integer + format: int32 + default: 0 + example: 0 + days_without_transactions_1w: + description: > + The number of days that no transactions occurred within the last + week. + type: integer + format: int32 + default: 0 + example: 0 + days_without_transactions_1m: + description: > + The number of days that no transactions occurred within the last + month. + type: integer + format: int32 + default: 0 + example: 0 + days_without_transactions_3m: + description: > + The number of days that no transactions occurred within the last + three months. + type: integer + format: int32 + default: 0 + example: 0 + days_without_transactions_6m: + description: > + The number of days that no transactions occurred within the last six + months. + type: integer + format: int32 + default: 0 + example: 87 + days_without_transactions_12m: + description: > + The number of days that no transactions occurred within the last + twelve months. + type: integer + format: int32 + default: 0 + example: 261 + days_since_last_transaction: + description: | + The number of days since the last transaction occurred. + type: integer + format: int32 + default: 0 + example: 0 + days_since_last_incoming_transaction: + description: | + The number of days since the last inflow transaction occurred. + type: integer + format: int32 + default: 0 + example: 0 + days_since_last_outgoing_transaction: + description: | + The number of days since the last outflow transaction occurred. + type: integer + format: int32 + default: 0 + example: 0 + days_history: + description: > + The number of days between when the risk insight request was made + and the first transaction. + type: integer + format: int32 + default: 0 + example: 365 + RiskInsightsCashflowMetrics: + description: > + Aggregate metrics calculated based on the user's transactions from + checking, savings, credit, and loan accounts. However, internal + transfers (transfers between accounts belonging to the same link) are + not used in the calculation. + + + + > ℹ️ **Note** + + > + + > If there is not enough transactional data for a given period, we + return `null`. For example, if the account has only been open for 15 + days (or you have only provided data for just 15 days), we return values + for `_3d`, `_1w`, and `_1m`, however for `_3m` we will return `null` as + there is no data for months two and three. + type: object + nullable: true + required: + - max_positive_3d + - max_positive_1w + - max_positive_1m + - max_positive_3m + - max_positive_6m + - max_positive_12m + - max_negative_3d + - max_negative_1w + - max_negative_1m + - max_negative_3m + - max_negative_6m + - max_negative_12m + - mean_positive_3d + - mean_positive_1w + - mean_positive_1m + - mean_positive_3m + - mean_positive_6m + - mean_positive_12m + - mean_negative_3d + - mean_negative_1w + - mean_negative_1m + - mean_negative_3m + - mean_negative_6m + - mean_negative_12m + - sum_positive_3d + - sum_positive_1w + - sum_positive_1m + - sum_positive_3m + - sum_positive_6m + - sum_positive_12m + - sum_positive_trend_3d + - sum_positive_trend_1w + - sum_positive_trend_1m + - sum_positive_trend_3m + - sum_positive_trend_6m + - sum_positive_trend_12m + - sum_negative_3d + - sum_negative_1w + - sum_negative_1m + - sum_negative_3m + - sum_negative_6m + - sum_negative_12m + - sum_negative_trend_3d + - sum_negative_trend_1w + - sum_negative_trend_1m + - sum_negative_trend_3m + - sum_negative_trend_6m + - sum_negative_trend_12m + - positive_to_negative_ratio_3d + - positive_to_negative_ratio_1w + - positive_to_negative_ratio_1m + - positive_to_negative_ratio_3m + - positive_to_negative_ratio_6m + - positive_to_negative_ratio_12m + - net_cashflow_3d + - net_cashflow_1w + - net_cashflow_1m + - net_cashflow_3m + - net_cashflow_6m + - net_cashflow_12m + - net_cashflow_trend_3d + - net_cashflow_trend_1w + - net_cashflow_trend_1m + - net_cashflow_trend_3m + - net_cashflow_trend_6m + - net_cashflow_trend_12m + properties: + max_positive_3d: + description: > + The highest value of positive cash flow transactions in the last + three days. + type: number + nullable: true + format: float + example: 1850.12 + max_positive_1w: + description: | + The highest value of positive cash flow transactions the last week. + type: number + nullable: true + format: float + example: 3808.99 + max_positive_1m: + description: | + The highest value of positive cash flow transactions the last month. + type: number + nullable: true + format: float + example: 4012.61 + max_positive_3m: + description: > + The highest value of positive cash flow transactions the last three + months. + type: number + nullable: true + format: float + example: 5001.08 + max_positive_6m: + description: > + The highest value of positive cash flow transactions the last six + months. + type: number + nullable: true + format: float + example: 8500 + max_positive_12m: + description: > + The highest value of positive cash flow transactions the last twelve + months. + type: number + nullable: true + format: float + example: 8500 + max_negative_3d: + description: > + The highest value of negative cash flow transactions in the last + three days. + type: number + nullable: true + format: float + example: 3375.43 + max_negative_1w: + description: > + The highest value of negative cash flow transactions in the last + week. + type: number + nullable: true + format: float + example: 3375.43 + max_negative_1m: + description: > + The highest value of negative cash flow transactions in the last + month. + type: number + nullable: true + format: float + example: 5305.92 + max_negative_3m: + description: > + The highest value of negative cash flow transactions in the last + three months. + type: number + nullable: true + format: float + example: 7535.85 + max_negative_6m: + description: > + The highest value of negative cash flow transactions in the last six + months. + type: number + nullable: true + format: float + example: 7535.85 + max_negative_12m: + description: > + The highest value of negative cash flow transactions in the last + twelve months. + type: number + nullable: true + format: float + example: 7535.85 + mean_positive_3d: + description: > + The mean value of the positive cash flow transactions in the last + three days. + type: number + nullable: true + format: float + example: 1410.54 + mean_positive_1w: + description: > + The mean value of the positive cash flow transactions in the last + week. + type: number + nullable: true + format: float + example: 1665.74 + mean_positive_1m: + description: > + The mean value of the positive cash flow transactions in the last + month. + type: number + nullable: true + format: float + example: 1827.36 + mean_positive_3m: + description: > + The mean value of the positive cash flow transactions in the last + three months. + type: number + nullable: true + format: float + example: 1881.58 + mean_positive_6m: + description: > + The mean value of the positive cash flow transactions in the last + six months. + type: number + nullable: true + format: float + example: 2102.19 + mean_positive_12m: + description: > + The mean value of the positive cash flow transactions in the last + twelve months. + type: number + nullable: true + format: float + example: 2502.06 + mean_negative_3d: + description: > + The mean value of the negative cash flow transactions in the last + three days. + type: number + nullable: true + format: float + example: 3373.48 + mean_negative_1w: + description: > + The mean value of the negative cash flow transactions in the last + week. + type: number + nullable: true + format: float + example: 2477.04 + mean_negative_1m: + description: > + The mean value of the negative cash flow transactions in the last + month. + type: number + nullable: true + format: float + example: 1904.96 + mean_negative_3m: + description: > + The mean value of the negative cash flow transactions in the last + three months. + type: number + nullable: true + format: float + example: 1838.47 + mean_negative_6m: + description: > + The mean value of the negative cash flow transactions in the last + six months. + type: number + nullable: true + format: float + example: 1877.63 + mean_negative_12m: + description: > + The mean value of the negative cash flow transactions in the last + twelve months. + type: number + nullable: true + format: float + example: 1948.51 + sum_positive_3d: + description: > + The sum total of all transactions leading to a positive cash flow in + the last three days. + type: number + nullable: true + format: float + example: 5642.16 + sum_positive_1w: + description: > + The sum total of all transactions leading to a positive cash flow in + the last week. + type: number + nullable: true + format: float + example: 13325.92 + sum_positive_1m: + description: > + The sum total of all transactions leading to a positive cash flow in + the last month. + type: number + nullable: true + format: float + example: 52993.36 + sum_positive_3m: + description: > + The sum total of all transactions leading to a positive cash flow in + the last three months. + type: number + nullable: true + format: float + example: 163697.28 + sum_positive_6m: + description: > + The sum total of all transactions leading to a positive cash flow in + the last six months. + type: number + nullable: true + format: float + example: 189197.28 + sum_positive_12m: + description: > + The sum total of all transactions leading to a positive cash flow in + the last twelve months. + type: number + nullable: true + format: float + example: 240197.28 + sum_positive_trend_3d: + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last three days. + type: number + nullable: true + format: float + example: 98.902 + sum_positive_trend_1w: + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last week. + type: number + nullable: true + format: float + example: -84.0393 + sum_positive_trend_1m: + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last month. + type: number + nullable: true + format: float + example: 22.7315 + sum_positive_trend_3m: + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last three months. + type: number + nullable: true + format: float + example: 1.8398 + sum_positive_trend_6m: + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last six months. + type: number + nullable: true + format: float + example: -17.1869 + sum_positive_trend_12m: + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last twelve months. + type: number + nullable: true + format: float + example: -25.9856 + sum_negative_3d: + description: > + The sum total of all transactions leading to a negative cash flow in + the last three days. + type: number + nullable: true + format: float + example: 6746.95 + sum_negative_1w: + description: > + The sum total of all transactions leading to a negative cash flow in + the last week. + type: number + nullable: true + format: float + example: 14862.25 + sum_negative_1m: + description: > + The sum total of all transactions leading to a negative cash flow in + the last month. + type: number + nullable: true + format: float + example: 55243.82 + sum_negative_3m: + description: > + The sum total of all transactions leading to a negative cash flow in + the last three months. + type: number + nullable: true + format: float + example: 158108.77 + sum_negative_6m: + description: > + The sum total of all transactions leading to a negative cash flow in + the last six months. + type: number + nullable: true + format: float + example: 167108.77 + sum_negative_12m: + description: > + The sum total of all transactions leading to a negative cash flow in + the last twelve months. + type: number + nullable: true + format: float + example: 185108.77 + sum_negative_trend_3d: + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last three days. + type: number + nullable: true + format: float + example: -3.91 + sum_negative_trend_1w: + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last week. + type: number + nullable: true + format: float + example: 254.2517 + sum_negative_trend_1m: + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last month. + type: number + nullable: true + format: float + example: 58.376 + sum_negative_trend_3m: + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last three months. + type: number + nullable: true + format: float + example: 2.5895 + sum_negative_trend_6m: + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last six months. + type: number + nullable: true + format: float + example: -1.4824 + sum_negative_trend_12m: + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last twelve months. + type: number + nullable: true + format: float + example: -4.2394 + positive_to_negative_ratio_3d: + description: "The ratio between sum_positive / sum_negative in the last three days.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + type: number + nullable: true + format: float + example: 0.84 + positive_to_negative_ratio_1w: + description: "The ratio between sum_positive / sum_negative in the last week.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + type: number + nullable: true + format: float + example: 0.9 + positive_to_negative_ratio_1m: + description: "The ratio between sum_positive / sum_negative in the last month.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + type: number + nullable: true + format: float + example: 0.96 + positive_to_negative_ratio_3m: + description: "The ratio between sum_positive / sum_negative in the last three months.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + type: number + nullable: true + format: float + example: 1.04 + positive_to_negative_ratio_6m: + description: "The ratio between sum_positive / sum_negative in the last six months.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + type: number + nullable: true + format: float + example: 1.13 + positive_to_negative_ratio_12m: + description: "The ratio between sum_positive / sum_negative in the last twelve months.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + type: number + nullable: true + format: float + example: 1.3 + net_cashflow_3d: + description: | + The net cash flow in the last three days. + type: number + nullable: true + format: float + example: -1104.79 + net_cashflow_1w: + description: | + The net cash flow in the last week. + type: number + nullable: true + format: float + example: -1536.33 + net_cashflow_1m: + description: | + The net cash flow in the last month. + type: number + nullable: true + format: float + example: -2250.46 + net_cashflow_3m: + description: | + The net cash flow in the last three months. + type: number + nullable: true + format: float + example: 5588.51 + net_cashflow_6m: + description: | + The net cash flow in the last six months. + type: number + nullable: true + format: float + example: 22088.51 + net_cashflow_12m: + description: | + The net cash flow in the last twelve months. + type: number + nullable: true + format: float + example: 55088.51 + net_cashflow_trend_3d: + description: | + The net cash flow trend in the last three days months. + type: number + nullable: true + format: float + example: 1448.683 + net_cashflow_trend_1w: + description: | + The net cash flow trend in the last week. + type: number + nullable: true + format: float + example: 163.8856 + net_cashflow_trend_1m: + description: | + The net cash flow trend in the last month. + type: number + nullable: true + format: float + example: 1.3034 + net_cashflow_trend_3m: + description: | + The net cash flow trend in the last three months. + type: number + nullable: true + format: float + example: -0.472 + net_cashflow_trend_6m: + description: | + The net cash flow trend in the last six months. + type: number + nullable: true + format: float + example: -15.1286 + net_cashflow_trend_12m: + description: | + The net cash flow trend in the last twelve months. + type: number + nullable: true + format: float + example: -21.5511 + RiskInsightsCategoryMetrics: + type: object + properties: + category: + $ref: '#/components/schemas/EnumTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumTransactionSubcategory' + net_amount_3m: + description: >- + The net amount of the transactions for this category in the last + three months (calculated as the total incoming - total outgoing + transactions for this category). + type: number + nullable: true + format: float + example: 642.76 + category_inflow_ratio_3m: + description: > + The ratio of `net_amount_3m` divided by the sum of all incoming + categorized transactions (including the current category) for the + same period. + + + Note: If there are no inflow transactions for the period, this value + will return `null`. + type: number + nullable: true + format: float + example: 1 + trend_3m: + description: >- + The net category transaction trend (incoming - outgoing transactions + for the category) for the period. + type: number + nullable: true + format: float + example: 0 + RiskInsights: + type: object + required: + - id + - link + - created_at + - accounts + - assets_metrics + - transactions_metrics + - balances_metrics + - cashflow_metrics + - credit_cards_metrics + - loans_metrics + - category_metrics + properties: + id: + description: Belvo's unique ID for the risk insights request. + type: string + format: uuid + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + link: + description: The `link.id` the risk insights analysis belongs to. + type: string + format: uuid + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-01T20:25:47.307911Z' + accounts: + description: >- + An array of Belvo-generated account numbers (UUIDs) that were used + during the risk insights analysis. If no accounts were found, we + return an empty array. + type: array + nullable: true + items: + description: The Belvo-generated ID for the account. + type: string + format: uuid + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + example: + - 0d3ffb69-f83b-456e-ad8e-208d0998d71d + - 00293c8e-1152-440b-9892-3c071fb88672 + - cf638fba-ef45-4c10-bc6f-adecc4b2bf4e + - 3861a5da-ae9b-4f20-a632-a9294489d5ac + - 1f60315b-236d-498e-be7a-92bc613d329b + - a2c8da63-ed51-41e6-891a-4ae7e784463a + assets_metrics: + $ref: '#/components/schemas/RiskInsightsAssetMetrics' + credit_cards_metrics: + $ref: '#/components/schemas/RiskInsightsCreditCardMetrics' + loans_metrics: + $ref: '#/components/schemas/RiskInsightsLoansMetrics' + balances_metrics: + $ref: '#/components/schemas/RiskInsightsBalanceMetrics' + transactions_metrics: + $ref: '#/components/schemas/RiskInsightsTransactionMetrics' + cashflow_metrics: + $ref: '#/components/schemas/RiskInsightsCashflowMetrics' + category_metrics: + description: > + An array of aggregate metrics regarding the transaction categories + and subcategories that Belvo has identified within the user's + transaction history. + + + In the array, Belvo only returns categories that have been + identified. + type: array + items: + $ref: '#/components/schemas/RiskInsightsCategoryMetrics' + RiskInsightsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of risk insights objects. + type: array + items: + $ref: '#/components/schemas/RiskInsights' + EnumTaxRetentionReceiverNationality: + description: > + Whether the invoice receiver is a Mexican national or not. If the + receiver is not considered a Mexican national, the retained taxes can be + calculated differently. Possible values: + - `NATIONAL` + - `FOREIGN` + type: string + nullable: true + enum: + - NATIONAL + - FOREIGN + example: NATIONAL + EnumTaxRetentionPaymentStatus: + description: | + Indicates whether or not the tax has been paid or not. Can be either: + - `PAID` + - `PROVISIONED` + type: string + nullable: true + enum: + - PAID + - PROVISIONED + example: PAID + RetentionBreakdown: + description: A breakdown of the retained taxes + type: object + required: + - base_amount + - tax_type + - retained_amount + - payment_status + properties: + base_amount: + description: | + The base amount that was used to calculate the tax retention. + type: number + nullable: true + format: float + example: 0.03 + tax_type: + description: > + Optional attribute to indicate the type of tax withheld for the + period or year according to the [SAT + catalog](https://developers.belvo.com/docs/sat-catalogs#retention-code). + type: string + nullable: true + example: '01' + retained_amount: + description: | + The amount retained. + type: number + nullable: true + format: float + example: 0 + payment_status: + $ref: '#/components/schemas/EnumTaxRetentionPaymentStatus' + TaxRetentions: + type: object + required: + - collected_at + - invoice_identification + - version + - code + - issued_at + - certified_at + - cancelled_at + - sender_id + - sender_name + - receiver_nationality + - receiver_id + - receiver_name + - total_invoice_amount + - total_taxable_amount + - total_exempt_amount + - total_retained_amount + - retention_breakdown + - xml + properties: + version: + description: | + The CFDI version of the tax retentions. + type: string + nullable: true + example: '1.0' + id: + description: >- + Belvo's unique identifier used to reference the current tax + retention statement. + type: string + format: uuid + example: c749315b-eec2-435d-a458-06912878564f + link: + description: The `link.id` the tax retention belongs to. + type: string + format: uuid + example: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: + description: | + The ISO-8601 timestamp of when the data point was collected. + type: string + nullable: true + format: date-time + example: '2022-02-09T08:45:50.406032Z' + created_at: + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2022-02-09T08:46:20.406032Z' + invoice_identification: + description: > + The fiscal institution's unique ID for the invoice that the tax + retention relates to. + type: string + nullable: true + format: uuid + example: def404af-5eef-4112-aa99-d1ec8493b89a + code: + description: > + The tax retention code. For more information, see our [SAT Catalogs + DevPortal + article](https://developers.belvo.com/docs/sat-catalogs#retention-code). + type: integer + nullable: true + format: int32 + example: 25 + issued_at: + description: | + The ISO-8601 timestamp of when the tax retention was issued. + type: string + nullable: true + format: date-time + example: '2019-01-03T21:10:40.000Z' + certified_at: + description: | + The ISO-8601 timestamp of when the tax retention was certified. + type: string + nullable: true + format: date-time + example: '2019-01-03T21:10:41.000Z' + cancelled_at: + description: > + The ISO-8601 timestamp of when the tax retention was canceled (if + applicable). + type: string + nullable: true + format: date-time + example: null + sender_id: + description: | + The fiscal ID of the invoice sender. + type: string + nullable: true + example: JKUF980404P0 + sender_name: + description: | + The name of the invoice sender. + type: string + nullable: true + example: Roberto Nunez Batman + receiver_nationality: + $ref: '#/components/schemas/EnumTaxRetentionReceiverNationality' + receiver_id: + description: | + The fiscal ID of the invoice receiver. + type: string + nullable: true + example: GYGK3207809L1 + receiver_name: + description: | + The name of the invoice receiver. + type: string + nullable: true + example: ACME LTD + total_invoice_amount: + description: | + The total amount of the invoice that the tax retention relates to. + type: number + nullable: true + format: float + example: 53249.8 + total_exempt_amount: + description: | + Total amount that is exempt from taxation. + type: number + nullable: true + format: float + example: 1000.8 + total_retained_amount: + description: | + Total tax retained. + type: number + nullable: true + format: float + example: 1550.7 + total_taxable_amount: + description: > + The total amount that can be taxed. Calculated as + `total_invoice_amount` - `total_exempt_amount`. + type: number + nullable: true + format: float + example: 43249 + retention_breakdown: + description: | + A breakdown of the retained taxes. + type: array + nullable: true + items: + $ref: '#/components/schemas/RetentionBreakdown' + xml: + description: | + The tax retention document in XML form. + type: string + nullable: true + example: '=XML-STRING=' + TaxRetentionsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of tax retentions objects. + type: array + items: + $ref: '#/components/schemas/TaxRetentions' + EnumTaxRetentionType: + description: > + The type of tax retention in relation to the invoice (from the + perspective of the Link owner). + + + - `OUTFLOW` relates to a tax retention for a sent invoice. + + - `INFLOW` related to a tax retention for a received invoice. + type: string + enum: + - OUTFLOW + - INFLOW + example: INFLOW + TaxRetentionsRequest: + type: object + required: + - link + - date_from + - date_to + - type + properties: + link: + description: | + The `link.id` that you want to get information for. + type: string + format: uuid + example: 9e432f18-36ca-4bd6-a3f3-1971e58dc1e8 + date_from: + description: > + The date from which you want to start getting tax retentions for, in + `YYYY-MM-DD` format. + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + example: '2020-01-01' + date_to: + description: > + The date you want to stop getting tax retentions for, in + `YYYY-MM-DD` format. + + + ⚠️ The number of days between `date_from` and `date_to` cannot be + over 365. + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + example: '2020-02-01' + type: + $ref: '#/components/schemas/EnumTaxRetentionType' + attach_xml: + description: | + When set to `true`, you will receive the XML tax retention in the + response. + type: boolean + default: true + save_data: + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + type: boolean + default: true + DocumentInformationIndividual: + description: Object containing detailed information about the fiscal document. + type: object + required: + - name + - type + - form_number + - year + properties: + name: + description: The name of the tax document. + type: string + example: >- + Declaracion de Renta y Complementario o de Ingresos y Patrimonio + para Personas Juridicas y Asimiladas y Personas Naturales y + Asimiladas no Residentes y Sucesiones Iliquidas de Causantes no + Residentes + type: + description: >- + The type of tax declaration form. For DIAN, this will be either + `110` or `210`. + type: string + example: '110' + form_number: + description: Institution-provided identifier for the tax declaration. + type: string + example: '2117680087604' + year: + description: | + The year of this tax declaration. + type: integer + nullable: true + example: 2021 + DocumentIdIndividual: + description: Object containing information about the ID document of the tax payer. + type: object + required: + - document_type + - document_number + properties: + document_type: + description: The type of ID document. + type: string + example: NIT + document_number: + description: The number of the ID document. + type: string + example: '7113223466' + ReportingId: + description: >- + Object containing information about where the tax payer reports their + income. + type: object + required: + - reporting_type + - reporting_value + properties: + reporting_type: + description: >- + The type of reporting ID. For DIAN, this is the sectional address + code (*Codigo Dirrecion Seccional*) + type: string + example: sectional_address_code + reporting_value: + description: The value of the reporting ID. + type: string + example: '32' + TaxPayerInformationIndividual: + description: Object containing information about the tax payer. + type: object + required: + - first_last_name + - second_last_name + - first_name + - other_names + - main_economic_activity + - document_id + - reporting_id + properties: + first_last_name: + description: The tax payer's first last name. + type: string + example: Restrepo + second_last_name: + description: The tax payer's second last name. + type: string + example: Vives + first_name: + description: The tax payer's first name. + type: string + example: Carlos + other_names: + description: Additional names of the tax payer. + type: string + example: Alberto + main_economic_activity: + description: The main economic activity the tax payer is involved in. + type: string + example: '0010' + document_id: + $ref: '#/components/schemas/DocumentIdIndividual' + reporting_id: + $ref: '#/components/schemas/ReportingId' + EquityStatementIndividual: + description: Object containing the general fiscal situation of the taxpayer. + type: object + required: + - total_gross_equity + - total_debts + - total_net_equity + properties: + total_gross_equity: + description: The total gross equity of the tax payer. + type: number + format: float + example: 4648000 + total_debts: + description: The total debts of the tax_payer + type: number + format: float + example: 77626000 + total_net_equity: + description: The total net equity value of the taxpayer. + type: number + format: float + example: 0 + GrossIncomeIndividual: + description: Object containing the declared gross income of the tax payer. + type: object + required: + - earned_income + - fee_based_income + - capital_income + - non_labor_income + properties: + earned_income: + description: Income received from employment. + type: number + format: float + example: 115004000 + fee_based_income: + description: >- + Income received from emitted invoices (for example, income that + independent contractors or freelancers receive). + type: number + format: float + example: 0 + capital_income: + description: >- + Income received from an investment (such as dividends or from + renting a property). + type: number + format: float + example: 0 + non_labor_income: + description: >- + Income that cannot be classified into the other three fields (such + as income from cryptocurrencies or regular transfers from parents). + type: number + format: float + example: 0 + NonTaxableIncomeIndividual: + description: Object containing the declared non-taxable income of the tax payer. + type: object + required: + - earned_income + - fee_based_income + - capital_income + - non_labor_income + properties: + earned_income: + description: Income received from employment. + type: number + format: float + example: 115004000 + fee_based_income: + description: >- + Income received from emitted invoices (for example, income + independent contractors or freelancers receive). + type: number + format: float + example: 0 + capital_income: + description: >- + Income received from an investment (such as dividends or from + renting a property). + type: number + format: float + example: 0 + non_labor_income: + description: >- + Income that cannot be classified into the other three fields (such + as income from cryptocurrencies or regular transfers from parents). + type: number + format: float + example: 0 + NetIncomeIndividual: + description: >- + Object containing the declared net income of the tax payer. The values + are calculated as the `gross_income` - `non_taxable_income`. + type: object + required: + - earned_income + - fee_based_income + - capital_income + - non_labor_income + properties: + earned_income: + description: Income received from employment. + type: number + format: float + example: 115004000 + fee_based_income: + description: >- + Income received from emitted invoices (for example, income + independent contractors or freelancers receive). + type: number + format: float + example: 0 + capital_income: + description: >- + Income received from an investment (such as dividends or from + renting a property). + type: number + format: float + example: 0 + non_labor_income: + description: >- + Income that cannot be classified into the other three fields (such + as income from cryptocurrencies or regular transfers from parents). + type: number + format: float + example: 0 + AnnualTotalsIndividual: + description: >- + Object containing the tax payers total exempt, deducted, and ordinary + net incomes. + type: object + required: + - total_exempt_income + - total_applicable_deductions + - total_exemptions_and_deductions + - total_ordinary_net_income + properties: + total_exempt_income: + description: Total income that is not taxable, according to the institution. + type: number + format: float + example: 115004000 + total_applicable_deductions: + description: >- + Total deductions that the taxpayer can apply to their income, + according to the institution. + type: number + format: float + example: 0 + total_exemptions_and_deductions: + description: >- + Sum total of all exempt and deductions that can be applied to the + taxpayer's income. + type: number + format: float + example: 0 + total_ordinary_net_income: + description: >- + Sum total of the taxpayer's income (gross income - exemptions - + deductions). + type: number + format: float + example: 0 + AnnualIncomeStatementIndividual: + description: >- + Object containing the reported annual incomes, deductions, and final + balances of the tax payer. + type: object + required: + - gross_income + - non_taxable_income + - net_income + - annual_totals + properties: + gross_income: + $ref: '#/components/schemas/GrossIncomeIndividual' + non_taxable_income: + $ref: '#/components/schemas/NonTaxableIncomeIndividual' + net_income: + $ref: '#/components/schemas/NetIncomeIndividual' + annual_totals: + $ref: '#/components/schemas/AnnualTotalsIndividual' + PensionIncomeStatementIndividual: + description: Object containing the tax payer's total pension income. + type: object + required: + - net_pension_income + - net_taxable_pension_income + properties: + net_pension_income: + description: The total net pension of the taxpayer. + type: number + format: float + example: 0 + net_taxable_pension_income: + description: The total taxable pension income of the taxpayer. + type: number + format: float + example: 0 + TaxAssessmentIndividual: + description: >- + Object containing the calculated tax assessment of the tax payer. This + includes the total taxable income, the income tax applied, and taxes + already withheld. + type: object + required: + - fortuitous_profit_tax + - total_tax_on_taxable_net_income + - net_income_tax + - total_tax_due + - previous_year_balance + - total_withheld_tax + - balance_payable + - balance_refundable + - total_payment + properties: + fortuitous_profit_tax: + description: >- + The tax applied on your unexpected income (such as lottery wins or + house sales). + type: number + format: float + example: 0 + total_tax_on_taxable_net_income: + description: >- + The calculated total tax that can be applied on the tax payer's + taxable income (total income - exemptions - deductions). + type: number + format: float + example: 9144000 + net_income_tax: + description: >- + After additional deductions that you can apply, this will be the net + income tax. If not further deduction are identified, this value will + be the same as `total_tax_on_taxable_net_income`. + type: number + format: float + example: 9144000 + total_tax_due: + description: >- + After further deductions, this is the final calculated tax that the + taxpayer is required to pay. + type: number + format: float + example: 9144000 + previous_year_balance: + description: > + Only applicable for DIAN. + + + + The amount the tax payer has as a "credit" fromt he previous year + (this is equal to the `balance_refundable`) of the previous year. + type: number + format: float + example: 1514000 + total_withheld_tax: + description: The total tax already withheld in the current fiscal year. + type: number + format: float + example: 7714000 + balance_payable: + description: How much the tax payer is required to pay. + type: number + format: float + example: 0 + balance_refundable: + description: >- + How much the tax payer is expected to receive. For DIAN, this will + count as credit for the next fiscal year (see + `previous_year_balance`). + type: number + format: float + example: 84000 + total_payment: + description: >- + The total the tax payer is required to pay, taking into account + deductions and fiscal credits. + type: number + format: float + example: 0 + TaxDeclarationIndividual: + title: Individual Tax Declaration + type: object + required: + - id + - link + - collected_at + - created_at + - document_information + - tax_payer_information + - equity_statement + - annual_income_statement + - pension_income_statement + - tax_assessment + - date_issued + - pdf + properties: + id: + description: Belvo's unique ID for the current tax declaration. + type: string + format: uuid + example: 1c83ead8-6665-429c-a17a-ddc76cb3a95e + link: + description: >- + Belvo's unique ID of the user that this tax declaration is + associated with. + type: string + format: uuid + example: 8a95ca1a-1a7a-4ce0-8599-f8ff1dc792ac + collected_at: + description: The ISO-8601 timestamp when the data point was collected. + type: string + format: date-time + example: '2020-04-23T21:32:55.336854+00:00' + created_at: + description: >- + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2020-04-23T21:30:20.336854+00:00' + document_information: + $ref: '#/components/schemas/DocumentInformationIndividual' + tax_payer_information: + $ref: '#/components/schemas/TaxPayerInformationIndividual' + equity_statement: + $ref: '#/components/schemas/EquityStatementIndividual' + annual_income_statement: + $ref: '#/components/schemas/AnnualIncomeStatementIndividual' + pension_income_statement: + $ref: '#/components/schemas/PensionIncomeStatementIndividual' + tax_assessment: + $ref: '#/components/schemas/TaxAssessmentIndividual' + date_issued: + description: The date the tax declaration was issued by the fiscal institution. + type: string + format: date + example: '2022-09-02' + pdf: + description: The PDF of the tax declaration, as a binary string. + type: string + nullable: true + example: '==BINARY-STRING==' + TaxDeclarationIndividualPaginated: + title: Tax Declaration Individual + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of Individual Tax Declaration objects. + type: array + items: + $ref: '#/components/schemas/TaxDeclarationIndividual' + DocumentInformationBusiness: + description: Object containing detailed information about the fiscal document. + type: object + required: + - name + - type + - form_number + - year + properties: + name: + description: The name of the tax document. + type: string + example: >- + Declaracion de Renta y Complementario o de Ingresos y Patrimonio + para Personas Juridicas y Asimiladas y Personas Naturales y + Asimiladas no Residentes y Sucesiones Iliquidas de Causantes no + Residentes + type: + description: >- + The type of tax declaration form. For DIAN, this will be either + `110` or `210`. + type: string + example: '110' + form_number: + description: The institution-provided identifier for the tax declaration. + type: string + example: '2117680087604' + year: + description: | + The year of this tax declaration. + type: integer + nullable: true + example: 2021 + DocumentIdBusiness: + description: Object containing information about the ID document of the tax payer. + type: object + required: + - document_type + - document_number + properties: + document_type: + description: The type of ID document. + type: string + example: NIT + document_number: + description: The number of the ID document. + type: string + example: '8312224477' + TaxPayerInformationBusiness: + description: Object containing information about the tax payer. + type: object + required: + - first_last_name + - second_last_name + - first_name + - other_names + - company_name + - main_economic_activity + - document_id + - reporting_id + properties: + first_last_name: + description: The tax payer's first last name. + type: string + nullable: true + example: Restrepo + second_last_name: + description: The tax payer's second last name. + type: string + nullable: true + example: Vives + first_name: + description: The tax payer's first name. + type: string + nullable: true + example: Carlos + other_names: + description: Additional names of the tax payer. + type: string + nullable: true + example: Alberto + company_name: + description: The name of the company, as registered at the institution. + type: string + example: Trusty Spanners + main_economic_activity: + description: The main economic activity the tax payer is involved in. + type: string + example: '0032' + document_id: + $ref: '#/components/schemas/DocumentIdBusiness' + reporting_id: + $ref: '#/components/schemas/ReportingId' + EquityStatementBusiness: + description: Object containing the general fiscal situation of the taxpayer. + type: object + required: + - cash_and_cash_equivalents + - investments_and_derivative_financial_instruments + - accounts_documents_and_finance_leases_receivable + - inventory + - property_plant_and_equipment_investment_properties + - total_gross_equity + - debts + - total_net_equity + properties: + cash_and_cash_equivalents: + description: >- + Total cash (or cash equivalents) that the business currently holds + at the end of the fiscal year. + type: number + format: float + example: 4648000 + investments_and_derivative_financial_instruments: + description: >- + Total value of all investments, stocks, or similar, that the company + has. + type: number + format: float + example: 77626000 + accounts_documents_and_finance_leases_receivable: + description: >- + Total of all payments the company expects to receive (for example, + from partial invoices that have not been paid yet). + type: number + format: float + example: 0 + inventory: + description: Total financial value of the company's sellable inventory. + type: number + format: float + example: 0 + property_plant_and_equipment_investment_properties: + description: >- + Total value of real estate, plant infrastructure, or equipment that + has been purchased. + type: number + format: float + example: 0 + total_gross_equity: + description: Total gross equity. + type: number + format: float + example: 220860000 + debts: + description: Total debts that the company currently has. + type: number + format: float + example: 207030000 + total_net_equity: + description: >- + The total net equity of the company (`total_gross_equity` - + `debts`). + type: number + format: float + example: 13830000 + AnnualIncomeStatementBusiness: + description: >- + Object containing the reported annual incomes, deductions, and final + balances of the tax payer. + type: object + required: + - gross_income_from_ordinary_activities + - dividends + - other_income + - total_gross_income + - returns_rebates_and_discounts_on_sales + - total_net_income + properties: + gross_income_from_ordinary_activities: + description: >- + Total gross income that the company generated from their main + economic activity. + type: number + format: float + example: 210043000 + dividends: + description: Total income that the company generated from dividends. + type: number + format: float + example: 0 + other_income: + description: >- + Total income that the company generated from activities not + associated with their main economic activity. + type: number + format: float + example: 0 + total_gross_income: + description: Total gross income the company generated. + type: number + format: float + example: 210043000 + returns_rebates_and_discounts_on_sales: + description: >- + Total value of cancelled orders, corrected invoices, or similar, + that can be discounted from the `total_gross_income`. + type: number + format: float + example: 0 + total_net_income: + description: >- + Total net income of the company, taking into account + `returns_rebates_and_discounts_on_sales`. + type: number + format: float + example: 210043000 + AnnualCostsAndDeductionsStatementBusiness: + description: Object containing the reported annual costs and applicable deductions. + type: object + required: + - costs + - administration_expenses + - distribution_and_sales_expenses + - financial_expenses + - total_costs_and_deductible_expenses + properties: + costs: + description: Total costs for the company to operate. + type: number + format: float + example: 1881843000 + administration_expenses: + description: >- + Total costs of the company related to training, company offsites, or + similar. + type: number + format: float + example: 3266000 + distribution_and_sales_expenses: + description: >- + Total costs the company incurred in order to distribute or sell + their product. + type: number + format: float + example: 0 + financial_expenses: + description: >- + Total value of any fees incurred by the company to operate (such as + bank fees). + type: number + format: float + example: 0 + total_costs_and_deductible_expenses: + description: Total value of all costs and dedictible expenses. + type: number + format: float + example: 191449000 + TaxAssessmentBusiness: + description: >- + Object containing the calculated tax assessment of the tax payer. This + includes the total taxable income, the income tax applied, and taxes + already withheld. + type: object + required: + - net_income_taxable + - fortuitous_profit_tax + - total_tax_on_taxable_net_income + - net_income_tax + - total_tax_due + - total_withholdings_for_the_taxable_year_to_be_declared + - total_withheld_tax + - total_balance_payable + - total_balance_in_favor + - total_payment + properties: + net_income_taxable: + description: The net income on which tax can be applied. + type: number + format: float + example: 18594000 + fortuitous_profit_tax: + description: >- + The tax applied on your unexpected income (such as lottery wins or + house sales). + type: number + format: float + example: 0 + total_tax_on_taxable_net_income: + description: >- + The calculated total tax that can be applied on the tax payer's + taxable income (total income - exemptions - deductions). + type: number + format: float + example: 5764000 + net_income_tax: + description: >- + After additional deductions that you can apply, this will be the net + income tax. If no further deduction are identified, this value will + be the same as `total_tax_on_taxable_net_income`. + type: number + format: float + example: 5764000 + total_tax_due: + description: >- + After further deductions, this is the final calculated tax that the + taxpayer is required to pay. + type: number + format: float + example: 5764000 + total_withholdings_for_the_taxable_year_to_be_declared: + description: How much the tax payer has already paid througout the fiscal year. + type: number + format: float + example: 7361000 + total_balance_payable: + description: How much the tax payer is required to pay. + type: number + format: float + example: 0 + total_balance_in_favor: + description: How much the tax payer is expected to receive. + type: number + format: float + example: 1889000 + total_payment: + description: >- + The total the tax payer is required to pay, taking into account + deductions and fiscal credits. + type: number + format: float + example: 0 + TaxDeclarationBusiness: + title: Business Tax Declaration + type: object + required: + - id + - link + - collected_at + - created_at + - document_information + - tax_payer_information + - equity_statement + - annual_income_statement + - annual_costs_and_deductions_statement + - tax_assessment + - date_issued + - pdf + properties: + id: + description: Belvo's unique ID for the current tax declaration. + type: string + format: uuid + example: 1c83ead8-6665-429c-a17a-ddc76cb3a95e + link: + description: >- + Belvo's unique ID of the user that this tax declaration is + associated with. + type: string + format: uuid + example: 8a95ca1a-1a7a-4ce0-8599-f8ff1dc792ac + collected_at: + description: The ISO-8601 timestamp when the data point was collected. + type: string + format: date-time + example: '2020-04-23T21:32:55.336854+00:00' + created_at: + description: >- + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + type: string + format: date-time + example: '2020-04-23T21:30:20.336854+00:00' + document_information: + $ref: '#/components/schemas/DocumentInformationBusiness' + tax_payer_information: + $ref: '#/components/schemas/TaxPayerInformationBusiness' + equity_statement: + $ref: '#/components/schemas/EquityStatementBusiness' + annual_income_statement: + $ref: '#/components/schemas/AnnualIncomeStatementBusiness' + annual_costs_and_deductions_statement: + $ref: '#/components/schemas/AnnualCostsAndDeductionsStatementBusiness' + tax_assessment: + $ref: '#/components/schemas/TaxAssessmentBusiness' + date_issued: + description: The date the tax declaration was issued by the fiscal institution. + type: string + format: date + example: '2022-09-02' + pdf: + description: The PDF of the tax declaration, as a binary string. + type: string + nullable: true + example: '==BINARY-STRING==' + TaxDeclarationBusinessPaginated: + title: Tax Declaration Business + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of Business Tax Declaration objects. + type: array + items: + $ref: '#/components/schemas/TaxDeclarationBusiness' + TaxDeclarationsRequest: + title: Tax Declarations + description: Request body for tax declrarations + type: object + required: + - link + - type + - year_to + - year_from + properties: + link: + description: >- + The fiscal `link.id` you want specific tax declaration information + for. + type: string + format: uuid + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + year_from: + description: > + The starting year you want to get tax declaration for, in `YYYY` + format. + type: string + example: '2018' + year_to: + description: > + The year you want to stop getting tax declaration for, in `YYYY` + format. + type: string + example: '2019' + attach_pdf: + description: > + When this is set to `true`, you will receive the PDF as a binary + string in + + the response. + type: boolean + default: false + example: false + save_data: + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + type: boolean + default: true + example: true + EnumEmploymentRecordStatus: + description: > + Indicates whether or not the individual is currently `EMPLOYED` or + `UNEMPLOYED`. + type: string + nullable: true + enum: + - EMPLOYED + - UNEMPLOYED + example: EMPLOYED + EmploymentRecordEntitlement: + description: Details regarding the benefits the individual is entitled to. + type: object + properties: + entitled_to_health_insurance: + description: > + Indicated whether or not the individual is entitled to health + insurance. + type: boolean + example: true + entitled_to_company_benefits: + description: > + Indicates whether or not the individual is entitled to company + benefits. + type: boolean + example: true + valid_until: + description: > + Date until when the individual is covered by health insurance and/or + company benefits. If `null` the employee is currently working and no + end date is required. + type: string + nullable: true + format: date + example: null + status: + $ref: '#/components/schemas/EnumEmploymentRecordStatus' + EnumEmploymentRecordDocumentType: + description: > + The type of document related to the individual. We return one of the + following values: + + - `NSS` + - `CURP` + + type: string + nullable: true + enum: + - NSS + - CURP + example: NSS + EmploymentRecordDocumentId: + description: Details regarding the individual's ID documents. + type: object + properties: + document_type: + $ref: '#/components/schemas/EnumEmploymentRecordDocumentType' + document_number: + description: | + The ID document's number (as a string). + type: string + nullable: true + example: '10277663582' + EmploymentRecordPersonalData: + description: Details regarding the personal information of the individual. + type: object + properties: + official_name: + description: | + The legal name of the individual + type: string + nullable: true + example: Bruce Banner del Torro + first_name: + description: | + The first name of the individual. + type: string + nullable: true + example: Bruce + last_name: + description: | + The last name of the individual. + type: string + nullable: true + example: Banner del Torro + email: + description: | + The email address of the individual. + type: string + nullable: true + deprecated: true + example: bruce.banner@avengers.com + birth_date: + description: | + The date of birth of the individual, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + example: '2022-02-09' + entitlements: + $ref: '#/components/schemas/EmploymentRecordEntitlement' + document_ids: + description: Details regarding the individual's ID documents. + type: array + items: + $ref: '#/components/schemas/EmploymentRecordDocumentId' + EmploymentRecordSocialSecuritySummary: + description: Details regarding the individual's social security contributions. + type: object + properties: + weeks_redeemed: + description: | + Number of weeks the individual needed to take out of their pension. + type: integer + nullable: true + format: int32 + example: 0 + weeks_reinstated: + description: > + Number of weeks the individual has paid back into their pension + (*AFORE*), after having redeemed them previously. + type: integer + nullable: true + format: int32 + example: 0 + weeks_contributed: + description: > + Number of weeks the individual has contributed to their social + security, based on the number of weeks the individual has worked + according to IMSS. + type: integer + nullable: true + format: int32 + example: 188 + EnumEmploymentRecordStatusUpdateEvents: + description: > + The event that caused the change in employment status or salary. We + return one of the following values: + + - `DISMISSED_RESIGNED` + - `SALARY_MODIFICATION` + - `HIRED` + - `VOLUNTARY_CONTRIBUTION` + - `ABSENCE` + - `SICK_LEAVE` + + type: string + enum: + - DISMISSED_RESIGNED + - SALARY_MODIFICATION + - HIRED + - VOLUNTARY_CONTRIBUTION + - ABSENCE + - SICK_LEAVE + example: HIRED + EmploymentRecordEmploymentStatusUpdates: + description: Details regarding any employment changes of the individual. + type: object + properties: + event: + $ref: '#/components/schemas/EnumEmploymentRecordStatusUpdateEvents' + base_salary: + description: | + The base salary of the individual, current as of the `update_date`. + type: number + format: float + example: 1033.09 + update_date: + description: | + The date that the employment event occurred, in `YYYY-MM-DD` format. + type: string + format: date + example: '2021-09-01' + EmploymentRecordDetail: + description: Details regarding the individual's employment history. + type: object + properties: + collected_at: + description: The ISO-8601 timestamp when the data point was collected. + type: string + format: date-time + example: '2020-04-23T21:32:55.336854+00:00' + employer: + description: | + The official name of the employer. + type: string + example: Batman Enterprises CDMX + employer_id: + description: | + The official ID of the employer, according to the country. + type: string + example: 780-BAT-88769-CDMX + start_date: + description: | + Date when employment started, in `YYYY-MM-DD` format. + type: string + format: date + example: '2019-10-10' + end_date: + description: | + Date when employment finished, in `YYYY-MM-DD` format. + type: string + nullable: true + format: date + example: '2019-12-31' + weeks_employed: + description: | + Number of weeks that the individual was employed. + type: integer + format: int32 + example: 12 + state: + description: > + In what geographical state the individual was employed, according to + the country. + type: string + example: DISTRITO FEDERAL + most_recent_base_salary: + description: > + The most recent base salary the individual earned. + + + For Mexico, this is the *daily* rate that the individual earned, + including the perks that the individual is entitled to throughout + the year. + type: number + format: float + example: 762.54 + monthly_salary: + description: > + The monthly salary of the individual, including any additional + perks. + type: number + format: float + currency: + description: | + The three-letter currency code in which the salary is paid. + type: string + example: MXN + employment_status_updates: + description: Details regarding any employment changes of the individual. + type: array + items: + $ref: '#/components/schemas/EmploymentRecordEmploymentStatusUpdates' + EmploymentRecordFile: + description: Additional PDF binary files relating to the individual's employment. + type: object + properties: + type: + description: | + The title of the document. + type: string + example: ReporteSemanasCotizadas_190123 + value: + description: > + The PDF binary of the file (as a string). + + + > **Note**: In our sandbox environment, this field will return + `null`. + type: string + nullable: true + example: '=PDF_BINARY=' + EmploymentRecord: + description: Employment record response payload + type: object + properties: + id: + description: >- + The unique identifier created by Belvo for the current IMSS + statement. + type: string + format: uuid + example: fef05fc8-7357-4a4a-9d29-55038ea31a04 + link: + description: The unique identifier created by Belvo for the current user. + type: string + format: uuid + example: 27c1d5cf-e8fb-433a-a2f7-d246de199c01 + created_at: + description: >- + The ISO-8601 timestamp of when the data point was initially created + in Belvo's database. + type: string + format: date-time + example: '2020-04-23T21:32:55.336854+00:00' + collected_at: + description: The ISO-8601 timestamp when the data point was collected. + type: string + format: date-time + example: '2020-04-23T21:32:55.336854+00:00' + report_date: + description: >- + The date when the employment record report was generated, in + `YYYY-MM-DD` format. + type: string + format: date + example: '2023-01-19' + internal_identification: + description: >- + Unique ID for user according to the institution. For IMSS Mexico, + this is the CURP. + type: string + example: BLPM951331IONVGR54 + personal_data: + $ref: '#/components/schemas/EmploymentRecordPersonalData' + social_security_summary: + $ref: '#/components/schemas/EmploymentRecordSocialSecuritySummary' + employment_records: + description: Details regarding the individual's employment history. + type: array + items: + $ref: '#/components/schemas/EmploymentRecordDetail' + files: + description: Additional PDF binary files relating to the individual's employment. + type: array + nullable: true + items: + $ref: '#/components/schemas/EmploymentRecordFile' + EmploymentRecordsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of employment record objects. + type: array + items: + $ref: '#/components/schemas/EmploymentRecord' + EmploymentRecordRequest: + type: object + required: + - link + properties: + link: + description: The `link.id` you want to retrieve employment records for. + type: string + format: uuid + example: d686c617-6d9e-4bc6-9801-5ac276ccb6a2 + attach_pdf: + description: > + When set to `true`, you will receive the PDF in binary format in the + response. + type: boolean + default: false + save_data: + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + type: boolean + default: true + EnumIncomeVerificationAccountHolderType: + description: | + The type of account holder. Can be: + + - `INDIVIDUAL` + type: string + enum: + - INDIVIDUAL + example: INDIVIDUAL + EnumIncomeVerificationAccountCategory: + description: | + The type of account. + + Can be either: + - `CHECKING_ACCOUNT` + - `SAVINGS_ACCOUNT` + type: string + enum: + - CHECKING_ACCOUNT + - SAVINGS_ACCOUNT + example: CHECKING_ACCOUNT + EnumIncomeVerificationType: + description: | + The direction of the transaction: + + - `INFLOW` indicates money coming into the account. + type: string + nullable: true + enum: + - INFLOW + example: INFLOW + EyodIncomeVerificationBodyRequest: + type: object + required: + - transaction_id + - account_holder_type + - account_holder_id + - account_id + - account_category + - value_date + - description + - type + - amount + - currency + - institution + properties: + description: + description: | + The description of the income. + type: string + example: SALÁRIO MENSAL + transaction_id: + description: Your unique ID for the income. + type: string + example: 3CWE4927CF15355 + account_holder_type: + $ref: '#/components/schemas/EnumIncomeVerificationAccountHolderType' + account_holder_id: + description: | + Your unique ID for the account holder, in UUID format. + type: string + format: uuid + example: a61bc801-9fa5-457b-88ad-850c96eaca30 + account_id: + description: | + Your unique ID for the account where the transaction occurred. + type: string + example: EBACA-89077589 + account_category: + $ref: '#/components/schemas/EnumIncomeVerificationAccountCategory' + value_date: + description: > + The date when the income transaction occurred, in `YYYY-MM-DD` + format. + type: string + format: date + example: '2022-11-18' + type: + $ref: '#/components/schemas/EnumIncomeVerificationType' + amount: + description: | + The income amount. + type: number + format: float + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + description: | + The three-letter currency code of the income. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + type: string + example: BRL + institution: + description: > + The institution where the account is registered. + + + + **Note:** This is the name that you use in your system to identify + the institution. For example Erebor Retail Brasil Retail. + type: string + example: Erebor Retail Brasil + EyodIncomeVerificationRequest: + type: object + required: + - language + - transactions + properties: + language: + description: | + Two-letter ISO 639-1 code for the language of the transaction. + type: string + example: pt + transactions: + description: > + An array of transaction objects that you want enriched. + + + + **Note:** Each object corresponds to one, unique transaction and you + can send through up to 10,000 transactions per request. + type: array + items: + $ref: '#/components/schemas/EyodIncomeVerificationBodyRequest' + date_from: + description: > + The date from which you want to start getting incomes for, in + `YYYY-MM-DD` format, within the last 365 days. When you use this + parameter, you must also send `date_to`. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + example: '2022-08-01' + date_to: + description: > + The date you want to stop getting incomes for, in `YYYY-MM-DD` + format, within the last 365 days. When you use this parameter, you + must also send `date_from`. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + example: '2022-12-30' + allowed_income_types: + description: The categories of the incomes you want to get information for. + type: array + items: + $ref: '#/components/schemas/EnumInvoiceAllowedIncomeTypesRequest' + minimum_confidence_level: + $ref: '#/components/schemas/EnumIncomeMinimumConfidenceLevelRequest' + IncomeEyod: + description: Income insights + type: object + required: + - account_holder_id + - income_streams + - income_source_type + - first_transaction_date + - last_transaction_date + - number_of_income_streams + - monthly_average + - monthly_average_regular + - monthly_average_irregular + - monthly_average_low_confidence + - monthly_average_medium_confidence + - monthly_average_high_confidence + - total_income_amount + - total_regular_income_amount + - total_low_confidence + - total_medium_confidence + - total_high_confidence + properties: + account_holder_id: + description: >- + The unique `account_holder_id` the account belongs to, as you + provided in the Income Verification request. + type: string + example: f4621548-2f9e-440e-9ebd-ae8decac8c02 + income_streams: + description: An array of enriched income stream objects. + type: array + items: + $ref: '#/components/schemas/IncomeStreamsBody' + income_source_type: + $ref: '#/components/schemas/EnumIncomeSourceType' + first_transaction_date: + description: > + The date when the first transaction occurred, in `YYYY-MM-DD` + format. + type: string + nullable: true + format: date + example: '2022-06-09' + last_transaction_date: + description: > + The date when when the last transaction occurred, in `YYYY-MM-DD` + format. + type: string + format: date + example: '2023-02-09' + number_of_income_streams: + description: | + Number of total income streams analized. + type: integer + format: int32 + example: 1 + monthly_average: + description: > + Average amount of income received per month across all the accounts + for the specific user. + type: number + format: float + example: 2500 + monthly_average_regular: + description: > + Average amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, or `WEEKLY`) received per month for the specific + user. + type: number + format: float + example: 2500 + monthly_average_irregular: + description: > + Average amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) received per month for the specific user. + type: number + format: float + example: 0 + monthly_average_low_confidence: + description: > + Average amount of income received per month for the specific user + with `LOW` confidence. + type: number + format: float + example: 0 + monthly_average_medium_confidence: + description: > + Average amount of income received per month for the specific user + with `MEDIUM` confidence. + type: number + format: float + example: 0 + monthly_average_high_confidence: + description: > + Average amount of income received per month for the specific user + with `HIGH` confidence. + type: number + format: float + example: 2500 + total_income_amount: + description: | + Total amount of all income received for the specific user. + type: number + format: float + example: 22500 + total_regular_income_amount: + description: > + Total amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, `WEEKLY`) for the specific user. + type: number + format: float + example: 22500 + total_irregular_income_amount: + description: > + Total amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) for the specific user. + type: number + format: float + example: 0 + total_low_confidence: + description: | + Total amount of income for the specific user with `LOW` confidence. + type: number + format: float + example: 0 + total_medium_confidence: + description: > + Total amount of income for the specific user with `MEDIUM` + confidence. + type: number + format: float + example: 0 + total_high_confidence: + description: | + Total amount of income for the specific user with `HIGH` confidence. + type: number + format: float + example: 22500 + AccessToResourceDenied: + title: Access to Belvo API denied + description: > + This error occurs when you try to access Belvo's resource without the + correct permissions. + type: object + properties: + code: + 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 403 access_to_resource_denied. + type: string + example: access_to_resource_denied + message: + description: | + A short description of the error. + + + For `access_to_resource_denied` errors, the description is: + + - `You don't have access to this resource.`. + type: string + example: You don't have access to this resource. + request_id: + 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. + type: string + pattern: '[a-f0-9]{32}' + example: 9e7b283c6efa449c9c028a16b5c249fb + EnumCategorizationAccountHolderType: + description: | + The type of account holder. + + Can be either: + + - `INDIVIDUAL` + - `BUSINESS` + type: string + enum: + - INDIVIDUAL + - BUSINESS + example: INDIVIDUAL + EnumCategorizationAccountCategory: + description: | + The type of account. + + Can be either: + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `LOAN_ACCOUNT` + - `SAVINGS_ACCOUNT` + type: string + enum: + - CHECKING_ACCOUNT + - CREDIT_CARD + - LOAN_ACCOUNT + - SAVINGS_ACCOUNT + example: CREDIT_CARD + EnumCategorizationTransactionType: + description: | + The direction of the transaction. + + Can be either: + + - `INFLOW` indicates a received transaction. + - `OUTFLOW` indicates a sent transaction. + type: string + enum: + - INFLOW + - OUTFLOW + example: OUTFLOW + CategorizationBodyRequest: + type: object + required: + - transaction_id + - account_holder_type + - account_holder_id + - account_id + - account_category + - value_date + - description + - type + - amount + - currency + - institution + properties: + description: + description: | + The description of the transaction. + type: string + example: APPL3STORE + transaction_id: + description: Your unique ID for the transaction. + type: string + example: 3CWE4927CF15355 + account_holder_type: + $ref: '#/components/schemas/EnumCategorizationAccountHolderType' + account_holder_id: + description: | + Your unique ID for the account holder. + type: string + example: '7890098789087' + account_id: + description: | + Your unique ID for the account where the transaction occurred. + type: string + example: EREB-89077589 + account_category: + $ref: '#/components/schemas/EnumCategorizationAccountCategory' + value_date: + description: | + The date when the transaction occurred, in `YYYY-MM-DD` format. + type: string + format: date + example: '2022-11-18' + type: + $ref: '#/components/schemas/EnumCategorizationTransactionType' + amount: + description: | + The transaction amount. + type: number + format: float + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + description: | + The currency of the account, in ISO-4217 format. For example: + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + type: string + example: BRL + institution: + description: > + The institution where the account is registered. + + + + >**Note:** This is the name that you use in your system to identify + an institution. + type: string + example: Erebor Retail Brasil + mcc: + description: | + The four-digit ISO 18245 Merchant Category Code (MCC). + type: integer + nullable: true + format: int32 + example: 2345 + CategorizationRequest: + type: object + required: + - language + - transactions + properties: + language: + description: | + Two-letter ISO 639-1 code for the language of the transaction. + type: string + example: pt + transactions: + description: > + An array of transaction objects that you want categorized. + + + + **Note:** Each object corresponds to one, unique transaction and you + can send through up to 10,000 transactions per request. + type: array + items: + $ref: '#/components/schemas/CategorizationBodyRequest' + EnumCategorizationTransactionCategory: + description: > + The name of the category to which this transaction belongs. For more + info about this feature, check our [Transaction + categorization](https://developers.belvo.com/docs/banking#categorizing-transactions) + article. + + + We return one of the following enum values: + + - `Bills & Utilities` + - `Credits & Loans` + - `Deposits` + - `Fees & Charges` + - `Food & Groceries` + - `Home & Life` + - `Income & Payments` + - `Insurance` + - `Investments & Savings` + - `Online Platforms & Leisure` + - `Personal Shopping` + - `Taxes` + - `Transfers` + - `Transport & Travel` + - `Unknown` + - `Withdrawal & ATM` + - `null` + type: string + nullable: true + enum: + - Bills & Utilities + - Credits & Loans + - Deposits + - Fees & Charges + - Food & Groceries + - Home & Life + - Income & Payments + - Insurance + - Investments & Savings + - Online Platforms & Leisure + - Personal Shopping + - Taxes + - Transfers + - Transport & Travel + - Unknown + - Withdrawal & ATM + - null + example: Income & Payments + EnumCategorizationTransactionSubcategory: + description: > + The transactions subcategory. For more info about this feature, check + our [Transaction + categorization](https://developers.belvo.com/docs/banking#categorizing-transactions) + article. + + + + We return one of the following enum values: + + - `Electricity & Energy` + - `Rent` + - `Telecommunications` + - `Water` + - `Auto` + - `Credit Card` + - `Instalment` + - `Interest & Charges` + - `Mortgage` + - `Pay Advance` + - `Personal` + - `Adjustments` + - `Bank Fees` + - `Chargeback` + - `Refund` + - `Blocked Balances` + - `Alimony` + - `Alcohol & Tobacco` + - `Bakery & Coffee` + - `Bars & Nightclubs` + - `Convenience Store` + - `Delivery` + - `Groceries` + - `Restaurants` + - `Education` + - `Gyms & Fitness` + - `Hair & Beauty` + - `Health` + - `Home Decor & Appliances` + - `Laundry & Dry Cleaning` + - `Pharmacies` + - `Professional Services` + - `Veterinary Services` + - `Freelance` + - `Interest` + - `Retirement` + - `Salary` + - `Government` + - `Home Insurance` + - `Auto Insurance` + - `Health & Life Insurance` + - `Savings` + - `Fixed income` + - `Equity` + - `Investment Funds` + - `Derivatives` + - `Cryptocurrencies` + - `Apps, Software and Cloud Services` + - `Events, Parks and Museums` + - `Gambling` + - `Gaming` + - `Lottery` + - `Movie & Audio` + - `Books & News` + - `Clothing & Accessories` + - `Department Store` + - `Electronics` + - `E-commerce` + - `Gifts` + - `Office Supplies` + - `Pet Supplies` + - `Auto Tax & Fees` + - `Donation` + - `Government Fees` + - `Income Tax` + - `Real Estate Tax & Fees` + - `Tax Return` + - `Accommodation` + - `Auto Expenses` + - `Auto Rental` + - `Flights` + - `Gas` + - `Mileage Programs` + - `Parking & Tolls` + - `Public Transit` + - `Taxis & Rideshares` + - `Other` + - `null` + type: string + nullable: true + enum: + - Electricity & Energy + - Rent + - Telecommunications + - Water + - Auto + - Credit Card + - Instalment + - Interest & Charges + - Mortgage + - Pay Advance + - Personal + - Adjustments + - Bank Fees + - Chargeback + - Refund + - Blocked Balances + - Alimony + - Alcohol & Tobacco + - Bakery & Coffee + - Bars & Nightclubs + - Convenience Store + - Delivery + - Groceries + - Restaurants + - Education + - Gyms & Fitness + - Hair & Beauty + - Health + - Home Decor & Appliances + - Laundry & Dry Cleaning + - Pharmacies + - Professional Services + - Veterinary Services + - Freelance + - Interest + - Retirement + - Salary + - Government + - Home Insurance + - Auto Insurance + - Health & Life Insurance + - Savings + - Fixed income + - Equity + - Investment Funds + - Derivatives + - Cryptocurrencies + - Apps, Software and Cloud Services + - Events, Parks and Museums + - Gambling + - Gaming + - Lottery + - Movie & Audio + - Books & News + - Clothing & Accessories + - Department Store + - Electronics + - E-commerce + - Gifts + - Office Supplies + - Pet Supplies + - Auto Tax & Fees + - Donation + - Government Fees + - Income Tax + - Real Estate Tax & Fees + - Tax Return + - Accommodation + - Auto Expenses + - Auto Rental + - Flights + - Gas + - Mileage Programs + - Parking & Tolls + - Public Transit + - Taxis & Rideshares + - Other + - null + example: Freelance + CategorizationMerchantData: + description: | + Additional data regarding the merchant involved in the transaction. + type: object + nullable: true + properties: + logo: + description: The URL to the merchant's logo. + type: string + nullable: true + example: >- + https://www.apple.com/ac/structured-data/images/open_graph_logo.png?202110180743 + website: + description: The URL to the merchant's website. + type: string + nullable: true + example: https://www.apple.com/br/ + merchant_name: + description: The name of the merchant. + type: string + example: Apple, Inc + CategorizationBody: + type: object + required: + - transaction_id + - account_holder_type + - account_holder_id + - account_id + - account_category + - value_date + - description + - type + - amount + - currency + - institution + - category + - merchant + properties: + description: + description: | + The description of the transaction. + type: string + example: APPL3STORE + transaction_id: + description: The unique ID for the transaction in your system. + type: string + example: 3CWE4927CF15355 + account_holder_type: + $ref: '#/components/schemas/EnumCategorizationAccountHolderType' + account_holder_id: + description: | + The unique ID for the account holder in your system. + type: string + example: '7890098789087' + account_id: + description: > + The unique ID for the account where the transaction occurred in your + system. + type: string + example: EREB-89077589 + account_category: + $ref: '#/components/schemas/EnumCategorizationAccountCategory' + value_date: + description: | + The date when the transaction occurred, in `YYYY-MM-DD` format. + type: string + format: date + example: '2022-11-18' + type: + $ref: '#/components/schemas/EnumCategorizationTransactionType' + amount: + description: | + The transaction amount. + type: number + format: float + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + description: |- + The currency of the account, in ISO-4217 format. For example: + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + type: string + example: BRL + institution: + description: > + The institution where the account is registered. + + + + >**Note:** This is the name that you use in your system to identify + an institution. + + type: string + example: Erebor Brazil + mcc: + description: | + The four-digit ISO 18245 Merchant Category Code (MCC). + type: integer + nullable: true + format: int32 + example: 2345 + category: + $ref: '#/components/schemas/EnumCategorizationTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumCategorizationTransactionSubcategory' + merchant: + $ref: '#/components/schemas/CategorizationMerchantData' + Categorization: + type: object + properties: + transactions: + description: An array of enriched transaction objects. + type: array + items: + $ref: '#/components/schemas/CategorizationBody' + CreditScoreReasonCode: + description: An array of codes that explain the reason behind the credit score. + type: object + properties: + description: + description: | + A description of the reason code. + type: string + minLength: 1 + maxLength: 160 + pattern: ^.{1,160}$ + example: Out of Pattern transaction checking deposit day + code: + description: | + The reason code for the credit score. + type: string + pattern: '[A-Z][0-9]{2}' + example: C06 + CreditScore: + description: Credit Score response + type: object + properties: + id: + description: | + The unique ID for the credit score analysis. + type: string + format: uuid + example: a4e0d6f8-aa0b-45e4-9cd2-38cc741a64ad + user_id: + description: | + Your unique ID for the user. + type: string + example: AGH7890098789087 + created_at: + description: | + The ISO-8601 timestamp when the credit score analysis was created. + type: string + format: date-time + example: '2023-06-01T12:00:00.000Z' + score: + description: | + The credit score of the user. + type: integer + format: int32 + example: 400 + date_to: + description: > + The date that the credit score analysis ends, in `YYYY-MM-DD` + format. + type: string + format: date + example: '2023-06-01' + reason_codes: + description: An array of codes that explain the reason behind the credit score. + type: array + minItems: 1 + items: + $ref: '#/components/schemas/CreditScoreReasonCode' + CreditScorePaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + description: Array of credit score objects. + type: array + items: + $ref: '#/components/schemas/CreditScore' + CreditScoreRequest: + type: object + required: + - link + properties: + link: + description: The `link.id` that you want to get information for. + type: string + format: uuid + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + date_to: + description: > + The date until when you want to calculate the credit score for, in + `YYYY-MM-DD` format. + + + If not provided, we calculate the credit score using from the time + of the request and use up to 365 days of data (if available). + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + example: '2023-02-28' + save_data: + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + type: boolean + default: true + EnumRiskInsightTransactionType: + description: | + The direction of the transaction: + + - `INFLOW` indicates money coming into the account. + - `OUTFLOW` indicates money leaving the account. + type: string + nullable: true + enum: + - INFLOW + - OUTFLOW + example: INFLOW + EyodCreditScoreTransactionBody: + description: | + The EYOD Risk Insight transaction object + type: object + required: + - transaction_id + - account_id + - value_date + - type + - amount + - currency + - description + properties: + description: + description: | + The description of the transaction. + type: string + maxLength: 500 + example: Pagamento Netflix Maio 2023 + transaction_id: + description: Your unique ID for the transaction. + type: string + example: 3CWE4927CF15355 + account_id: + description: > + Your unique ID for the account where the transaction occurred. + + + **Note:** You must provide the details of this account in the + `accounts` array of the Risk Insights request. Otherwise, we return + an error. + type: string + example: AGH7890098789087-Checking-Erebor + value_date: + description: > + The date when the transaction occurred, in `YYYY-MM-DD` format. + + + **Note:** Transactions that occur after the `reference_date` are not + considered in the risk insight analysis. + type: string + format: date + example: '2023-05-18' + type: + $ref: '#/components/schemas/EnumRiskInsightTransactionType' + amount: + description: | + The transaction amount. + type: number + format: float + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + description: > + The three-letter currency code of the transaction. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + **Note:** Ensure that the currency of the transaction and the + account associated with it are the same. For example, if the + currency of the account is `MXN`, then all the transactions + associated with that account should also be in `MXN`. + + type: string + example: BRL + EyodCreditScoreAccountBody: + description: | + EYOD Risk Insight account object. + type: object + required: + - id + - category + - balance + - balance_date + - currency + properties: + id: + description: | + Your unique ID for the user's account. + type: string + example: AGH7890098789087-Checking-Erebor + category: + description: | + The category of the bank account. Can be either: + + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `LOAN_ACCOUNT` + - `SAVINGS_ACCOUNT` + type: string + enum: + - CHECKING_ACCOUNT + - CREDIT_CARD + - LOAN_ACCOUNT + - SAVINGS_ACCOUNT + example: CHECKING_ACCOUNT + balance: + description: The balance of the account. + type: number + format: float + example: 12540.67 + balance_date: + description: > + The date that the `balance` amount was retrieved, in `YYYY-MM-DD` + format. + + + **Note:** For each account you wish to have analyzed, try to provide + the same date when the balance was available. + type: string + format: date + example: '2023-06-01' + currency: + description: > + The three-letter currency code of the `balance`. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + **Note:** Ensure that the currency of the account and the + transactions associated with it are the same. For example, if the + currency of the account is `MXN`, then all the transactions + associated with that account should also be in `MXN`. + + type: string + example: BRL + EyodCreditScoreRequest: + description: > + EYOD Credit Score request object. + + + **Note:** You can only send through information for **one** user at a + time. + type: object + required: + - user_id + - date_to + - language + - transactions + - accounts + properties: + user_id: + description: | + Your unique ID for the user. + type: string + example: AGH7890098789087 + date_to: + description: > + The date from which you want Belvo to start performing the credit + score analysis, in `YYYY-MM-DD` format. If you do not specify a + `date_to`, we use the current date at the time of your request. + + + > **Note:** + + > + + > We recommend you use `date_to` if you do not have an account + balance for the past few days. + + > + + > For example, if the last account balance date that you have a + value for was last week, set the `date_to` parameter to that date. + The credit score that you receive will be **relative** to the + `date_to` parameter. + type: string + format: date + example: '2023-06-01' + language: + description: > + The two-letter ISO 639-1 code for the language of the transaction. + For example: + + - `pt` for Portugese + + > **Note**: At present, we only support `pt` for Portuguese. + type: string + example: pt + transactions: + description: > + An array of transaction objects that you want analyzed for the + credit score analysis. + + + + **Note:** Each object corresponds to one unique transaction and you + can send through up to 10,000 transactions per request. + type: array + maxItems: 10000 + items: + $ref: '#/components/schemas/EyodCreditScoreTransactionBody' + accounts: + description: > + An array of account objects that the transactions are associated + with. + + + + Each transaction you provide in the `transactions` array must have + an associated account. If you provide transactions without an + associated account, we return an error. + + + **Note:** Each object corresponds to one unique account. + type: array + items: + $ref: '#/components/schemas/EyodCreditScoreAccountBody' + TaxReturnsGetInformationRequest: + oneOf: + - $ref: '#/components/schemas/TaxReturnsMonthlyRequest' + - $ref: '#/components/schemas/TaxReturnsYearlyRequest' + CreditScoreEyodGetUserCreditScoreRequest: + type: array + items: + $ref: '#/components/schemas/EyodCreditScoreRequest' + LinksListAllResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + LinksResumeSessionResponse: + 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' + LinksResumeSession401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + LinksResumeSession428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + LinksResumeSession500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + LinksRegisterNewLinkResponse: + 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/InvalidLinkError' + - $ref: '#/components/schemas/400InvalidCredentialsStorageError' + - $ref: '#/components/schemas/400InvalidFetchHistorical' + - $ref: '#/components/schemas/400InvalidResourcesError' + - $ref: '#/components/schemas/UnconfirmedLinkError' + - $ref: '#/components/schemas/UnsupportedOperationError' + LinksRegisterNewLink401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + LinksRegisterNewLink428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + LinksRegisterNewLink500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + LinksDeleteLinkAccountsResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + LinksDeleteLinkAccounts404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + LinksGetDetailsResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + LinksGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + LinksChangeAccessModeResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/InvalidAccessMode' + - $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' + LinksChangeAccessMode401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + LinksChangeAccessMode404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + LinksChangeAccessMode428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + LinksChangeAccessMode500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + LinksUpdateCredentialsResponse: + 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' + LinksUpdateCredentials401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + LinksUpdateCredentials404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + LinksUpdateCredentials428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + LinksUpdateCredentials500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + AccountsListAllResponse: + oneOf: + - $ref: '#/components/schemas/AccountsPaginatedResponse' + - $ref: '#/components/schemas/AccountsPaginatedResponseOpenFinanceBrazil' + AccountsListAll401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + AccountsResumeRetrieveSessionResponse: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + AccountsResumeRetrieveSession201Response: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + AccountsResumeRetrieveSession400Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/TooManySessionsError' + - $ref: '#/components/schemas/LoginError' + - $ref: '#/components/schemas/SessionExpiredError' + - $ref: '#/components/schemas/ValidationError' + - $ref: '#/components/schemas/InstitutionDownError' + - $ref: '#/components/schemas/InstitutionUnavailableError' + - $ref: '#/components/schemas/InstitutionInactiveError' + - $ref: '#/components/schemas/UnsupportedOperationError' + - $ref: '#/components/schemas/InvalidLinkError' + - $ref: '#/components/schemas/UnconfirmedLinkError' + AccountsResumeRetrieveSession401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + AccountsResumeRetrieveSession408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + AccountsResumeRetrieveSession428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + AccountsResumeRetrieveSession500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + AccountsCreateLinkAccountsResponse: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + AccountsCreateLinkAccounts201Response: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + AccountsCreateLinkAccounts400Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/TooManySessionsError' + - $ref: '#/components/schemas/LoginError' + - $ref: '#/components/schemas/SessionExpiredError' + - $ref: '#/components/schemas/ValidationError' + - $ref: '#/components/schemas/InstitutionDownError' + - $ref: '#/components/schemas/InstitutionUnavailableError' + - $ref: '#/components/schemas/InstitutionInactiveError' + - $ref: '#/components/schemas/UnsupportedOperationError' + - $ref: '#/components/schemas/InvalidLinkError' + - $ref: '#/components/schemas/UnconfirmedLinkError' + AccountsCreateLinkAccounts401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + AccountsCreateLinkAccounts408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + AccountsCreateLinkAccounts428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + AccountsCreateLinkAccounts500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + AccountsDeleteSpecificAccountResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + AccountsDeleteSpecificAccount404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + AccountsGetDetailsResponse: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + AccountsGetDetails401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + AccountsGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + TransactionsListAllTransactionsResponse: + oneOf: + - $ref: '#/components/schemas/TransactionsPaginatedResponse' + - $ref: '#/components/schemas/TransactionsPaginatedResponseOpenFinanceBrazil' + TransactionsListAllTransactions401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TransactionsResumeRetrieveSessionResponse: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + TransactionsResumeRetrieveSession201Response: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + TransactionsResumeRetrieveSession400Response: + 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' + TransactionsResumeRetrieveSession401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TransactionsResumeRetrieveSession408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + TransactionsResumeRetrieveSession428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + TransactionsResumeRetrieveSession500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + TransactionsCreateLinkTransactionsResponse: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + TransactionsCreateLinkTransactions201Response: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + TransactionsCreateLinkTransactions400Response: + 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' + TransactionsCreateLinkTransactions401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TransactionsCreateLinkTransactions408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + TransactionsCreateLinkTransactions428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + TransactionsCreateLinkTransactions500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + TransactionsRemoveByIdResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TransactionsRemoveById404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + TransactionsGetDetailsResponse: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + TransactionsGetDetails401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TransactionsGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + BalancesGetAllResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + BalancesResumeSessionResponse: + type: array + items: + $ref: '#/components/schemas/Balance' + BalancesResumeSession201Response: + type: array + items: + $ref: '#/components/schemas/Balance' + BalancesResumeSession400Response: + 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' + BalancesResumeSession401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + BalancesResumeSession408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + BalancesResumeSession428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + BalancesResumeSession500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + BalancesGetLinkBalancesResponse: + type: array + items: + $ref: '#/components/schemas/Balance' + BalancesGetLinkBalances201Response: + type: array + items: + $ref: '#/components/schemas/Balance' + BalancesGetLinkBalances400Response: + 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' + BalancesGetLinkBalances401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + BalancesGetLinkBalances408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + BalancesGetLinkBalances428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + BalancesGetLinkBalances500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + BalancesDeleteBalanceResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + BalancesDeleteBalance404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + BalancesGetDetailsResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + BalancesGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + InstitutionsGetAllResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + InstitutionsGetDetailsResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + InstitutionsGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + OwnersListAllResponse: + oneOf: + - $ref: '#/components/schemas/OwnersPaginatedResponse' + - $ref: >- + #/components/schemas/OwnersIndividualPaginatedResponseOpenFinanceBrazil + - $ref: >- + #/components/schemas/OwnersBusinessPaginatedResponseOpenFinanceBrazil + OwnersListAll401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + OwnersResumeRetrieveSessionResponse: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + OwnersResumeRetrieveSession201Response: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + OwnersResumeRetrieveSession400Response: + 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' + OwnersResumeRetrieveSession401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + OwnersResumeRetrieveSession408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + OwnersResumeRetrieveSession428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + OwnersResumeRetrieveSession500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + OwnersGetLinkOwnerResponse: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + OwnersGetLinkOwner201Response: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + OwnersGetLinkOwner400Response: + 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' + OwnersGetLinkOwner401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + OwnersGetLinkOwner408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + OwnersGetLinkOwner428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + OwnersGetLinkOwner500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + OwnersDeleteOwnerResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + OwnersDeleteOwner404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + OwnersGetDetailsResponse: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + OwnersGetDetails401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + OwnersGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + InvoicesListAllResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + InvoicesCompleteRequestResponse: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + InvoicesCompleteRequest201Response: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + InvoicesCompleteRequest400Response: + 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' + InvoicesCompleteRequest401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + InvoicesCompleteRequest408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + InvoicesCompleteRequest428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + InvoicesCompleteRequest500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + InvoicesGetLinkInvoicesResponse: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + InvoicesGetLinkInvoices201Response: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + InvoicesGetLinkInvoices400Response: + 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' + InvoicesGetLinkInvoices401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + InvoicesGetLinkInvoices408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + InvoicesGetLinkInvoices500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + InvoicesDeleteInvoiceResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + InvoicesDeleteInvoice404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + InvoicesGetDetailsResponse: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + InvoicesGetDetails401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + InvoicesGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + TaxReturnsListAllResponse: + oneOf: + - $ref: '#/components/schemas/TaxReturnsPersonalPaginated' + - $ref: '#/components/schemas/TaxReturnsPersonalMonthlyPaginated' + - $ref: '#/components/schemas/TaxReturnsBusinessPaginated' + - $ref: '#/components/schemas/TaxReturnsBusinessMonthlyPaginated' + TaxReturnsListAll401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxReturnsGetInformationResponse: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxReturnPersonal' + - $ref: '#/components/schemas/TaxReturnPersonalMonthly' + - $ref: '#/components/schemas/TaxReturnBusiness' + - $ref: '#/components/schemas/TaxReturnBusinessMonthly' + TaxReturnsGetInformation201Response: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxReturnPersonal' + - $ref: '#/components/schemas/TaxReturnPersonalMonthly' + - $ref: '#/components/schemas/TaxReturnBusiness' + - $ref: '#/components/schemas/TaxReturnBusinessMonthly' + TaxReturnsGetInformation400Response: + 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' + TaxReturnsGetInformation401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxReturnsGetInformation500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + TaxReturnsDeleteSpecificTaxReturnResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxReturnsDeleteSpecificTaxReturn404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + TaxReturnsGetDetailsResponse: + oneOf: + - $ref: '#/components/schemas/TaxReturnPersonal' + - $ref: '#/components/schemas/TaxReturnPersonalMonthly' + - $ref: '#/components/schemas/TaxReturnBusiness' + - $ref: '#/components/schemas/TaxReturnBusinessMonthly' + TaxReturnsGetDetails401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxReturnsGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + TaxStatusListAllResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxStatusGetLinkTaxStatusResponse: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + TaxStatusGetLinkTaxStatus201Response: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + TaxStatusGetLinkTaxStatus400Response: + 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' + TaxStatusGetLinkTaxStatus401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxStatusGetLinkTaxStatus408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + TaxStatusGetLinkTaxStatus500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + TaxStatusDeleteSpecificTaxStatusResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxStatusDeleteSpecificTaxStatus404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + TaxStatusGetDetailsResponse: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + TaxStatusGetDetails401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxStatusGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + TaxComplianceStatusListAllResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxComplianceStatusGetFiscalLinkInfoResponse: + 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' + TaxComplianceStatusGetFiscalLinkInfo401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxComplianceStatusGetFiscalLinkInfo408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + TaxComplianceStatusGetFiscalLinkInfo500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + TaxComplianceStatusDeleteSpecificTaxComplianceStatusResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxComplianceStatusDeleteSpecificTaxComplianceStatus404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + TaxComplianceStatusGetDetailsResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxComplianceStatusGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + IncomesListAllResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + IncomesResumeSessionResponse: + type: array + items: + $ref: '#/components/schemas/Income' + IncomesResumeSession201Response: + type: array + items: + $ref: '#/components/schemas/Income' + IncomesResumeSession400Response: + 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' + IncomesResumeSession401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + IncomesResumeSession408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + IncomesResumeSession428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + IncomesResumeSession500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + IncomesGetInsightsResponse: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + IncomesGetInsights401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + IncomesGetInsights408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + IncomesGetInsights428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + IncomesGetInsights500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + IncomesDeleteIncomeResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + IncomesDeleteIncome404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + IncomesGetDetailsResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + IncomesGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + RecurringExpensesListAllResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + RecurringExpensesResumeRequestResponse: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + RecurringExpensesResumeRequest201Response: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + RecurringExpensesResumeRequest400Response: + 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' + RecurringExpensesResumeRequest401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + RecurringExpensesResumeRequest408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + RecurringExpensesResumeRequest428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + RecurringExpensesResumeRequest500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + RecurringExpensesGetInsightsResponse: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + RecurringExpensesGetInsights201Response: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + RecurringExpensesGetInsights400Response: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + RecurringExpensesGetInsights401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + RecurringExpensesGetInsights408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + RecurringExpensesGetInsights428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + RecurringExpensesGetInsights500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + RecurringExpensesDeleteExpenseResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + RecurringExpensesDeleteExpense404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + RecurringExpensesGetDetailsResponse: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + RecurringExpensesGetDetails401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + RecurringExpensesGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + RiskInsightsListAllRiskInsightsResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + RiskInsightsResumeInsightsSessionResponse: + type: array + items: + $ref: '#/components/schemas/RiskInsights' + RiskInsightsResumeInsightsSession201Response: + type: array + items: + $ref: '#/components/schemas/RiskInsights' + RiskInsightsResumeInsightsSession400Response: + 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' + RiskInsightsResumeInsightsSession401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + RiskInsightsResumeInsightsSession408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + RiskInsightsResumeInsightsSession428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + RiskInsightsResumeInsightsSession500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + RiskInsightsGetForLinkResponse: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + RiskInsightsGetForLink401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + RiskInsightsGetForLink408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + RiskInsightsGetForLink428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + RiskInsightsGetForLink500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + RiskInsightsDeleteSpecificInsightResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + RiskInsightsDeleteSpecificInsight404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + RiskInsightsGetDetailsResponse: + type: array + items: + $ref: '#/components/schemas/RiskInsights' + RiskInsightsGetDetails401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + RiskInsightsGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + TaxRetentionsListAllResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxRetentionsGetLinkTaxRetentionsResponse: + type: array + items: + $ref: '#/components/schemas/TaxRetentions' + TaxRetentionsGetLinkTaxRetentions201Response: + type: array + items: + $ref: '#/components/schemas/TaxRetentions' + TaxRetentionsGetLinkTaxRetentions400Response: + 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' + TaxRetentionsGetLinkTaxRetentions401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxRetentionsGetLinkTaxRetentions408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + TaxRetentionsGetLinkTaxRetentions500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + TaxRetentionsDeleteSpecificTaxRetentionResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxRetentionsDeleteSpecificTaxRetention404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + TaxRetentionsGetDetailsResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxRetentionsGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + TaxDeclarationsListAllResponse: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationIndividualPaginated' + - $ref: '#/components/schemas/TaxDeclarationBusinessPaginated' + TaxDeclarationsListAll401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxDeclarationsGetFiscalLinkResponse: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationBusiness' + - $ref: '#/components/schemas/TaxDeclarationIndividual' + TaxDeclarationsGetFiscalLink201Response: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationBusiness' + - $ref: '#/components/schemas/TaxDeclarationIndividual' + TaxDeclarationsGetFiscalLink400Response: + 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' + TaxDeclarationsGetFiscalLink401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxDeclarationsGetFiscalLink500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + TaxDeclarationsDeleteSpecificDeclarationResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxDeclarationsDeleteSpecificDeclaration404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + TaxDeclarationsGetDetailsResponse: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationIndividual' + - $ref: '#/components/schemas/TaxDeclarationBusiness' + TaxDeclarationsGetDetails401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + TaxDeclarationsGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + EmploymentRecordsMexicoListAllResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + EmploymentRecordsMexicoGetDetailsResponse: + type: array + items: + $ref: '#/components/schemas/EmploymentRecord' + EmploymentRecordsMexicoGetDetails201Response: + type: array + items: + $ref: '#/components/schemas/EmploymentRecord' + EmploymentRecordsMexicoGetDetails400Response: + 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' + EmploymentRecordsMexicoGetDetails401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + EmploymentRecordsMexicoGetDetails408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + EmploymentRecordsMexicoGetDetails428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + EmploymentRecordsMexicoGetDetails500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + EmploymentRecordsMexicoDeleteRecordResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + EmploymentRecordsMexicoDeleteRecord404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + EmploymentRecordsMexicoGetDetails404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + IncomeVerificationEnrichUserIncomesResponse: + type: array + items: + $ref: '#/components/schemas/IncomeEyod' + IncomeVerificationEnrichUserIncomes400Response: + 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' + IncomeVerificationEnrichUserIncomes401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + IncomeVerificationEnrichUserIncomes403Response: + description: > + This error occurs when you try to access Belvo's resource without the + correct permissions. + type: array + items: + $ref: '#/components/schemas/AccessToResourceDenied' + IncomeVerificationEnrichUserIncomes500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + CategorizationCategorizeTransactionsResponse: + 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' + CategorizationCategorizeTransactions401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + CategorizationCategorizeTransactions403Response: + description: > + This error occurs when you try to access Belvo's resource without the + correct permissions. + type: array + items: + $ref: '#/components/schemas/AccessToResourceDenied' + CategorizationCategorizeTransactions500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + CreditScoreListAllResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + CreditScoreGetByLinkResponse: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + CreditScoreGetByLink401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + CreditScoreGetByLink408Response: + 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. + + type: array + items: + $ref: '#/components/schemas/RequestTimeoutError' + CreditScoreGetByLink428Response: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + CreditScoreGetByLink500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + CreditScoreDeleteSpecificScoreResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + CreditScoreDeleteSpecificScore404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + CreditScoreGetDetailsByIdResponse: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + CreditScoreGetDetailsById404Response: + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + type: array + items: + $ref: '#/components/schemas/NotFoundError' + CreditScoreEyodGetUserCreditScoreResponse: + type: array + items: + $ref: '#/components/schemas/CreditScore' + CreditScoreEyodGetUserCreditScore400Response: + 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' + CreditScoreEyodGetUserCreditScore401Response: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + CreditScoreEyodGetUserCreditScore403Response: + description: > + This error occurs when you try to access Belvo's resource without the + correct permissions. + type: array + items: + $ref: '#/components/schemas/AccessToResourceDenied' + CreditScoreEyodGetUserCreditScore500Response: + 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. + + type: array + items: + $ref: '#/components/schemas/UnexpectedError' + examples: + AccountsBankingChecking: + summary: Checking Account + description: Example of a checking account. + value: + - id: c21f3914-bcbe-44c4-a2e8-a5e33f6888d4 + link: 57f212dc-1ba4-407f-b7f0-15a5e5ff17ae + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CHECKING_ACCOUNT + balance_type: ASSET + type: Cuentas de efectivo + name: Cuenta Perfiles- M.N.- - ERB-237 + number: '2180700688677950' + balance: + available: 4523.48 + current: 4523.48 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: CLABE + public_identification_value: '2180700008677950' + last_accessed_at: '2022-02-01T20:25:47.307911Z' + credit_data: null + loan_data: null + funds_data: null + AccountsBankingCreditCard: + summary: Credit Card Account + description: Example of a credit card account. + value: + - id: 0f82c5db-13a2-43c7-a69a-e036160aba3a + link: 57f212dc-1ba4-407f-b7f0-15a5e5ff17ae + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + balance_type: LIABILITY + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + available: 1550.15 + current: 4049.85 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2022-02-01T20:25:47.307911Z' + credit_data: + collected_at: '2022-02-09T08:45:50.406032Z' + credit_limit: 15600 + cutting_date: '2021-04-11' + next_payment_date: '2021-03-31' + minimum_payment: 690 + no_interest_payment: 11550.15 + interest_rate: 4 + monthly_payment: null + last_payment_date: null + loan_data: null + funds_data: null + AccountsBankingLoan: + summary: Loan Account + description: Example of a loan account. + value: + - id: 0f82c5db-13a2-43c7-a69a-e036160aba3aX + link: 57f212dc-1ba4-407f-b7f0-15a5e5ff17ae + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: LOAN_ACCOUNT + balance_type: LIABILITY + type: Créditos + name: Cuenta nómina + number: '72964044' + balance: + available: 34708.36 + current: 34708.36 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: ACCOUNT_NUMBER + public_identification_value: '217035843284091420' + last_accessed_at: '2022-02-01T20:25:47.307911Z' + credit_data: null + loan_data: + collected_at: '2022-02-09T08:45:50.406032Z' + loan_type: SFH + contract_amount: 202000 + principal: 192000 + outstanding_principal: 142000 + outstanding_balance: 164000 + payment_day: '17' + interest_rates: + - name: jurosEfetivo + type: MONTHLY + value: 7.85 + fees: + - type: OPERATION_FEE + value: 5.6 + monthly_payment: 1000 + number_of_installments_total: 50 + number_of_installments_outstanding: 41 + contract_start_date: '2018-01-01' + contract_end_date: '2027-10-01' + contract_number: ER8072930097 + funds_data: null + AccountsBankingPension: + summary: Pension Account + description: Example of a pension account. + value: + - id: 3d5b0f90-90df-455d-a647-5b74feb746f6 + link: fbbb5ea7-4605-437f-b5c5-667fd037a303 + institution: + name: erebor_br_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: PENSION_FUND_ACCOUNT + balance_type: ASSET + type: Contas + name: Conta corrente + number: '37903487' + balance: + available: 26305.33 + current: 26305.33 + currency: BRL + bank_product_id: null + internal_identification: null + public_identification_name: PENSION_PLAN_ID + public_identification_value: '626249048387247512' + last_accessed_at: '2021-03-09T08:19:05.000Z' + credit_data: null + loan_data: null + funds_data: + - collected_at: '2022-02-09T08:45:50.406032Z' + name: CICLO DE VIDA 2040 I + type: PGBL + balance: 94793 + percentage: 9 + public_identifications: + - name: CNPJ + value: 11.233.333/4424-01 + - name: SUSEP + value: 13311.2333222/3333-44 + - collected_at: '2022-02-09T08:45:50.406032Z' + name: CICLO DE VIDA 2020 I + type: PGBL + balance: 50834 + percentage: 91 + public_identifications: + - name: CNPJ + value: 11.222.333/4444-02 + - name: SUSEP + value: 11111.222222/3333-44 + AccountsBankingSavings: + summary: Savings Account + description: Example of a savings account. + value: + - id: 3d5b0f90-90df-455d-a647-5b74feb746f6X + link: fbbb5ea7-4605-437f-b5c5-667fd037a303 + institution: + name: erebor_co_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: SAVINGS_ACCOUNT + balance_type: ASSET + type: Cuenta de Ahorro + name: Cuenta de Ahorro + number: '13166008' + balance: + available: 4978436.05 + current: 4978436.05 + currency: COP + bank_product_id: null + internal_identification: null + public_identification_name: ACCOUNT_NUMBER + public_identification_value: '260825906' + last_accessed_at: '2021-03-09T10:28:40.000Z' + credit_data: null + loan_data: null + funds_data: null + AccountsOfdaChecking: + summary: Checking OFDA Brazil + description: Example of an checking account (OFDA Brazil). + value: + - id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CHECKING_ACCOUNT + balance_type: ASSET + overdraft: + used: 10000.99 + arranged: 99.99 + unarranged: 99.99 + type: CONTA_DEPOSITO_A_VISTA + subtype: INDIVIDUAL + name: null + number: '11188222' + agency: '6272' + check_digit: '4' + balance: + current: 999.99 + available: 15000 + blocked: 41233.07 + automatically_invested: 15000 + currency: BRL + public_identification_name: AGENCY/NUMBER + public_identification_value: 6272/11188222 + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: null + funds_data: null + AccountsOfdaCreditCard: + summary: Credit Card OFDA Brazil + description: Example of an credit card account (OFDA Brazil). + value: + - id: 0d3ffb69-f83b-456e-ad8e-208d0998d71dX + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CREDIT_CARD + balance_type: LIABILITY + overdraft: null + type: GRAFITE + subtype: Dinners Elo Grafite + name: Dinners Grafite + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 60.32 + automatically_invested: 131.5 + currency: BRL + public_identification_name: CREDIT_CARD_NUMBER + public_identification_value: '8921' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: + cards: + - is_multiple: false + identification_number: '8921' + limits: + - type: LIMITE_CREDITO_TOTAL + line_name: CREDITO_A_VISTA + card_number: '8921' + used_amount: 7500.05 + credit_limit: 23000.98 + available_amount: 15500.93 + is_limit_flexible: true + consolidation_type: CONSOLIDADO + line_name_additional_info: NA + network: DINERS_CLUB + collected_at: '2023-07-24T00:46:24.431038Z' + credit_limit: 23000.98 + cutting_date: null + interest_rate: null + minimum_payment: 0 + monthly_payment: null + last_payment_date: null + next_payment_date: null + last_period_balance: null + no_interest_payment: null + network_additional_info: null + loan_data: null + funds_data: null + AccountsOfdaLoanData: + summary: Loan OFDA Brazil + description: Example of an loan account (OFDA Brazil). + value: + - id: 0d3ffb69-f83b-456e-ad8e-208d0998d71dX + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: LOAN_ACCOUNT + balance_type: LIABILITY + overdraft: null + type: EMPRESTIMOS + subtype: CREDITO_PESSOAL_SEM_CONSIGNACAO + name: Aquisição de equipamentos + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 0 + automatically_invested: 0 + currency: BRL + public_identification_name: NUMBER + public_identification_value: '90847453264' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: + fees: + - code: ADMNISTRACAO + name: Taxa de administracao + rate: 0 + type: null + value: 200.5 + fee_charge: FIXED + fee_charge_type: SINGLE + loan_code: '01181521040211011740907325668478542336597' + loan_type: CREDITO_PESSOAL_SEM_CONSIGNACAO + principal: null + limit_date: null + collaterals: + - type: CESSAO_DIREITOS_CREDITORIOS + amount: 15000.31 + subtype: ACOES_DEBENTURES + currency: BRL + cutting_day: null + payment_day: null + collected_at: '2023-07-24T00:46:44.756806Z' + consignee_id: '13832718000196' + credit_limit: null + cutting_date: null + interest_rate: null + interest_rates: + - name: NOMINAL + type: YEARLY + value: 0.015 + interest_rate_data: + type: AA + tax_type: NOMINAL_TAX + rate_type: SIMPLE_RATE + pre_fixed_rate: 0.015 + additional_info: NA + post_fixed_rate: 0 + calculation_base: 21/252 + reference_index_info: null + reference_index_type: PRE_FIXED + reference_index_subtype: PRE_FIXADO + contract_amount: 12070.6 + contract_number: '90847453264' + monthly_payment: null + payment_due_day: null + settlement_date: '2021-06-21' + balloon_payments: + - amount: 0 + currency: BRL + due_date: '2020-01-10' + contract_end_date: '2023-01-08' + last_payment_date: null + next_payment_date: null + contracted_charges: + - info: NA + rate: 0.06 + type: LATE_PAYMENT_PENALTY_FEE + disbursement_dates: + - '2022-01-08' + contract_start_date: '2022-01-08' + last_period_balance: null + no_interest_payment: null + outstanding_balance: 14402.379 + total_effective_cost: 0.015 + amortization_schedule: PRICE + installment_frequency: OTHER + outstanding_principal: null + contract_remaining_total: 727 + amortization_schedule_info: NA + first_installment_due_date: '2022-01-08' + installment_frequency_info: DIA + number_of_installments_paid: 3 + contract_remaining_frequency: DAY + number_of_installments_total: 730 + number_of_installments_past_due: 1 + number_of_installments_outstanding: 727 + installments_contract_term_frequency: DAY + funds_data: null + AccountsOfdaCheckingDetail: + summary: Checking OFDA Brazil + description: Example of an checking account (OFDA Brazil). + value: + id: 0d3ffb69-f83b-456e-ad8e-208d0998d71dX + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CHECKING_ACCOUNT + balance_type: ASSET + overdraft: + used: 10000.99 + arranged: 99.99 + unarranged: 99.99 + type: CONTA_DEPOSITO_A_VISTA + subtype: INDIVIDUAL + name: null + number: '11188222' + agency: '6272' + check_digit: '4' + balance: + current: 999.99 + available: 15000 + blocked: 41233.07 + automatically_invested: 15000 + currency: BRL + public_identification_name: AGENCY/NUMBER + public_identification_value: 6272/11188222 + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: null + funds_data: null + AccountsOfdaCreditCardDetail: + summary: Credit Card OFDA Brazil + description: Example of an credit card account (OFDA Brazil). + value: + id: 0d3ffb69-f83b-456e-ad8e-208d0998d71dX + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CREDIT_CARD + balance_type: LIABILITY + overdraft: null + type: GRAFITE + subtype: Dinners Elo Grafite + name: Dinners Grafite + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 60.32 + automatically_invested: 131.5 + currency: BRL + public_identification_name: CREDIT_CARD_NUMBER + public_identification_value: '8921' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: + cards: + - is_multiple: false + identification_number: '8921' + limits: + - type: LIMITE_CREDITO_TOTAL + line_name: CREDITO_A_VISTA + card_number: '8921' + used_amount: 7500.05 + credit_limit: 23000.98 + available_amount: 15500.93 + is_limit_flexible: true + consolidation_type: CONSOLIDADO + line_name_additional_info: NA + network: DINERS_CLUB + collected_at: '2023-07-24T00:46:24.431038Z' + credit_limit: 23000.98 + cutting_date: null + interest_rate: null + minimum_payment: 0 + monthly_payment: null + last_payment_date: null + next_payment_date: null + last_period_balance: null + no_interest_payment: null + network_additional_info: null + loan_data: null + funds_data: null + AccountsOfdaLoanDataDetail: + summary: Loan OFDA Brazil + description: Example of an loan account (OFDA Brazil). + value: + id: 0d3ffb69-f83b-456e-ad8e-208d0998d71dX + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: LOAN_ACCOUNT + balance_type: LIABILITY + overdraft: null + type: EMPRESTIMOS + subtype: CREDITO_PESSOAL_SEM_CONSIGNACAO + name: Aquisição de equipamentos + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 0 + automatically_invested: 0 + currency: BRL + public_identification_name: NUMBER + public_identification_value: '90847453264' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: + fees: + - code: ADMNISTRACAO + name: Taxa de administracao + rate: 0 + type: null + value: 200.5 + fee_charge: FIXED + fee_charge_type: SINGLE + loan_code: '01181521040211011740907325668478542336597' + loan_type: CREDITO_PESSOAL_SEM_CONSIGNACAO + principal: null + limit_date: null + collaterals: + - type: CESSAO_DIREITOS_CREDITORIOS + amount: 15000.31 + subtype: ACOES_DEBENTURES + currency: BRL + cutting_day: null + payment_day: null + collected_at: '2023-07-24T00:46:44.756806Z' + consignee_id: '13832718000196' + credit_limit: null + cutting_date: null + interest_rate: null + interest_rates: + - name: NOMINAL + type: YEARLY + value: 0.015 + interest_rate_data: + type: AA + tax_type: NOMINAL_TAX + rate_type: SIMPLE_RATE + pre_fixed_rate: 0.015 + additional_info: NA + post_fixed_rate: 0 + calculation_base: 21/252 + reference_index_info: null + reference_index_type: PRE_FIXED + reference_index_subtype: PRE_FIXADO + contract_amount: 12070.6 + contract_number: '90847453264' + monthly_payment: null + payment_due_day: null + settlement_date: '2021-06-21' + balloon_payments: + - amount: 0 + currency: BRL + due_date: '2020-01-10' + contract_end_date: '2023-01-08' + last_payment_date: null + next_payment_date: null + contracted_charges: + - info: NA + rate: 0.06 + type: LATE_PAYMENT_PENALTY_FEE + disbursement_dates: + - '2022-01-08' + contract_start_date: '2022-01-08' + last_period_balance: null + no_interest_payment: null + outstanding_balance: 14402.379 + total_effective_cost: 0.015 + amortization_schedule: PRICE + installment_frequency: OTHER + outstanding_principal: null + contract_remaining_total: 727 + amortization_schedule_info: NA + first_installment_due_date: '2022-01-08' + installment_frequency_info: DIA + number_of_installments_paid: 3 + contract_remaining_frequency: DAY + number_of_installments_total: 730 + number_of_installments_past_due: 1 + number_of_installments_outstanding: 727 + installments_contract_term_frequency: DAY + funds_data: null + TransactionsCheckingPaginated: + summary: Checking Account Transaction + description: An example of a checking account transaction + value: + count: 198 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - description: Transferencia interbancaria + id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: CUENTA NARANJA LITE + + number: '996685090015' + type: CUENTA NARANJA LITE + + category: CHECKING_ACCOUNT + bank_product_id: '46' + public_identification_name: CLABE + public_identification_value: '058597000010485108' + currency: MXN + balance: + current: 0 + available: 0 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 932.5 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: '085904452810319225' + value_date: '2022-07-11' + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: LCzHexIyHi + TransactionsSavingsPaginated: + summary: Savings Account Transaction + description: An example of a savings account transaction + value: + count: 198 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - description: Interes + id: e5588958-48f2-427c-9300-945207532f5dX + account: + id: 02589c41-ba22-4d44-8558-8111cc751318X + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: Mi ahorro Erebor + number: '997468860036' + type: null + category: SAVINGS_ACCOUNT + bank_product_id: null + public_identification_name: CLABE + public_identification_value: '058597000011543422' + currency: MXN + balance: + current: 4.09 + available: 4.09 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 4.09 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: null + value_date: '2022-07-11' + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: '0089608418' + TransactionsCreditCardPaginated: + summary: Credit Card Transaction + description: An example of a credit card transaction + value: + count: 198 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - description: SEVEN BUDDHAS RFC:XXXXXXXXXX + account: + id: 02589c41-ba22-4d44-8558-8111cc751318X + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + current: 5874.13 + available: 5621.12 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2021-03-09T10:28:40.000Z' + balance_type: LIABILITY + credit_data: + credit_limit: 192000 + collected_at: '2022-02-09T08:45:50.406032Z' + cutting_date: '2019-12-11' + next_payment_date: '2019-12-01' + minimum_payment: 2400 + no_interest_payment: 37390.83 + monthly_payment: null + end_date: null + last_payment_date: null + interest_rate: 4 + loan_data: null + funds_data: null + collected_at: '2022-02-09T08:45:50.406032Z' + value_date: '2019-10-23' + accounting_date: '2019-10-23T13:01:41.941Z' + amount: 2145.45 + balance: 16907.96 + currency: MXN + observations: OPTIONAL OBSERVATIONS + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + reference: '8703' + type: OUTFLOW + status: PROCESSED + credit_card_data: + bill_name: apr-2020 + previous_bill_total: '2000.00' + collected_at: '2022-02-09T08:45:50.406032Z' + TransactionsChecking: + summary: Checking Account Transaction + description: An example of a checking account transaction + value: + - description: Transferencia interbancaria + id: e5588958-48f2-427c-9300-945207532f5dX + account: + id: 02589c41-ba22-4d44-8558-8111cc751318X + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: CUENTA NARANJA LITE + + number: '996685090015' + type: CUENTA NARANJA LITE + + category: CHECKING_ACCOUNT + bank_product_id: '46' + public_identification_name: CLABE + public_identification_value: '058597000010485108' + currency: MXN + balance: + current: 0 + available: 0 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 932.5 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: '085904452810319225' + value_date: '2022-07-11' + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: LCzHexIyHi + TransactionsSavings: + summary: Savings Account Transaction + description: An example of a savings account transaction + value: + - description: Interes + id: e5588958-48f2-427c-9300-945207532f5dX + account: + id: 02589c41-ba22-4d44-8558-8111cc751318X + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: Mi ahorro Erebor + number: '997468860036' + type: null + category: SAVINGS_ACCOUNT + bank_product_id: null + public_identification_name: CLABE + public_identification_value: '058597000011543422' + currency: MXN + balance: + current: 4.09 + available: 4.09 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 4.09 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: null + value_date: '2022-07-11' + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: '0089608418' + TransactionsCreditCard: + summary: Credit Card Transaction + description: An example of a credit card transaction + value: + - description: SEVEN BUDDHAS RFC:XXXXXXXXXX + id: 9e432f18-36ca-4bd6-a3f3-1971e58dc1e8 + account: + id: 02589c41-ba22-4d44-8558-8111cc751318X + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + current: 5874.13 + available: 5621.12 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2021-03-09T10:28:40.000Z' + balance_type: LIABILITY + credit_data: + credit_limit: 192000 + collected_at: '2022-02-09T08:45:50.406032Z' + cutting_date: '2019-12-11' + next_payment_date: '2019-12-01' + minimum_payment: 2400 + no_interest_payment: 37390.83 + monthly_payment: null + end_date: null + last_payment_date: null + interest_rate: 4 + loan_data: null + funds_data: null + collected_at: '2022-02-09T08:45:50.406032Z' + value_date: '2019-10-23' + accounting_date: '2019-10-23T13:01:41.941Z' + amount: 2145.45 + balance: 16907.96 + currency: MXN + observations: OPTIONAL OBSERVATIONS + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + reference: '8703' + type: OUTFLOW + status: PROCESSED + credit_card_data: + bill_name: apr-2020 + previous_bill_total: '2000.00' + collected_at: '2022-02-09T08:45:50.406032Z' + TransactionsCheckingOfda: + summary: Transaction OFDA Brazil (Checking) + description: Example of an checking account transaction (OFDA Brazil). + value: + - description: PIX EMITIDO OUTRA IF + id: 2ccf4372-a091-403e-bc00-3afeec91419b + account: + id: 73f52d7c-49ea-4903-8e91-764eb05c4f8c + link: a288f663-92dd-4a57-8a36-a00c192822dd + institution: + name: oferebor_br_retail + type: bank + created_at: '2023-11-07T13:13:10.781520Z' + collected_at: '2023-11-07T13:13:07.707609Z' + internal_identification: 6C9b3e7f09d8a411e982fbb2e6f5a3d77acbf15e8b9473629d9f78 + category: CHECKING_ACCOUNT + bank_product_id: null + balance_type: ASSET + credit_data: null + loan_data: null + balance: + current: 360 + available: 360 + automatically_invested: 360 + name: null + number: '09009570' + agency: '7632' + type: CONTA_DEPOSITO_A_VISTA + currency: BRL + last_accessed_at: null + public_identification_name: AGENCY/NUMBER + public_identification_value: 7632/09009570 + subtype: INDIVIDUAL + check_digit: '9' + overdraft: + arranged: '0.0000' + used: '0.0000' + unarranged: '0.0000' + created_at: '2023-11-01T16:16:37.910619Z' + category: null + subcategory: null + merchant: null + mcc: null + type: OUTFLOW + amount: 100 + status: PROCESSED + balance: null + currency: BRL + reference: null + value_date: '2023-09-21' + transacted_at: '2023-09-21T12:29:03.374Z' + collected_at: '2023-11-07T13:13:10.350717Z' + counterparty: + document_number: '32187940563' + type: INDIVIDUAL + clearing_code: '160' + agency: '3201' + number: '73916428' + check_digit: '4' + observations: null + payment_type: null + operation_type: OUTROS + operation_type_additional_info: null + accounting_date: '2023-09-21' + credit_card_data: null + local_currency_amount: null + internal_identification: 15a1498f-392e-4cb7-9f63-0e06ac827794 + TransactionsCheckingDetail: + summary: Checking Account Transaction + description: An example of a checking account transaction + value: + description: Transferencia interbancaria + id: e5588958-48f2-427c-9300-945207532f5dX + account: + id: 02589c41-ba22-4d44-8558-8111cc751318X + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: CUENTA NARANJA LITE + + number: '996685090015' + type: CUENTA NARANJA LITE + + category: CHECKING_ACCOUNT + bank_product_id: '46' + public_identification_name: CLABE + public_identification_value: '058597000010485108' + currency: MXN + balance: + current: 0 + available: 0 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 932.5 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: '085904452810319225' + value_date: '2022-07-11' + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: LCzHexIyHi + TransactionsSavingsDetail: + summary: Savings Account Transaction + description: An example of a savings account transaction + value: + description: Interes + id: e5588958-48f2-427c-9300-945207532f5dX + account: + id: 02589c41-ba22-4d44-8558-8111cc751318X + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: Mi ahorro Erebor + number: '997468860036' + type: null + category: SAVINGS_ACCOUNT + bank_product_id: null + public_identification_name: CLABE + public_identification_value: '058597000011543422' + currency: MXN + balance: + current: 4.09 + available: 4.09 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 4.09 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: null + value_date: '2022-07-11' + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: '0089608418' + TransactionsCreditCardDetail: + summary: Credit Card Transaction + description: An example of a credit card transaction + value: + description: SEVEN BUDDHAS RFC:XXXXXXXXXX + id: 9e432f18-36ca-4bd6-a3f3-1971e58dc1e8X + account: + id: 02589c41-ba22-4d44-8558-8111cc751318X + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + current: 5874.13 + available: 5621.12 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2021-03-09T10:28:40.000Z' + balance_type: LIABILITY + credit_data: + credit_limit: 192000 + collected_at: '2022-02-09T08:45:50.406032Z' + cutting_date: '2019-12-11' + next_payment_date: '2019-12-01' + minimum_payment: 2400 + no_interest_payment: 37390.83 + monthly_payment: null + end_date: null + last_payment_date: null + interest_rate: 4 + loan_data: null + funds_data: null + collected_at: '2022-02-09T08:45:50.406032Z' + value_date: '2019-10-23' + accounting_date: '2019-10-23T13:01:41.941Z' + amount: 2145.45 + balance: 16907.96 + currency: MXN + observations: OPTIONAL OBSERVATIONS + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + category: Income & Payments + subcategory: Freelance + reference: '8703' + type: OUTFLOW + status: PROCESSED + credit_card_data: + bill_name: apr-2020 + previous_bill_total: '2000.00' + collected_at: '2022-02-09T08:45:50.406032Z' + TransactionsCheckingOfdaDetail: + summary: Transaction OFDA Brazil (Checking) + description: Example of an checking account transaction (OFDA Brazil). + value: + description: PIX EMITIDO OUTRA IF + id: 2ccf4372-a091-403e-bc00-3afeec91419bX + account: + id: 73f52d7c-49ea-4903-8e91-764eb05c4f8cX + link: a288f663-92dd-4a57-8a36-a00c192822dd + institution: + name: oferebor_br_retail + type: bank + created_at: '2023-11-07T13:13:10.781520Z' + collected_at: '2023-11-07T13:13:07.707609Z' + internal_identification: 6C9b3e7f09d8a411e982fbb2e6f5a3d77acbf15e8b9473629d9f78 + category: CHECKING_ACCOUNT + bank_product_id: null + balance_type: ASSET + credit_data: null + loan_data: null + balance: + current: 360 + available: 360 + automatically_invested: 360 + name: null + number: '09009570' + agency: '7632' + type: CONTA_DEPOSITO_A_VISTA + currency: BRL + last_accessed_at: null + public_identification_name: AGENCY/NUMBER + public_identification_value: 7632/09009570 + subtype: INDIVIDUAL + check_digit: '9' + overdraft: + arranged: '0.0000' + used: '0.0000' + unarranged: '0.0000' + created_at: '2023-11-01T16:16:37.910619Z' + category: null + subcategory: null + merchant: null + mcc: null + type: OUTFLOW + amount: 100 + status: PROCESSED + balance: null + currency: BRL + reference: null + value_date: '2023-09-21' + collected_at: '2023-11-07T13:13:10.350717Z' + counterparty: + document_number: '32187940563' + type: INDIVIDUAL + clearing_code: '160' + agency: '3201' + number: '73916428' + check_digit: '4' + observations: null + payment_type: null + operation_type: OUTROS + operation_type_additional_info: null + accounting_date: '2023-09-21' + credit_card_data: null + local_currency_amount: null + internal_identification: 15a1498f-392e-4cb7-9f63-0e06ac827794 + BalancesExamplePaginated: + summary: Balance Example (Checking Account) + description: Example of a balance paginated response. + value: + count: 385 + next: https://sandbox.belvo.com/api/balances/?page=2 + previous: null + results: + - id: b834e69b-1aa4-465d-969c-07c886a4fbed + account: + id: 26428311-7108-40b8-a22b-c310187dd005 + link: b834e69b-1aa4-465d-969c-07c886a4fbed + institution: + name: erebor_br_retail + type: bank + created_at: '2021-10-27T16:18:15.591647Z' + name: Erebor Gold + type: null + number: 7889044-1 + balance: + current: 146.81 + available: 146.81 + category: CHECKING_ACCOUNT + currency: BRL + loan_data: null + credit_data: null + balance_type: ASSET + collected_at: '2022-06-17T03:20:41.300075Z' + bank_product_id: null + last_accessed_at: null + internal_identification: 9fa5fab9-e2b7-4bd7-8413-71ed9bb94b4c + public_identification_name: AGENCY/ACCOUNT + public_identification_value: 0009/7889044-1 + collected_at: '2022-04-06T23:30:51.282174+00:00' + statement: null + value_date: '2022-04-04' + current_balance: 4.25 + balance: 4.25 + BalancesExample: + summary: Balance Example (Checking Account) + description: Example of a balance response. + value: + - id: b834e69b-1aa4-465d-969c-07c886a4fbedX + account: + id: 26428311-7108-40b8-a22b-c310187dd005X + link: b834e69b-1aa4-465d-969c-07c886a4fbed + institution: + name: erebor_br_retail + type: bank + created_at: '2021-10-27T16:18:15.591647Z' + name: Erebor Gold + type: null + number: 7889044-1 + balance: + current: 146.81 + available: 146.81 + category: CHECKING_ACCOUNT + currency: BRL + loan_data: null + credit_data: null + balance_type: ASSET + collected_at: '2022-06-17T03:20:41.300075Z' + bank_product_id: null + last_accessed_at: null + internal_identification: 9fa5fab9-e2b7-4bd7-8413-71ed9bb94b4c + public_identification_name: AGENCY/ACCOUNT + public_identification_value: 0009/7889044-1 + collected_at: '2022-04-06T23:30:51.282174+00:00' + statement: null + value_date: '2022-04-04' + current_balance: 4.25 + balance: 4.25 + BalancesExampleDetail: + summary: Balance Example (Checking Account) + description: Example of a balance response. + value: + id: b834e69b-1aa4-465d-969c-07c886a4fbedX + account: + id: 26428311-7108-40b8-a22b-c310187dd005X + link: b834e69b-1aa4-465d-969c-07c886a4fbed + institution: + name: erebor_br_retail + type: bank + created_at: '2021-10-27T16:18:15.591647Z' + name: Erebor Gold + type: null + number: 7889044-1 + balance: + current: 146.81 + available: 146.81 + category: CHECKING_ACCOUNT + currency: BRL + loan_data: null + credit_data: null + balance_type: ASSET + collected_at: '2022-06-17T03:20:41.300075Z' + bank_product_id: null + last_accessed_at: null + internal_identification: 9fa5fab9-e2b7-4bd7-8413-71ed9bb94b4c + public_identification_name: AGENCY/ACCOUNT + public_identification_value: 0009/7889044-1 + collected_at: '2022-04-06T23:30:51.282174+00:00' + statement: null + value_date: '2022-04-04' + current_balance: 4.25 + balance: 4.25 + OwnerBankingAccountPaginated: + summary: Banking + description: An example of a banking account owner. + value: + count: 108 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: b617120c-fbd0-4296-b03c-6473bbbeeee6 + link: c38fb126-fc98-4d6c-8c80-587a97dd56cf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + display_name: Maria Martinez Martin + first_name: null + last_name: null + second_last_name: null + email: maria@acme.com + phone_number: '90090508357' + address: |- + Retorno Gran Canaria 453 723 + Cancun, COL 10447 + document_id: + document_type: CPF + document_number: 235578435-S + internal_identification: null + OwnerBankingAccount: + summary: Banking + description: An example of a banking account owner. + value: + - id: 2b22f123-7c3a-4518-9ac2-863eb5d4613c + link: c38fb126-fc98-4d6c-8c80-587a97dd56cf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + display_name: Maria Martinez Martin + first_name: null + last_name: null + second_last_name: null + email: maria@acme.com + phone_number: '90090508357' + address: |- + Retorno Gran Canaria 453 723 + Cancun, COL 10447 + document_id: + document_type: CPF + document_number: 235578435-S + internal_identification: null + OwnerOfdaIndividual: + summary: Individual OFDA Brazil + description: Example of an individual (OFDA Brazil). + value: + - id: c749315b-eec2-435d-a458-06912878564f + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + display_name: Jack Oswald White + social_name: O Piadista + birth_date: '1988-07-15' + marital_status: SINGLE + marital_status_additional_info: It's complicated + gender: MALE + companies_id: + - '01773247000103' + is_local_resident: true + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: DRIVERS_LICENCE + type_additional_info: Learner's licence + number: DL-7896829-7 + check_digit: '7' + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + nationalities: + - info: CAN + documents: + - type: DRIVERS_LICENCE + number: DL-7896829-7 + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + filiations: + - type: MOTHER + civil_name: Bruce Wayne + social_name: The Dark Knight + financial_profile: + company_id: '50685362000135' + occuptation_code: BRAZIL_OCCUPATION_CODE + occupation_description: '01' + informed_income: + frequency: MONTHLY + amount: 45391.89 + currency: BRL + date: '2020-03-19' + patrimony: + amount: 45391.89 + currency: BRL + year: 2020 + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + product_services_additional_info: Joint account with Robin + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + OwnerOfdaBusiness: + summary: Business OFDA Brazil + description: Example of a business (OFDA Brazil). + value: + - id: c749315b-eec2-435d-a458-06912878564fX + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + company_name: Wayne Enterprises + trade_name: WayneCorp + incorporation_date: '1988-07-15' + companies_id: + - '01773247000103' + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: EIN + number: DL-7896829-7 + expiration_date: '2019-01-01' + country_of_issuance: CAN + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + parties: + - person_type: INDIVIDUAL + type: MEMBER + display_name: Jack Oswald White + social_name: O Piadista + company_name: Wayne Enterprises + trade_name: WayneCorp + start_date: '2021-07-15' + percentage_type: 0.51 + document_type: CPF + document_number: DL-7896829-7 + document_issue_date: '2019-01-01' + document_expiration_date: '2019-01-01' + document_country: CAN + document_additional_info: Confirmed CPF with their driver's licence. + financial_profile: + economic_activities: + - is_main: true + code: '8599604' + informed_revenue: + frequency: MONTHLY + frequency_additional_info: Recently switched from weekly to monthly. + amount: 45391.89 + currency: BRL + year: 2022 + patrimony: + amount: 45391.89 + currency: BRL + date: '2022-12-12' + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + OwnerBankingAccountDetail: + summary: Banking + description: An example of a banking account owner. + value: + id: 2b22f123-7c3a-4518-9ac2-863eb5d4613cX + link: c38fb126-fc98-4d6c-8c80-587a97dd56cf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + display_name: Maria Martinez Martin + first_name: null + last_name: null + second_last_name: null + email: maria@acme.com + phone_number: '90090508357' + address: |- + Retorno Gran Canaria 453 723 + Cancun, COL 10447 + document_id: + document_type: CPF + document_number: 235578435-S + internal_identification: null + OwnerOfdaIndividuaDetail: + summary: Individual OFDA Brazil + description: Example of an individual (OFDA Brazil). + value: + id: c749315b-eec2-435d-a458-06912878564fX + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + display_name: Jack Oswald White + social_name: O Piadista + birth_date: '1988-07-15' + marital_status: SINGLE + marital_status_additional_info: It's complicated + gender: MALE + companies_id: + - '01773247000103' + is_local_resident: true + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: DRIVERS_LICENCE + type_additional_info: Learner's licence + number: DL-7896829-7 + check_digit: '7' + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + nationalities: + - info: CAN + documents: + - type: DRIVERS_LICENCE + number: DL-7896829-7 + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + filiations: + - type: MOTHER + civil_name: Bruce Wayne + social_name: The Dark Knight + financial_profile: + company_id: '50685362000135' + occuptation_code: BRAZIL_OCCUPATION_CODE + occupation_description: '01' + informed_income: + frequency: MONTHLY + amount: 45391.89 + currency: BRL + date: '2020-03-19' + patrimony: + amount: 45391.89 + currency: BRL + year: 2020 + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + product_services_additional_info: Joint account with Robin + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + OwnerOfdaBusinessDetail: + summary: Business OFDA Brazil + description: Example of a business (OFDA Brazil). + value: + id: c749315b-eec2-435d-a458-06912878564fX + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + company_name: Wayne Enterprises + trade_name: WayneCorp + incorporation_date: '1988-07-15' + companies_id: + - '01773247000103' + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: EIN + number: DL-7896829-7 + expiration_date: '2019-01-01' + country_of_issuance: CAN + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + parties: + - person_type: INDIVIDUAL + type: MEMBER + display_name: Jack Oswald White + social_name: O Piadista + company_name: Wayne Enterprises + trade_name: WayneCorp + start_date: '2021-07-15' + percentage_type: 0.51 + document_type: CPF + document_number: DL-7896829-7 + document_issue_date: '2019-01-01' + document_expiration_date: '2019-01-01' + document_country: CAN + document_additional_info: Confirmed CPF with their driver's licence. + financial_profile: + economic_activities: + - is_main: true + code: '8599604' + informed_revenue: + frequency: MONTHLY + frequency_additional_info: Recently switched from weekly to monthly. + amount: 45391.89 + currency: BRL + year: 2022 + patrimony: + amount: 45391.89 + currency: BRL + date: '2022-12-12' + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + InvoiceIngresoPaginated: + summary: Invoice Ingreso + description: Example of an *Igreso* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - version: '3.3' + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Ingreso + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + invoice_details: + - description: Servicios de mensajería. + product_identification: '78102206' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoicePagoPaginated: + summary: Invoice Pago + description: Example of a *Pago* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - version: '3.3' + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cbX + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Pago + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: P01 + place_of_issue: '11000' + invoice_details: + - description: Pago + product_identification: '84111506' + quantity: 1 + unit_amount: 0 + unit_code: ACT + unit_description: null + pre_tax_amount: 0 + tax_percentage: 0 + tax_amount: 0 + total_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: null + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: + - date: '2020-03-17T12:00:00.000Z' + payment_type: '03' + currency: BRL + exchange_rate: '3.75' + amount: 8000.5 + operation_number: '831840' + beneficiary_rfc: BNM840515VB1 + beneficiary_account_number: '12343453245633' + payer_rfc: BKJM840515VB1 + payer_account_number: '13343663245699' + payer_bank_name: CITI BANAMEX + related_documents: + - invoice_identification: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: MXN + payment_method: PPD + previous_balance: 18877.84 + amount_paid: 8000 + outstanding_balance: 10877.84 + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceNominaPaginated: + summary: Invoice Nomina + description: Example of a *Nomina* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - version: '3.3' + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cbX + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Nómina + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: Roberto Martinez Diaz + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '99' + payment_type_description: null + payment_method: PUE + usage: P01 + place_of_issue: '11000' + invoice_details: + - description: Pago de nómina + product_identification: '84111505' + quantity: 1 + unit_code: ACT + unit_description: null + unit_amount: 20400.1 + total_amount: 20400.1 + pre_tax_amount: 20400.1 + tax_percentage: 0 + tax_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 20400.1 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 5000 + total_amount: 15400.1 + payments: [] + payroll: + version: '1.2' + days: 30 + type: O + amount: 20400.1 + date_to: '2020-12-31' + date_from: '2020-12-01' + collected_at: '2022-02-09T08:45:50.406032Z' + payment_date: '2020-12-24' + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceEgresoPaginated: + summary: Invoice Egreso + description: Example of an *Egreso* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - version: '3.3' + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cbX + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Egreso + type: INFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + invoice_details: + - description: Reembolso del servicio + product_identification: '78111500' + unit_code: E48 + unit_description: Unidad de servicio + quantity: 1 + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceTrasladoPaginated: + summary: Invoice Traslado + description: Example of a *Traslado* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - version: '3.3' + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cbX + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Traslado + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: CARGOS S.A. DE C.V. + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: G03 + place_of_issue: '11000' + invoice_details: + - description: FLETE + product_identification: '78101802' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 21000 + pre_tax_amount: 21000 + tax_percentage: 16 + tax_amount: 0 + total_amount: 21000 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceIngreso: + summary: Invoice Ingreso + description: Example of an *Igreso* type invoice. + value: + - version: '3.3' + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cbX + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Ingreso + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + invoice_details: + - description: Servicios de mensajería. + product_identification: '78102206' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoicePago: + summary: Invoice Pago + description: Example of a *Pago* type invoice. + value: + - version: '3.3' + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cbX + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Pago + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: P01 + place_of_issue: '11000' + invoice_details: + - description: Pago + product_identification: '84111506' + quantity: 1 + unit_amount: 0 + unit_code: ACT + unit_description: null + pre_tax_amount: 0 + tax_percentage: 0 + tax_amount: 0 + total_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: null + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: + - date: '2020-03-17T12:00:00.000Z' + payment_type: '03' + currency: BRL + exchange_rate: '3.75' + amount: 8000.5 + operation_number: '831840' + beneficiary_rfc: BNM840515VB1 + beneficiary_account_number: '12343453245633' + payer_rfc: BKJM840515VB1 + payer_account_number: '13343663245699' + payer_bank_name: CITI BANAMEX + related_documents: + - invoice_identification: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: MXN + payment_method: PPD + previous_balance: 18877.84 + amount_paid: 8000 + outstanding_balance: 10877.84 + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceNomina: + summary: Invoice Nomina + description: Example of a *Nomina* type invoice. + value: + - version: '3.3' + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cbX + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Nómina + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: Roberto Martinez Diaz + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '99' + payment_type_description: null + payment_method: PUE + usage: P01 + place_of_issue: '11000' + invoice_details: + - description: Pago de nómina + product_identification: '84111505' + quantity: 1 + unit_code: ACT + unit_description: null + unit_amount: 20400.1 + total_amount: 20400.1 + pre_tax_amount: 20400.1 + tax_percentage: 0 + tax_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 20400.1 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 5000 + total_amount: 15400.1 + payments: [] + payroll: + version: '1.2' + days: 30 + type: O + amount: 20400.1 + date_to: '2020-12-31' + date_from: '2020-12-01' + collected_at: '2022-02-09T08:45:50.406032Z' + payment_date: '2020-12-24' + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceEgreso: + summary: Invoice Egreso + description: Example of an *Egreso* type invoice. + value: + - version: '3.3' + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cbX + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Egreso + type: INFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + invoice_details: + - description: Reembolso del servicio + product_identification: '78111500' + unit_code: E48 + unit_description: Unidad de servicio + quantity: 1 + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceTraslado: + summary: Invoice Traslado + description: Example of a *Traslado* type invoice. + value: + - version: '3.3' + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cbX + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Traslado + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: CARGOS S.A. DE C.V. + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: G03 + place_of_issue: '11000' + invoice_details: + - description: FLETE + product_identification: '78101802' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 21000 + pre_tax_amount: 21000 + tax_percentage: 16 + tax_amount: 0 + total_amount: 21000 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceIngresoDetail: + summary: Invoice Ingreso + description: Example of an *Igreso* type invoice. + value: + version: '3.3' + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cbX + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Ingreso + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + invoice_details: + - description: Servicios de mensajería. + product_identification: '78102206' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoicePagoDetail: + summary: Invoice Pago + description: Example of a *Pago* type invoice. + value: + version: '3.3' + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cbX + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Pago + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: P01 + place_of_issue: '11000' + invoice_details: + - description: Pago + product_identification: '84111506' + quantity: 1 + unit_amount: 0 + unit_code: ACT + unit_description: null + pre_tax_amount: 0 + tax_percentage: 0 + tax_amount: 0 + total_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: null + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: + - date: '2020-03-17T12:00:00.000Z' + payment_type: '03' + currency: BRL + exchange_rate: '3.75' + amount: 8000.5 + operation_number: '831840' + beneficiary_rfc: BNM840515VB1 + beneficiary_account_number: '12343453245633' + payer_rfc: BKJM840515VB1 + payer_account_number: '13343663245699' + payer_bank_name: CITI BANAMEX + related_documents: + - invoice_identification: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: MXN + payment_method: PPD + previous_balance: 18877.84 + amount_paid: 8000 + outstanding_balance: 10877.84 + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceNominaDetail: + summary: Invoice Nomina + description: Example of a *Nomina* type invoice. + value: + version: '3.3' + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cbX + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Nómina + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: Roberto Martinez Diaz + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '99' + payment_type_description: null + payment_method: PUE + usage: P01 + place_of_issue: '11000' + invoice_details: + - description: Pago de nómina + product_identification: '84111505' + quantity: 1 + unit_code: ACT + unit_description: null + unit_amount: 20400.1 + total_amount: 20400.1 + pre_tax_amount: 20400.1 + tax_percentage: 0 + tax_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 20400.1 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 5000 + total_amount: 15400.1 + payments: [] + payroll: + version: '1.2' + days: 30 + type: O + amount: 20400.1 + date_to: '2020-12-31' + date_from: '2020-12-01' + collected_at: '2022-02-09T08:45:50.406032Z' + payment_date: '2020-12-24' + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceEgresoDetail: + summary: Invoice Egreso + description: Example of an *Egreso* type invoice. + value: + version: '3.3' + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cbX + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Egreso + type: INFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + invoice_details: + - description: Reembolso del servicio + product_identification: '78111500' + unit_code: E48 + unit_description: Unidad de servicio + quantity: 1 + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceTrasladoDetail: + summary: Invoice Traslado + description: Example of a *Traslado* type invoice. + value: + version: '3.3' + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cbX + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Traslado + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: CARGOS S.A. DE C.V. + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: G03 + place_of_issue: '11000' + invoice_details: + - description: FLETE + product_identification: '78101802' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 21000 + pre_tax_amount: 21000 + tax_percentage: 16 + tax_amount: 0 + total_amount: 21000 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + TaxReturnPersonalListPaginated: + summary: Tax Return Personal + description: Example of a list of personal tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 02589c41-ba22-4d44-8558-8111cc751318X + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T17:28:00-05:00' + numero_operacion: '00000000001' + periodo_declaracion: Del Ejercicio + rfc: ABCD111111A11 + tipo_declaracion: Normal + nombre: JOHN DOE + sueldos_salarios: + retenedores: + - rfc_retenedor: ABCD222222A22 + nombre_denominacion_razon_social: ACME CORP + ingresos_exentos: 118263 + ingreso_anual: 2265 + subsidio_empleo: 0 + impuesto_retenido: 19497 + ingreso_anual: 118263 + ingresos_acumulables: 115998 + ingresos_exentos: 2265 + subsidio_empleo: 0 + servicios_profesionales: + deducciones_autorizadas: + deducciones_autorizadas: 11870 + otras_deducciones: null + detalle_deducciones: + - tipo_deduccion: GASTOS + concepto: GASOLINA Y MANTENIMIENTO DE TRANSPORTE + monto_detallado: 9682 + - tipo_deduccion: GASTOS + concepto: COMPRAS Y GASTOS GENERALES + monto_detallado: 2188 + total_deducciones_autorizadas: 11870 + ingresos: + ingresos_acumulables: 46000 + ingresos_exentos: null + otros_ingresos: null + total_ingresos: 46000 + resultado_fiscal: + utilidad_fiscal: 34130 + ptu_pagada_ejercicio: 0 + perdidas_fiscales_ejercicios_anteriores_aplicadas: 0 + utilidad_gravable: 34130 + pagos_provisionales: + pagos_provisionales_efectuados_en_ejercicio: 0 + retenciones_isr: + isr_retenido_personas_morales: 4600 + deducciones_personales: + honorarios_medicos_dentales_hospitalarios: + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 1000 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 502.34 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A55 + monto_deducible: 14183.1 + - rfc_emisor: ABC444444A66 + monto_deducible: 1658 + - rfc_emisor: ABC444444A77 + monto_deducible: 1600 + - rfc_emisor: ABC444444A88 + monto_deducible: 1064 + - rfc_emisor: ABC444444A99 + monto_deducible: 927.57 + donativos: + - rfc_emisor: ABC555555A99 + monto_deducible: 10.03 + aportaciones_voluntarias_complementarias_al_sar: + - rfc_emisor: ABC666666A99 + monto_deducible: 12.03 + - rfc_emisor: ABC777777A99 + monto_deducible: 87.22 + primas_por_seguros_de_gasto_medico: + - rfc_emisor: ABC777777A99 + monto_deducible: 20.03 + determinacion_impuesto: + base_gravable: 126864 + deducciones_personales: 23264 + ingresos_acumulables: 150128 + isr_favorable: 10308 + isr_conforme_tarifa_final: 13789 + isr_retenido: 24097 + num_clabe: '000000000000000001' + nombre_banco: BANCO SA + pagos_provisionales: 0 + titular_clabe_permite_verificacion: SÍ + accion_saldo_a_favor: DEVOLUCIÓN + retenciones: + sueldos_salarios: + - rfc_retenedor: ABC444444A99 + monto_retenciones: 118263 + retenciones_isr: 19497 + dividendos: [] + servicios_profesionales: + - rfc_retenedor: ABC444444A00 + monto_retenciones: 46000 + retenciones_isr: 4600 + dividendos: + monto_acumulable_dividendos_utilidades: null + monto_total_isr_pagado_sociedad: null + datos_informativos: + credito_fiscal_autorizado_proyectos_investigacion_desarrollo: 0 + credito_fiscal_autorizado_proyectos_apoyo_deporte_alto_rendimiento: 0 + credito_fiscal_autorizado_proyectos_inversion_artes: 0 + credito_fiscal_autorizado_inversion_equipos_fijos: 0 + credito_fiscal_autorizado_produccion_distribucion_cinematografica: 0 + saldo_credito_fiscal_autorizado_anteriores_investigacion_desarrollo: 0 + saldo_credito_fiscal_anteriores_proyectos_inversion_artes: 0 + saldo_credito_fiscal_anteriores_produccion_distribucion_cinematografica: 0 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + type: yearly + TaxReturnPersonalListMonthlyPaginatedPFAE: + summary: Tax Return Personal Monthly (PFAe) + description: Example of a list of PFAE-type monthly personal tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListMonthlyPaginatedPFAI: + summary: Tax Return Personal Monthly (PFAI) + description: Example of a list of PFAI-type monthly personal tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + tipo_de_deduccíon: dedduccíon opicional + optas_por_el_cálculo_acumulado: 'NO' + deduccíon_opcional: 700 + impuesto_predial: 0 + total_deducciones_autorizadas: 700 + tienes_facilidades_administrativas_o_estímulos_deducibles: 'NO' + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + impuesto_a_cargo: 54 + cantidad_a_cargo: 54 + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnBusinessListPaginated: + summary: Tax Return Business + description: Example of a list of business tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 02589c41-ba22-4d44-8558-8111cc751318X + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T16:55:00-06:00' + numero_operacion: '000000000001' + periodo_declaracion: Del Ejercicio + rfc: ABC1111111A1 + tipo_declaracion: Normal + tipo_complementaria: null + denominacion_razon_social: ACME CORP + datos_adicionales: + indica_si_optas_por_dictaminar_tus_estados_financieros: 'NO' + estas_obligado_a_presentar_la_informacion_sobre_tu_situacion_fiscal: 'NO' + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero: SIN SELECCIÓN + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero_inferiores_100mdp: SIN SELECCIÓN + optas_por_presentar_informacion_sobre_tu_situacion_fiscal: SIN SELECCIÓN + indica_si_te_dedicas_exclisivamente_a_generacion_energia_fuentes_renovables_o_cogeneracion_electricidad_eficiente: 'NO' + estado_resultados: + ventas_servicios_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + ventas_servicios_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ingresos_netos: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + inventario_inicial: null + compras_netas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + compras_netas_importacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + inventario_final: null + costo_mercancias: null + mano_de_obra: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + maquilas: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + gastos_indirectos_fabricacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + costo_ventas_servicios: null + utilidad_bruta: 911165 + perdida_bruta: null + gastos_operacion: + partes_relacionadas: null + partes_no_relacionadas: 499540 + total: 499540 + utilidad_operacion: 411625 + perdida_operacion: null + intereses_devengados_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ganancia_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + perdida_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_favorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_desfavorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras: null + resultado_integral_financiamiento: null + otros_gastos_nacionales: null + otros_gastos_extranjero: null + otros_gastos: null + otros_productos_nacionales: null + otros_productos_extranjero: null + otros_productos: null + ingresos_partidas_discontinuas_extraordinarias: null + gastos_partidas_discontinuas_extraordinarias: null + utilidad_antes_impuesto: 411625 + perdida_antes_impuesto: null + isr: 113002 + ietu: null + impac: null + ptu: null + utilidad_participacion_subsidiaria: null + perdida_participacion_subsidiaria: null + efectos_reexpresion_favorables_excepto_resultado_posicion_monetaria: null + efectos_reexpresion_desfavorables_excepto_resultado_posicion_monetaria: null + utilidad_neta: 298623 + perdida_neta: null + estado_posicion_financiera_balance: + activo: + efectivo_caja_depositos_instituciones_credito_nacionales: 726644 + efectivo_caja_depositos_instituciones_credito_extranjero: null + inversiones_valores_instituciones_nacionales_excepto_acciones: null + inversiones_valores_instituciones_extranjero_excepto_acciones: null + cuentas_documentos_por_cobrar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + cuentas_documentos_por_cobrar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_a_favor: null + inventarios: null + otros_activos_circulantes: 13277 + inversiones_en_acciones_nacionales: null + inversiones_en_acciones_extranjero: null + inversiones_en_acciones_total: null + terrenos: null + construcciones: null + construcciones_en_proceso: null + maquinaria_y_equipo: null + mobiliario_y_equipo_oficina: null + equipo_de_computo: null + equipo_de_transporte: null + otros_activos_fijos: 12756 + depreciacion_acumulada: -106 + cargos_y_gastos_diferidos: 9319 + amortizacion_acumulada: null + suma_activo: 761890 + pasivo: + cuentas_documentos_por_pagar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 268227 + total: 268227 + cuentas_documentos_por_pagar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_por_pagar: 223490 + anticipos_de_clientes: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + aportaciones_futuros_aumentos_de_capital: null + otros_pasivos: null + suma_pasivo: 491717 + capital_contable: + capital_social_proveniente_aportaciones: 10000 + capital_social_proveniente_capitalizacion: null + reservas: null + otras_cuentas_capital: null + aportaciones_futuros_aumentos_de_capital: null + utilidades_acumuladas: null + utilidad_del_ejercicio: 298623 + perdidas_acumuladas: -38450 + perdida_del_ejercicio: null + exceso_en_actualizacion_capital: null + insuficiencia_en_actualizacion_capital: null + actualizacion_del_capital_contable: null + suma_capital_contable: 270173 + suma_pasivo_mas_capital_contable: 761890 + conciliacion_entre_resultado_contable_fiscal: + utilidad_o_perdida_neta: 298623 + efectos_reexpresion: null + resultado_posicion_monetaria: null + utilidad_o_perdida_neta_historica: 298623 + ingresos_fiscales_no_contables: 95 + ajuste_anual_inflacion_acumulable: 95 + anticipos_de_clientes: null + intereses_moratorios_efectivamente_cobrados: null + ganancia_en_enajenacion_acciones_por_reembolso_capital: null + ganancia_en_enajenacion_de_terrenos_y_activo_fijo: null + inventario_acumulable_del_ejercicio: null + otros_ingresos_fiscales_no_contables: null + deducciones_contables_no_fiscales: 117415 + costo_de_ventas_contable: null + depreciacion_y_amortizacion_contable: 106 + gastos_que_no_reunen_requisitos_fiscales: 4307 + isr_ietu_impac_ptu: 113002 + perdida_contable_enajenacion_de_acciones: null + perdida_contable_enajenacion_de_activo_fijo: null + perdida_en_participacion_subsidiaria: null + intereses_devengados_que_exceden_valor_mercado_y_moratorios_pagados_o_no: 0 + otras_deducciones_contables_no_fiscales: 0 + deducciones_fiscales_no_contables: 0 + ajuste_anual_inflacion_deducible: null + costo_vendido_fiscal: null + deduccion_inversiones: null + estimulo_fiscal_por_deduccion_inmediata_inversiones: null + donacion_bienes_basicos_subsistencia_humana: 0 + estimulo_fiscal_contratacion_personas_discapacidad_yo_mayores: 0 + deduccion_impuesto_sobre_renta_retenido_personas_discapacidad_yo_mayores: 0 + perdida_fiscal_en_enajenacion_acciones: null + perdida_fiscal_en_enajenacion_de_terrenos_y_activo_fijo: null + intereses_moratorios_efectivamente_pagados: null + otras_deducciones_fiscales_no_contables: null + ingresos_contables_no_fiscales: null + intereses_moratorios_devengados_a_favor_cobrados_o_no: null + anticipos_de_clientes_ejercicios_anteriores: null + saldos_a_favor_impuestos_y_su_actualizacion: null + utilidad_contable_enajenacion_de_activo_fijo: null + utilidad_contable_enajenacion_de_acciones: null + utilidad_en_participacion_subsidiaria: null + otros_ingresos_contables_no_fiscales: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416133 + deducciones_autorizadas: + sueldos_salarios: null + honorarios_pagados_a_personas_fisicas: null + regalias_y_asistencia_tecnica: null + donativos_otorgados: null + uso_o_goce_temporal_de_bienes_pagados_a_personas_fisicas: null + fletes_y_acarreos_pagados_a_parsonas_fisicas: null + contribuciones_pagadas_excepto_isr_ietu_impac_iva_ieps: null + seguros_fianzas: null + perdida_por_creditos_incobrables: null + viaticos_y_gastos_viaje: 59527 + combustible_y_lubricantes: null + credito_al_salario_no_disminuido_de_contribuciones: null + aportaciones_sar_infonavit_y_jubilaciones_vejez: null + aportaciones_para_fondos_de_pensiones_y_jubilaciones: null + cuotas_imss: null + consumos_en_restaurantes: 11254 + perdida_por_operaciones_financieras_derivadas: null + deduccion_por_concepto_de_ayuda_alimentaria_para_trabajadores: null + monto_total_pagos_que_sean_ingresos_exentos_para_trabajador: null + monto_deducible_al_47_pagos_son_ingresos_exentos_para_trabajador: null + monto_deducible_al_53_pagos_son_ingresos_exentos_para_trabajador: null + uso_o_goce_temporal_de_automoviles_baterias_electricas_o_electricos_con_motor_combustion_o_hidrogeno: null + otras_deducciones_autorizadas: 424346 + total_deducciones_autorizadas: 495127 + cifras_cierre_ejercicio: + perdidas_fiscales_de_ejercicios_anteriores_pendientes_de_amortizar_actualiazadas: null + saldo_promedio_anual_de_creditos: 142795 + saldo_promedio_anual_de_deudas: 144765 + coeficiente_de_utilidad_por_aplicar_en_ejercicio_siguiente: 0.4567 + porcentaje_de_participacion_consolidable: null + isr_causado_en_exceso_del_impac_en_los_3_ejercicios_anteriores_pendientes_aplicar: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_2013_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_a_partir_2014_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_reinvertida: null + saldo_actualizado_de_cuenta_de_capital_de_aportacion: null + saldo_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_renovables: null + determinacion_del_impuesto_sobre_la_renta: + determinacion_del_impuesto_sobre_la_renta: + total_ingresos_acumulables: 911260 + total_deducciones_autorizadas_y_deduccion_inmediata_inversiones: 495126 + deduccion_adicional_por_pago_servicios_personales_en_operacion_maquila: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416134 + ptu_pagada_en_el_ejercicio: null + utilidad_fiscal_del_ejercicio: 416134 + perdidas_fiscales_de_ejercicios_anteriores_que_se_aplican_en_ejercicio: 39462 + resultado_fiscal: 376672 + impuesto_causado_en_ejercicio: 113002 + tienes_estimulos_fiscales_a_acreditar: SIN SELECCIÓN + impuesto_sobre_la_renta_del_ejercicio: 113002 + pagos_provisionales_efectuados_enterados_a_federacion: null + impuesto_retenido_al_contribuyente: null + impuesto_acreditable_pagado_en_extranjero: null + impuesto_acreditable_por_dividendos_o_utilidades_distribuidos: null + otras_cantidades_a_cargo: null + otras_cantidades_a_favor: null + diferencia_a_cargo: 113002 + isr_a_cargo_del_ejercicio: 113002 + isr_a_favor_del_ejercicio: null + impuesto_sobre_ingresos_sujetos_a_regimenes_fiscales_preferentes: null + datos_informativos_ejercicio: + monto_aplicado_del_estimulo_fiscal_de_chatarrizacion: 0 + monto_deducible_de_pagos_efectuados_por_uso_o_goce_temporal_automoviles: 0 + impac_recuperado_en_ejercicio_derivado_de_deconsolidacion: 0 + ingresos_obtenidos_por_apoyos_gubernamentales: 0 + gastos_realidados_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_de_inversion_en_artes_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_inversion_en_proyectos_programas_para_deporte_de_alto_rendimiento_pendiente_aplicar: 0 + saldo_pendiente_aplicar_por_inversion_en_equipos_de_alimentacion_vehiculos_electricos: 0 + credito_fiscal_autorizado_en_ejercicio_a_produccion_distribucion_cinematografica_nacional_pendiente_aplicar: 0 + datos_informativos_ejercicios_anteriores_aplicados_en_ejercicio: + total_estimulo_produccion_y_distribucion_cinematografica_nacional_ejercicios_anteriores_aplicado_en_ejercicio: null + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_inversion_en_proyectos_programas_para_deporte_alto_rendimiento_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_inversion_artes_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_a_produccion_distribucion_nacional_pendiente_aplicar: 0 + dividendos_o_utilidades_distribuidos: + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_en_2013_y_anteriores: null + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_a_partir_de_2014: null + provenientes_de_cuenta_de_utilidad_fisica_neta_reinvertida_cufinre: null + no_provenientes_de_cufin_ni_cufinre_en_efectivo: null + no_provenientes_de_cufin_ni_cufinre_en_acciones: null + monto_del_impuesto_pagado_no_proveniente_de_cufin_ni_cufinre: null + monto_del_impuesto_pagado_de_utilidades_provenientes_de_cufinre: null + provenientes_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_energia_de_fuentes_renovables_o_sistemas_cogeneracion_electricidad_eficiente: null + detalle_pago_r1_isr_personas_morales: + a_cargo: 113002 + parte_actualizada: null + recargos: null + multa_por_correccion: null + total_contribuciones: 113002 + desea_aplicar_alguna_compensacion_o_estimulo: 'NO' + cantidad_a_cargo: 113002 + opta_por_pagar_parcialidades: SIN SELECCIÓN + importe_de_primera_parcialidad: null + importe_sin_primera_parcialidad: null + cantidad_a_favor: null + cantidad_a_pagar: 113002 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + type: yearly + TaxReturnBusinessListMonthlyPaginated: + summary: Tax Return Business Monthly + description: Example of a list of monthly business tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: DPA950805RR2 + denominacion_razon_social: Aloha Mahalo SC + tipo_declaracion: Normal + ejercicio: 2020 + periodo_declaracion: Diciembre + fecha_hora_presentacion: '2021-01-18T19:24:00-06:00' + numero_operacion: '400475119' + tipo_complementaria: null + determinacion_isr: + personas_morales_regimen_general: + suma_ingresos_nominales_meses_anteriores_ejercicio: 69848414 + estimulos_acreditables: null + ingresos_nominales_mes_que_declara: 6482479 + reducciones: null + total_ingresos_nominales: 76330893 + impuestos_del_periodo: 284098 + coeficiente_utilidad: 0.2318 + pagos_provisionales_efectuados_anterioridad: 303039 + utilidad_fiscal_pago_provisional: 17693501 + impuesto_retenido: 29925 + ptu: null + otras_cantidades_a_cargo_contribuyente: null + iventario_acumulable: null + otras_cantidades_a_favor_contribuyente: null + anticipos_rendimientos_distribuidos_periodo: 16746509 + diferencia_a_cargo: 0 + perdidas_fiscales_ejercicios_anteriores_pendientes: null + estimulo_fiscal_deduccion_inmediata: null + impuesto_correspondiente_participacion_consolidable: null + deduccion_adicional_fomento_primer_empleo: null + porcentaje_participacion_consolidable: null + base_gravable_pago_provisional: 946992 + impuesto_a_cargo: 0 + isr_causado: 284098 + ieps_alcohol: null + detalle_pago_isr: + r1_isr_personas_morales: + a_cargo: 0 + acreditamiento_sorteo_buen_fin: null + parte_actualizada: null + diesel_marino: null + recargos: null + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 0 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 0 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + uso_infraestructura_carretera_cuota: null + cantidad_a_pagar: 0 + otros_estimulos: null + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r12_isr_retenciones_por_salarios: + a_cargo: 415945 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 379 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 415945 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: 379 + cantidad_a_cargo: 415566 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 415566 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r13_isr_retenciones_por_asimilados_a_salarios: + a_cargo: 254588 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 254588 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 254588 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 254588 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r14_isr_retenciones_por_servicios_profesionales: + a_cargo: 104482 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 104482 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 104482 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 104482 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + determinacion_iva: + montos_actos_actividades_pagados: + total_actos_actividades_pagados_tasa_16: 2094706 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + total_actos_actividades_sujetos_estimulo_rfn: 0 + total_actos_actividades_pagados_tasa_0: 0 + total_actos_actividades_pagados_importacion_bienes_tasa_16: null + total_actos_actividades_pagados_no_paga_iva: 0 + detalle_total_actos_actividades_pagados_tasa_16: + intereses_pagados_tasa_16: null + otros_actos_pagados_tasa_16: 2094706 + regalias_pagadas_tasa_16: null + total_actos_pagados_tasa_16: 2094706 + determinacion_iva_acreditable: + total_iva_actos_actividades_pagados_tasa_16: 335153 + iva_trasladado_o_pagado_adquisicion_bienes_distintos_inversiones_actos_no_obligados_pago_impuesto: null + iva_pagado_sujeto_estimulo_rfn: null + iva_trasladado_o_pagado_importacion_inversiones_actos_no_obligados_pago_impuesto: null + total_actos_actividades_pagados_importacion_bienes_tasa_16: 0 + iva_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: 0 + proporcion_utilizada_conforme_art_5: null + total_iva_trasladado_contribuyente: 335153 + proporcion_utilizada_conforme_art_5_b: null + iva_trasladado_adquisicion_bienes_distintos_inversiones_actos_gravados: 335153 + iva_pagado_importacion_adquisicion_bienes_distintos_inversiones_actos_gravados: null + iva_acreditable: 335153 + monto_acreditable_actualizado_a_incrementar_derivado_ajuste: null + iva_pagado_importacion_inversiones_actos_gravados: null + total_iva_acreditable_periodo: 335153 + total_iva_actos_actividades_gravados: 335153 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + iva_trasladado_adquisicion_inversiones_actos_gravados: null + iva_acreditable_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: null + determinacion_iva: + valor_actos_actividades_gravados_tasa_16: 6457950 + otras_cantidades_a_favor_contribuyente: null + valor_actos_actividades_gravados_tasa_11: null + cantidad_a_cargo: 312421 + valor_actos_actividades_gravados_tasa_0_exportacion: null + saldo_a_favor: null + valor_actos_actividades_gravados_tasa_9_otros: null + devolucion_inmediata_obtenida: null + suma_actos_actividades_gravados: 6457950 + saldo_a_favor_periodo: 0 + valor_actos_actividades_no_se_deba_pagar_impuesto_exentos: null + acreditamiento_saldo_favor_periodos_anteriores: null + impuesto_causado: 1033272 + diferencia_a_cargo: 312421 + cantidad_actualizada_a_reintegrarse_derivada_de_ajuste: null + ieps_acreditable_alcohol: null + iva_retenido_al_contribuyente: 385698 + impuesto_a_cargo: 312421 + total_iva_acreditable: 335153 + remanente_saldo_favor_ieps_alcohol: null + otras_cantidades_a_cargo_contribuyente: null + detalle_valor_actos_actividades_gravados_tasa_16: + intereses_cobrados_tasa_16: null + otros_actos_actividades_gravados_tasa_16: 6457950 + regalias_entre_partes_relacionadas_tasa_16: null + total_actos_actividades_gravados_tasa_16: 6457950 + detalle_pago_iva: + r21_iva: + a_cargo: 312421 + cretificados_tesofe: null + a_favor: null + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 312421 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 312421 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + diesel_automotriz_transporte: null + uso_infraestructura_carretera_cuota: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 312421 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r21_iva_retenciones: + a_cargo: 111448 + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 111448 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 111448 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + otros_estimulos: null + cantidad_a_favor: null + cretificados_tesofe: null + cantidad_a_pagar: 111448 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalList: + summary: Tax Return Personal + description: Example of a list of personal tax returns + value: + - id: 02589c41-ba22-4d44-8558-8111cc751318X + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T17:28:00-05:00' + numero_operacion: '00000000001' + periodo_declaracion: Del Ejercicio + rfc: ABCD111111A11 + tipo_declaracion: Normal + nombre: JOHN DOE + sueldos_salarios: + retenedores: + - rfc_retenedor: ABCD222222A22 + nombre_denominacion_razon_social: ACME CORP + ingresos_exentos: 118263 + ingreso_anual: 2265 + subsidio_empleo: 0 + impuesto_retenido: 19497 + ingreso_anual: 118263 + ingresos_acumulables: 115998 + ingresos_exentos: 2265 + subsidio_empleo: 0 + servicios_profesionales: + deducciones_autorizadas: + deducciones_autorizadas: 11870 + otras_deducciones: null + detalle_deducciones: + - tipo_deduccion: GASTOS + concepto: GASOLINA Y MANTENIMIENTO DE TRANSPORTE + monto_detallado: 9682 + - tipo_deduccion: GASTOS + concepto: COMPRAS Y GASTOS GENERALES + monto_detallado: 2188 + total_deducciones_autorizadas: 11870 + ingresos: + ingresos_acumulables: 46000 + ingresos_exentos: null + otros_ingresos: null + total_ingresos: 46000 + resultado_fiscal: + utilidad_fiscal: 34130 + ptu_pagada_ejercicio: 0 + perdidas_fiscales_ejercicios_anteriores_aplicadas: 0 + utilidad_gravable: 34130 + pagos_provisionales: + pagos_provisionales_efectuados_en_ejercicio: 0 + retenciones_isr: + isr_retenido_personas_morales: 4600 + deducciones_personales: + honorarios_medicos_dentales_hospitalarios: + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 1000 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 502.34 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A55 + monto_deducible: 14183.1 + - rfc_emisor: ABC444444A66 + monto_deducible: 1658 + - rfc_emisor: ABC444444A77 + monto_deducible: 1600 + - rfc_emisor: ABC444444A88 + monto_deducible: 1064 + - rfc_emisor: ABC444444A99 + monto_deducible: 927.57 + donativos: + - rfc_emisor: ABC555555A99 + monto_deducible: 10.03 + aportaciones_voluntarias_complementarias_al_sar: + - rfc_emisor: ABC666666A99 + monto_deducible: 12.03 + - rfc_emisor: ABC777777A99 + monto_deducible: 87.22 + primas_por_seguros_de_gasto_medico: + - rfc_emisor: ABC777777A99 + monto_deducible: 20.03 + determinacion_impuesto: + base_gravable: 126864 + deducciones_personales: 23264 + ingresos_acumulables: 150128 + isr_favorable: 10308 + isr_conforme_tarifa_final: 13789 + isr_retenido: 24097 + num_clabe: '000000000000000001' + nombre_banco: BANCO SA + pagos_provisionales: 0 + titular_clabe_permite_verificacion: SÍ + accion_saldo_a_favor: DEVOLUCIÓN + retenciones: + sueldos_salarios: + - rfc_retenedor: ABC444444A99 + monto_retenciones: 118263 + retenciones_isr: 19497 + dividendos: [] + servicios_profesionales: + - rfc_retenedor: ABC444444A00 + monto_retenciones: 46000 + retenciones_isr: 4600 + dividendos: + monto_acumulable_dividendos_utilidades: null + monto_total_isr_pagado_sociedad: null + datos_informativos: + credito_fiscal_autorizado_proyectos_investigacion_desarrollo: 0 + credito_fiscal_autorizado_proyectos_apoyo_deporte_alto_rendimiento: 0 + credito_fiscal_autorizado_proyectos_inversion_artes: 0 + credito_fiscal_autorizado_inversion_equipos_fijos: 0 + credito_fiscal_autorizado_produccion_distribucion_cinematografica: 0 + saldo_credito_fiscal_autorizado_anteriores_investigacion_desarrollo: 0 + saldo_credito_fiscal_anteriores_proyectos_inversion_artes: 0 + saldo_credito_fiscal_anteriores_produccion_distribucion_cinematografica: 0 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnPersonalListMonthlyPFAE: + summary: Tax Return Personal Monthly (PFAE) + description: Example of a PFAE-type monthly personal tax return + value: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListMonthlyPFAI: + summary: Tax Return Personal Monthly (PFAI) + description: Example of a PFAI-type monthly personal tax return + value: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + tipo_de_deduccíon: dedduccíon opicional + optas_por_el_cálculo_acumulado: 'NO' + deduccíon_opcional: 700 + impuesto_predial: 0 + total_deducciones_autorizadas: 700 + tienes_facilidades_administrativas_o_estímulos_deducibles: 'NO' + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + impuesto_a_cargo: 54 + cantidad_a_cargo: 54 + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnBusinessList: + summary: Tax Return Business + description: Example of a list of business tax returns + value: + - id: 02589c41-ba22-4d44-8558-8111cc751318X + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T16:55:00-06:00' + numero_operacion: '000000000001' + periodo_declaracion: Del Ejercicio + rfc: ABC1111111A1 + tipo_declaracion: Normal + tipo_complementaria: null + denominacion_razon_social: ACME CORP + datos_adicionales: + indica_si_optas_por_dictaminar_tus_estados_financieros: 'NO' + estas_obligado_a_presentar_la_informacion_sobre_tu_situacion_fiscal: 'NO' + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero: SIN SELECCIÓN + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero_inferiores_100mdp: SIN SELECCIÓN + optas_por_presentar_informacion_sobre_tu_situacion_fiscal: SIN SELECCIÓN + indica_si_te_dedicas_exclisivamente_a_generacion_energia_fuentes_renovables_o_cogeneracion_electricidad_eficiente: 'NO' + estado_resultados: + ventas_servicios_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + ventas_servicios_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ingresos_netos: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + inventario_inicial: null + compras_netas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + compras_netas_importacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + inventario_final: null + costo_mercancias: null + mano_de_obra: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + maquilas: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + gastos_indirectos_fabricacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + costo_ventas_servicios: null + utilidad_bruta: 911165 + perdida_bruta: null + gastos_operacion: + partes_relacionadas: null + partes_no_relacionadas: 499540 + total: 499540 + utilidad_operacion: 411625 + perdida_operacion: null + intereses_devengados_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ganancia_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + perdida_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_favorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_desfavorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras: null + resultado_integral_financiamiento: null + otros_gastos_nacionales: null + otros_gastos_extranjero: null + otros_gastos: null + otros_productos_nacionales: null + otros_productos_extranjero: null + otros_productos: null + ingresos_partidas_discontinuas_extraordinarias: null + gastos_partidas_discontinuas_extraordinarias: null + utilidad_antes_impuesto: 411625 + perdida_antes_impuesto: null + isr: 113002 + ietu: null + impac: null + ptu: null + utilidad_participacion_subsidiaria: null + perdida_participacion_subsidiaria: null + efectos_reexpresion_favorables_excepto_resultado_posicion_monetaria: null + efectos_reexpresion_desfavorables_excepto_resultado_posicion_monetaria: null + utilidad_neta: 298623 + perdida_neta: null + estado_posicion_financiera_balance: + activo: + efectivo_caja_depositos_instituciones_credito_nacionales: 726644 + efectivo_caja_depositos_instituciones_credito_extranjero: null + inversiones_valores_instituciones_nacionales_excepto_acciones: null + inversiones_valores_instituciones_extranjero_excepto_acciones: null + cuentas_documentos_por_cobrar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + cuentas_documentos_por_cobrar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_a_favor: null + inventarios: null + otros_activos_circulantes: 13277 + inversiones_en_acciones_nacionales: null + inversiones_en_acciones_extranjero: null + inversiones_en_acciones_total: null + terrenos: null + construcciones: null + construcciones_en_proceso: null + maquinaria_y_equipo: null + mobiliario_y_equipo_oficina: null + equipo_de_computo: null + equipo_de_transporte: null + otros_activos_fijos: 12756 + depreciacion_acumulada: -106 + cargos_y_gastos_diferidos: 9319 + amortizacion_acumulada: null + suma_activo: 761890 + pasivo: + cuentas_documentos_por_pagar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 268227 + total: 268227 + cuentas_documentos_por_pagar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_por_pagar: 223490 + anticipos_de_clientes: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + aportaciones_futuros_aumentos_de_capital: null + otros_pasivos: null + suma_pasivo: 491717 + capital_contable: + capital_social_proveniente_aportaciones: 10000 + capital_social_proveniente_capitalizacion: null + reservas: null + otras_cuentas_capital: null + aportaciones_futuros_aumentos_de_capital: null + utilidades_acumuladas: null + utilidad_del_ejercicio: 298623 + perdidas_acumuladas: -38450 + perdida_del_ejercicio: null + exceso_en_actualizacion_capital: null + insuficiencia_en_actualizacion_capital: null + actualizacion_del_capital_contable: null + suma_capital_contable: 270173 + suma_pasivo_mas_capital_contable: 761890 + conciliacion_entre_resultado_contable_fiscal: + utilidad_o_perdida_neta: 298623 + efectos_reexpresion: null + resultado_posicion_monetaria: null + utilidad_o_perdida_neta_historica: 298623 + ingresos_fiscales_no_contables: 95 + ajuste_anual_inflacion_acumulable: 95 + anticipos_de_clientes: null + intereses_moratorios_efectivamente_cobrados: null + ganancia_en_enajenacion_acciones_por_reembolso_capital: null + ganancia_en_enajenacion_de_terrenos_y_activo_fijo: null + inventario_acumulable_del_ejercicio: null + otros_ingresos_fiscales_no_contables: null + deducciones_contables_no_fiscales: 117415 + costo_de_ventas_contable: null + depreciacion_y_amortizacion_contable: 106 + gastos_que_no_reunen_requisitos_fiscales: 4307 + isr_ietu_impac_ptu: 113002 + perdida_contable_enajenacion_de_acciones: null + perdida_contable_enajenacion_de_activo_fijo: null + perdida_en_participacion_subsidiaria: null + intereses_devengados_que_exceden_valor_mercado_y_moratorios_pagados_o_no: 0 + otras_deducciones_contables_no_fiscales: 0 + deducciones_fiscales_no_contables: 0 + ajuste_anual_inflacion_deducible: null + costo_vendido_fiscal: null + deduccion_inversiones: null + estimulo_fiscal_por_deduccion_inmediata_inversiones: null + donacion_bienes_basicos_subsistencia_humana: 0 + estimulo_fiscal_contratacion_personas_discapacidad_yo_mayores: 0 + deduccion_impuesto_sobre_renta_retenido_personas_discapacidad_yo_mayores: 0 + perdida_fiscal_en_enajenacion_acciones: null + perdida_fiscal_en_enajenacion_de_terrenos_y_activo_fijo: null + intereses_moratorios_efectivamente_pagados: null + otras_deducciones_fiscales_no_contables: null + ingresos_contables_no_fiscales: null + intereses_moratorios_devengados_a_favor_cobrados_o_no: null + anticipos_de_clientes_ejercicios_anteriores: null + saldos_a_favor_impuestos_y_su_actualizacion: null + utilidad_contable_enajenacion_de_activo_fijo: null + utilidad_contable_enajenacion_de_acciones: null + utilidad_en_participacion_subsidiaria: null + otros_ingresos_contables_no_fiscales: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416133 + deducciones_autorizadas: + sueldos_salarios: null + honorarios_pagados_a_personas_fisicas: null + regalias_y_asistencia_tecnica: null + donativos_otorgados: null + uso_o_goce_temporal_de_bienes_pagados_a_personas_fisicas: null + fletes_y_acarreos_pagados_a_parsonas_fisicas: null + contribuciones_pagadas_excepto_isr_ietu_impac_iva_ieps: null + seguros_fianzas: null + perdida_por_creditos_incobrables: null + viaticos_y_gastos_viaje: 59527 + combustible_y_lubricantes: null + credito_al_salario_no_disminuido_de_contribuciones: null + aportaciones_sar_infonavit_y_jubilaciones_vejez: null + aportaciones_para_fondos_de_pensiones_y_jubilaciones: null + cuotas_imss: null + consumos_en_restaurantes: 11254 + perdida_por_operaciones_financieras_derivadas: null + deduccion_por_concepto_de_ayuda_alimentaria_para_trabajadores: null + monto_total_pagos_que_sean_ingresos_exentos_para_trabajador: null + monto_deducible_al_47_pagos_son_ingresos_exentos_para_trabajador: null + monto_deducible_al_53_pagos_son_ingresos_exentos_para_trabajador: null + uso_o_goce_temporal_de_automoviles_baterias_electricas_o_electricos_con_motor_combustion_o_hidrogeno: null + otras_deducciones_autorizadas: 424346 + total_deducciones_autorizadas: 495127 + cifras_cierre_ejercicio: + perdidas_fiscales_de_ejercicios_anteriores_pendientes_de_amortizar_actualiazadas: null + saldo_promedio_anual_de_creditos: 142795 + saldo_promedio_anual_de_deudas: 144765 + coeficiente_de_utilidad_por_aplicar_en_ejercicio_siguiente: 0.4567 + porcentaje_de_participacion_consolidable: null + isr_causado_en_exceso_del_impac_en_los_3_ejercicios_anteriores_pendientes_aplicar: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_2013_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_a_partir_2014_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_reinvertida: null + saldo_actualizado_de_cuenta_de_capital_de_aportacion: null + saldo_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_renovables: null + determinacion_del_impuesto_sobre_la_renta: + determinacion_del_impuesto_sobre_la_renta: + total_ingresos_acumulables: 911260 + total_deducciones_autorizadas_y_deduccion_inmediata_inversiones: 495126 + deduccion_adicional_por_pago_servicios_personales_en_operacion_maquila: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416134 + ptu_pagada_en_el_ejercicio: null + utilidad_fiscal_del_ejercicio: 416134 + perdidas_fiscales_de_ejercicios_anteriores_que_se_aplican_en_ejercicio: 39462 + resultado_fiscal: 376672 + impuesto_causado_en_ejercicio: 113002 + tienes_estimulos_fiscales_a_acreditar: SIN SELECCIÓN + impuesto_sobre_la_renta_del_ejercicio: 113002 + pagos_provisionales_efectuados_enterados_a_federacion: null + impuesto_retenido_al_contribuyente: null + impuesto_acreditable_pagado_en_extranjero: null + impuesto_acreditable_por_dividendos_o_utilidades_distribuidos: null + otras_cantidades_a_cargo: null + otras_cantidades_a_favor: null + diferencia_a_cargo: 113002 + isr_a_cargo_del_ejercicio: 113002 + isr_a_favor_del_ejercicio: null + impuesto_sobre_ingresos_sujetos_a_regimenes_fiscales_preferentes: null + datos_informativos_ejercicio: + monto_aplicado_del_estimulo_fiscal_de_chatarrizacion: 0 + monto_deducible_de_pagos_efectuados_por_uso_o_goce_temporal_automoviles: 0 + impac_recuperado_en_ejercicio_derivado_de_deconsolidacion: 0 + ingresos_obtenidos_por_apoyos_gubernamentales: 0 + gastos_realidados_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_de_inversion_en_artes_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_inversion_en_proyectos_programas_para_deporte_de_alto_rendimiento_pendiente_aplicar: 0 + saldo_pendiente_aplicar_por_inversion_en_equipos_de_alimentacion_vehiculos_electricos: 0 + credito_fiscal_autorizado_en_ejercicio_a_produccion_distribucion_cinematografica_nacional_pendiente_aplicar: 0 + datos_informativos_ejercicios_anteriores_aplicados_en_ejercicio: + total_estimulo_produccion_y_distribucion_cinematografica_nacional_ejercicios_anteriores_aplicado_en_ejercicio: null + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_inversion_en_proyectos_programas_para_deporte_alto_rendimiento_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_inversion_artes_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_a_produccion_distribucion_nacional_pendiente_aplicar: 0 + dividendos_o_utilidades_distribuidos: + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_en_2013_y_anteriores: null + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_a_partir_de_2014: null + provenientes_de_cuenta_de_utilidad_fisica_neta_reinvertida_cufinre: null + no_provenientes_de_cufin_ni_cufinre_en_efectivo: null + no_provenientes_de_cufin_ni_cufinre_en_acciones: null + monto_del_impuesto_pagado_no_proveniente_de_cufin_ni_cufinre: null + monto_del_impuesto_pagado_de_utilidades_provenientes_de_cufinre: null + provenientes_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_energia_de_fuentes_renovables_o_sistemas_cogeneracion_electricidad_eficiente: null + detalle_pago_r1_isr_personas_morales: + a_cargo: 113002 + parte_actualizada: null + recargos: null + multa_por_correccion: null + total_contribuciones: 113002 + desea_aplicar_alguna_compensacion_o_estimulo: 'NO' + cantidad_a_cargo: 113002 + opta_por_pagar_parcialidades: SIN SELECCIÓN + importe_de_primera_parcialidad: null + importe_sin_primera_parcialidad: null + cantidad_a_favor: null + cantidad_a_pagar: 113002 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnBusinessListMonthly: + summary: Tax Return Business Monthly + description: Example of a monthly business tax return + value: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: DPA950805RR2 + denominacion_razon_social: Aloha Mahalo SC + tipo_declaracion: Normal + ejercicio: 2020 + periodo_declaracion: Diciembre + fecha_hora_presentacion: '2021-01-18T19:24:00-06:00' + numero_operacion: '400475119' + tipo_complementaria: null + determinacion_isr: + personas_morales_regimen_general: + suma_ingresos_nominales_meses_anteriores_ejercicio: 69848414 + estimulos_acreditables: null + ingresos_nominales_mes_que_declara: 6482479 + reducciones: null + total_ingresos_nominales: 76330893 + impuestos_del_periodo: 284098 + coeficiente_utilidad: 0.2318 + pagos_provisionales_efectuados_anterioridad: 303039 + utilidad_fiscal_pago_provisional: 17693501 + impuesto_retenido: 29925 + ptu: null + otras_cantidades_a_cargo_contribuyente: null + iventario_acumulable: null + otras_cantidades_a_favor_contribuyente: null + anticipos_rendimientos_distribuidos_periodo: 16746509 + diferencia_a_cargo: 0 + perdidas_fiscales_ejercicios_anteriores_pendientes: null + estimulo_fiscal_deduccion_inmediata: null + impuesto_correspondiente_participacion_consolidable: null + deduccion_adicional_fomento_primer_empleo: null + porcentaje_participacion_consolidable: null + base_gravable_pago_provisional: 946992 + impuesto_a_cargo: 0 + isr_causado: 284098 + ieps_alcohol: null + detalle_pago_isr: + r1_isr_personas_morales: + a_cargo: 0 + acreditamiento_sorteo_buen_fin: null + parte_actualizada: null + diesel_marino: null + recargos: null + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 0 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 0 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + uso_infraestructura_carretera_cuota: null + cantidad_a_pagar: 0 + otros_estimulos: null + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r12_isr_retenciones_por_salarios: + a_cargo: 415945 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 379 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 415945 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: 379 + cantidad_a_cargo: 415566 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 415566 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r13_isr_retenciones_por_asimilados_a_salarios: + a_cargo: 254588 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 254588 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 254588 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 254588 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r14_isr_retenciones_por_servicios_profesionales: + a_cargo: 104482 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 104482 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 104482 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 104482 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + determinacion_iva: + montos_actos_actividades_pagados: + total_actos_actividades_pagados_tasa_16: 2094706 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + total_actos_actividades_sujetos_estimulo_rfn: 0 + total_actos_actividades_pagados_tasa_0: 0 + total_actos_actividades_pagados_importacion_bienes_tasa_16: null + total_actos_actividades_pagados_no_paga_iva: 0 + detalle_total_actos_actividades_pagados_tasa_16: + intereses_pagados_tasa_16: null + otros_actos_pagados_tasa_16: 2094706 + regalias_pagadas_tasa_16: null + total_actos_pagados_tasa_16: 2094706 + determinacion_iva_acreditable: + total_iva_actos_actividades_pagados_tasa_16: 335153 + iva_trasladado_o_pagado_adquisicion_bienes_distintos_inversiones_actos_no_obligados_pago_impuesto: null + iva_pagado_sujeto_estimulo_rfn: null + iva_trasladado_o_pagado_importacion_inversiones_actos_no_obligados_pago_impuesto: null + total_actos_actividades_pagados_importacion_bienes_tasa_16: 0 + iva_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: 0 + proporcion_utilizada_conforme_art_5: null + total_iva_trasladado_contribuyente: 335153 + proporcion_utilizada_conforme_art_5_b: null + iva_trasladado_adquisicion_bienes_distintos_inversiones_actos_gravados: 335153 + iva_pagado_importacion_adquisicion_bienes_distintos_inversiones_actos_gravados: null + iva_acreditable: 335153 + monto_acreditable_actualizado_a_incrementar_derivado_ajuste: null + iva_pagado_importacion_inversiones_actos_gravados: null + total_iva_acreditable_periodo: 335153 + total_iva_actos_actividades_gravados: 335153 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + iva_trasladado_adquisicion_inversiones_actos_gravados: null + iva_acreditable_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: null + determinacion_iva: + valor_actos_actividades_gravados_tasa_16: 6457950 + otras_cantidades_a_favor_contribuyente: null + valor_actos_actividades_gravados_tasa_11: null + cantidad_a_cargo: 312421 + valor_actos_actividades_gravados_tasa_0_exportacion: null + saldo_a_favor: null + valor_actos_actividades_gravados_tasa_9_otros: null + devolucion_inmediata_obtenida: null + suma_actos_actividades_gravados: 6457950 + saldo_a_favor_periodo: 0 + valor_actos_actividades_no_se_deba_pagar_impuesto_exentos: null + acreditamiento_saldo_favor_periodos_anteriores: null + impuesto_causado: 1033272 + diferencia_a_cargo: 312421 + cantidad_actualizada_a_reintegrarse_derivada_de_ajuste: null + ieps_acreditable_alcohol: null + iva_retenido_al_contribuyente: 385698 + impuesto_a_cargo: 312421 + total_iva_acreditable: 335153 + remanente_saldo_favor_ieps_alcohol: null + otras_cantidades_a_cargo_contribuyente: null + detalle_valor_actos_actividades_gravados_tasa_16: + intereses_cobrados_tasa_16: null + otros_actos_actividades_gravados_tasa_16: 6457950 + regalias_entre_partes_relacionadas_tasa_16: null + total_actos_actividades_gravados_tasa_16: 6457950 + detalle_pago_iva: + r21_iva: + a_cargo: 312421 + cretificados_tesofe: null + a_favor: null + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 312421 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 312421 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + diesel_automotriz_transporte: null + uso_infraestructura_carretera_cuota: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 312421 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r21_iva_retenciones: + a_cargo: 111448 + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 111448 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 111448 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + otros_estimulos: null + cantidad_a_favor: null + cretificados_tesofe: null + cantidad_a_pagar: 111448 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListDetail: + summary: Tax Return Personal + description: Example of a list of personal tax returns + value: + id: 02589c41-ba22-4d44-8558-8111cc751318X + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T17:28:00-05:00' + numero_operacion: '00000000001' + periodo_declaracion: Del Ejercicio + rfc: ABCD111111A11 + tipo_declaracion: Normal + nombre: JOHN DOE + sueldos_salarios: + retenedores: + - rfc_retenedor: ABCD222222A22 + nombre_denominacion_razon_social: ACME CORP + ingresos_exentos: 118263 + ingreso_anual: 2265 + subsidio_empleo: 0 + impuesto_retenido: 19497 + ingreso_anual: 118263 + ingresos_acumulables: 115998 + ingresos_exentos: 2265 + subsidio_empleo: 0 + servicios_profesionales: + deducciones_autorizadas: + deducciones_autorizadas: 11870 + otras_deducciones: null + detalle_deducciones: + - tipo_deduccion: GASTOS + concepto: GASOLINA Y MANTENIMIENTO DE TRANSPORTE + monto_detallado: 9682 + - tipo_deduccion: GASTOS + concepto: COMPRAS Y GASTOS GENERALES + monto_detallado: 2188 + total_deducciones_autorizadas: 11870 + ingresos: + ingresos_acumulables: 46000 + ingresos_exentos: null + otros_ingresos: null + total_ingresos: 46000 + resultado_fiscal: + utilidad_fiscal: 34130 + ptu_pagada_ejercicio: 0 + perdidas_fiscales_ejercicios_anteriores_aplicadas: 0 + utilidad_gravable: 34130 + pagos_provisionales: + pagos_provisionales_efectuados_en_ejercicio: 0 + retenciones_isr: + isr_retenido_personas_morales: 4600 + deducciones_personales: + honorarios_medicos_dentales_hospitalarios: + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 1000 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 502.34 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A55 + monto_deducible: 14183.1 + - rfc_emisor: ABC444444A66 + monto_deducible: 1658 + - rfc_emisor: ABC444444A77 + monto_deducible: 1600 + - rfc_emisor: ABC444444A88 + monto_deducible: 1064 + - rfc_emisor: ABC444444A99 + monto_deducible: 927.57 + donativos: + - rfc_emisor: ABC555555A99 + monto_deducible: 10.03 + aportaciones_voluntarias_complementarias_al_sar: + - rfc_emisor: ABC666666A99 + monto_deducible: 12.03 + - rfc_emisor: ABC777777A99 + monto_deducible: 87.22 + primas_por_seguros_de_gasto_medico: + - rfc_emisor: ABC777777A99 + monto_deducible: 20.03 + determinacion_impuesto: + base_gravable: 126864 + deducciones_personales: 23264 + ingresos_acumulables: 150128 + isr_favorable: 10308 + isr_conforme_tarifa_final: 13789 + isr_retenido: 24097 + num_clabe: '000000000000000001' + nombre_banco: BANCO SA + pagos_provisionales: 0 + titular_clabe_permite_verificacion: SÍ + accion_saldo_a_favor: DEVOLUCIÓN + retenciones: + sueldos_salarios: + - rfc_retenedor: ABC444444A99 + monto_retenciones: 118263 + retenciones_isr: 19497 + dividendos: [] + servicios_profesionales: + - rfc_retenedor: ABC444444A00 + monto_retenciones: 46000 + retenciones_isr: 4600 + dividendos: + monto_acumulable_dividendos_utilidades: null + monto_total_isr_pagado_sociedad: null + datos_informativos: + credito_fiscal_autorizado_proyectos_investigacion_desarrollo: 0 + credito_fiscal_autorizado_proyectos_apoyo_deporte_alto_rendimiento: 0 + credito_fiscal_autorizado_proyectos_inversion_artes: 0 + credito_fiscal_autorizado_inversion_equipos_fijos: 0 + credito_fiscal_autorizado_produccion_distribucion_cinematografica: 0 + saldo_credito_fiscal_autorizado_anteriores_investigacion_desarrollo: 0 + saldo_credito_fiscal_anteriores_proyectos_inversion_artes: 0 + saldo_credito_fiscal_anteriores_produccion_distribucion_cinematografica: 0 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnPersonalListMonthlyPFAEDetail: + summary: Tax Return Personal Monthly (PFAE) + description: Example of a PFAE-type monthly personal tax return + value: + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListMonthlyPFAIDetail: + summary: Tax Return Personal Monthly (PFAI) + description: Example of a PFAI-type monthly personal tax return + value: + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + tipo_de_deduccíon: dedduccíon opicional + optas_por_el_cálculo_acumulado: 'NO' + deduccíon_opcional: 700 + impuesto_predial: 0 + total_deducciones_autorizadas: 700 + tienes_facilidades_administrativas_o_estímulos_deducibles: 'NO' + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + impuesto_a_cargo: 54 + cantidad_a_cargo: 54 + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnBusinessListDetail: + summary: Tax Return Business + description: Example of a list of business tax returns + value: + id: 02589c41-ba22-4d44-8558-8111cc751318X + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T16:55:00-06:00' + numero_operacion: '000000000001' + periodo_declaracion: Del Ejercicio + rfc: ABC1111111A1 + tipo_declaracion: Normal + tipo_complementaria: null + denominacion_razon_social: ACME CORP + datos_adicionales: + indica_si_optas_por_dictaminar_tus_estados_financieros: 'NO' + estas_obligado_a_presentar_la_informacion_sobre_tu_situacion_fiscal: 'NO' + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero: SIN SELECCIÓN + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero_inferiores_100mdp: SIN SELECCIÓN + optas_por_presentar_informacion_sobre_tu_situacion_fiscal: SIN SELECCIÓN + indica_si_te_dedicas_exclisivamente_a_generacion_energia_fuentes_renovables_o_cogeneracion_electricidad_eficiente: 'NO' + estado_resultados: + ventas_servicios_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + ventas_servicios_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ingresos_netos: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + inventario_inicial: null + compras_netas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + compras_netas_importacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + inventario_final: null + costo_mercancias: null + mano_de_obra: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + maquilas: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + gastos_indirectos_fabricacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + costo_ventas_servicios: null + utilidad_bruta: 911165 + perdida_bruta: null + gastos_operacion: + partes_relacionadas: null + partes_no_relacionadas: 499540 + total: 499540 + utilidad_operacion: 411625 + perdida_operacion: null + intereses_devengados_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ganancia_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + perdida_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_favorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_desfavorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras: null + resultado_integral_financiamiento: null + otros_gastos_nacionales: null + otros_gastos_extranjero: null + otros_gastos: null + otros_productos_nacionales: null + otros_productos_extranjero: null + otros_productos: null + ingresos_partidas_discontinuas_extraordinarias: null + gastos_partidas_discontinuas_extraordinarias: null + utilidad_antes_impuesto: 411625 + perdida_antes_impuesto: null + isr: 113002 + ietu: null + impac: null + ptu: null + utilidad_participacion_subsidiaria: null + perdida_participacion_subsidiaria: null + efectos_reexpresion_favorables_excepto_resultado_posicion_monetaria: null + efectos_reexpresion_desfavorables_excepto_resultado_posicion_monetaria: null + utilidad_neta: 298623 + perdida_neta: null + estado_posicion_financiera_balance: + activo: + efectivo_caja_depositos_instituciones_credito_nacionales: 726644 + efectivo_caja_depositos_instituciones_credito_extranjero: null + inversiones_valores_instituciones_nacionales_excepto_acciones: null + inversiones_valores_instituciones_extranjero_excepto_acciones: null + cuentas_documentos_por_cobrar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + cuentas_documentos_por_cobrar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_a_favor: null + inventarios: null + otros_activos_circulantes: 13277 + inversiones_en_acciones_nacionales: null + inversiones_en_acciones_extranjero: null + inversiones_en_acciones_total: null + terrenos: null + construcciones: null + construcciones_en_proceso: null + maquinaria_y_equipo: null + mobiliario_y_equipo_oficina: null + equipo_de_computo: null + equipo_de_transporte: null + otros_activos_fijos: 12756 + depreciacion_acumulada: -106 + cargos_y_gastos_diferidos: 9319 + amortizacion_acumulada: null + suma_activo: 761890 + pasivo: + cuentas_documentos_por_pagar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 268227 + total: 268227 + cuentas_documentos_por_pagar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_por_pagar: 223490 + anticipos_de_clientes: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + aportaciones_futuros_aumentos_de_capital: null + otros_pasivos: null + suma_pasivo: 491717 + capital_contable: + capital_social_proveniente_aportaciones: 10000 + capital_social_proveniente_capitalizacion: null + reservas: null + otras_cuentas_capital: null + aportaciones_futuros_aumentos_de_capital: null + utilidades_acumuladas: null + utilidad_del_ejercicio: 298623 + perdidas_acumuladas: -38450 + perdida_del_ejercicio: null + exceso_en_actualizacion_capital: null + insuficiencia_en_actualizacion_capital: null + actualizacion_del_capital_contable: null + suma_capital_contable: 270173 + suma_pasivo_mas_capital_contable: 761890 + conciliacion_entre_resultado_contable_fiscal: + utilidad_o_perdida_neta: 298623 + efectos_reexpresion: null + resultado_posicion_monetaria: null + utilidad_o_perdida_neta_historica: 298623 + ingresos_fiscales_no_contables: 95 + ajuste_anual_inflacion_acumulable: 95 + anticipos_de_clientes: null + intereses_moratorios_efectivamente_cobrados: null + ganancia_en_enajenacion_acciones_por_reembolso_capital: null + ganancia_en_enajenacion_de_terrenos_y_activo_fijo: null + inventario_acumulable_del_ejercicio: null + otros_ingresos_fiscales_no_contables: null + deducciones_contables_no_fiscales: 117415 + costo_de_ventas_contable: null + depreciacion_y_amortizacion_contable: 106 + gastos_que_no_reunen_requisitos_fiscales: 4307 + isr_ietu_impac_ptu: 113002 + perdida_contable_enajenacion_de_acciones: null + perdida_contable_enajenacion_de_activo_fijo: null + perdida_en_participacion_subsidiaria: null + intereses_devengados_que_exceden_valor_mercado_y_moratorios_pagados_o_no: 0 + otras_deducciones_contables_no_fiscales: 0 + deducciones_fiscales_no_contables: 0 + ajuste_anual_inflacion_deducible: null + costo_vendido_fiscal: null + deduccion_inversiones: null + estimulo_fiscal_por_deduccion_inmediata_inversiones: null + donacion_bienes_basicos_subsistencia_humana: 0 + estimulo_fiscal_contratacion_personas_discapacidad_yo_mayores: 0 + deduccion_impuesto_sobre_renta_retenido_personas_discapacidad_yo_mayores: 0 + perdida_fiscal_en_enajenacion_acciones: null + perdida_fiscal_en_enajenacion_de_terrenos_y_activo_fijo: null + intereses_moratorios_efectivamente_pagados: null + otras_deducciones_fiscales_no_contables: null + ingresos_contables_no_fiscales: null + intereses_moratorios_devengados_a_favor_cobrados_o_no: null + anticipos_de_clientes_ejercicios_anteriores: null + saldos_a_favor_impuestos_y_su_actualizacion: null + utilidad_contable_enajenacion_de_activo_fijo: null + utilidad_contable_enajenacion_de_acciones: null + utilidad_en_participacion_subsidiaria: null + otros_ingresos_contables_no_fiscales: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416133 + deducciones_autorizadas: + sueldos_salarios: null + honorarios_pagados_a_personas_fisicas: null + regalias_y_asistencia_tecnica: null + donativos_otorgados: null + uso_o_goce_temporal_de_bienes_pagados_a_personas_fisicas: null + fletes_y_acarreos_pagados_a_parsonas_fisicas: null + contribuciones_pagadas_excepto_isr_ietu_impac_iva_ieps: null + seguros_fianzas: null + perdida_por_creditos_incobrables: null + viaticos_y_gastos_viaje: 59527 + combustible_y_lubricantes: null + credito_al_salario_no_disminuido_de_contribuciones: null + aportaciones_sar_infonavit_y_jubilaciones_vejez: null + aportaciones_para_fondos_de_pensiones_y_jubilaciones: null + cuotas_imss: null + consumos_en_restaurantes: 11254 + perdida_por_operaciones_financieras_derivadas: null + deduccion_por_concepto_de_ayuda_alimentaria_para_trabajadores: null + monto_total_pagos_que_sean_ingresos_exentos_para_trabajador: null + monto_deducible_al_47_pagos_son_ingresos_exentos_para_trabajador: null + monto_deducible_al_53_pagos_son_ingresos_exentos_para_trabajador: null + uso_o_goce_temporal_de_automoviles_baterias_electricas_o_electricos_con_motor_combustion_o_hidrogeno: null + otras_deducciones_autorizadas: 424346 + total_deducciones_autorizadas: 495127 + cifras_cierre_ejercicio: + perdidas_fiscales_de_ejercicios_anteriores_pendientes_de_amortizar_actualiazadas: null + saldo_promedio_anual_de_creditos: 142795 + saldo_promedio_anual_de_deudas: 144765 + coeficiente_de_utilidad_por_aplicar_en_ejercicio_siguiente: 0.4567 + porcentaje_de_participacion_consolidable: null + isr_causado_en_exceso_del_impac_en_los_3_ejercicios_anteriores_pendientes_aplicar: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_2013_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_a_partir_2014_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_reinvertida: null + saldo_actualizado_de_cuenta_de_capital_de_aportacion: null + saldo_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_renovables: null + determinacion_del_impuesto_sobre_la_renta: + determinacion_del_impuesto_sobre_la_renta: + total_ingresos_acumulables: 911260 + total_deducciones_autorizadas_y_deduccion_inmediata_inversiones: 495126 + deduccion_adicional_por_pago_servicios_personales_en_operacion_maquila: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416134 + ptu_pagada_en_el_ejercicio: null + utilidad_fiscal_del_ejercicio: 416134 + perdidas_fiscales_de_ejercicios_anteriores_que_se_aplican_en_ejercicio: 39462 + resultado_fiscal: 376672 + impuesto_causado_en_ejercicio: 113002 + tienes_estimulos_fiscales_a_acreditar: SIN SELECCIÓN + impuesto_sobre_la_renta_del_ejercicio: 113002 + pagos_provisionales_efectuados_enterados_a_federacion: null + impuesto_retenido_al_contribuyente: null + impuesto_acreditable_pagado_en_extranjero: null + impuesto_acreditable_por_dividendos_o_utilidades_distribuidos: null + otras_cantidades_a_cargo: null + otras_cantidades_a_favor: null + diferencia_a_cargo: 113002 + isr_a_cargo_del_ejercicio: 113002 + isr_a_favor_del_ejercicio: null + impuesto_sobre_ingresos_sujetos_a_regimenes_fiscales_preferentes: null + datos_informativos_ejercicio: + monto_aplicado_del_estimulo_fiscal_de_chatarrizacion: 0 + monto_deducible_de_pagos_efectuados_por_uso_o_goce_temporal_automoviles: 0 + impac_recuperado_en_ejercicio_derivado_de_deconsolidacion: 0 + ingresos_obtenidos_por_apoyos_gubernamentales: 0 + gastos_realidados_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_de_inversion_en_artes_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_inversion_en_proyectos_programas_para_deporte_de_alto_rendimiento_pendiente_aplicar: 0 + saldo_pendiente_aplicar_por_inversion_en_equipos_de_alimentacion_vehiculos_electricos: 0 + credito_fiscal_autorizado_en_ejercicio_a_produccion_distribucion_cinematografica_nacional_pendiente_aplicar: 0 + datos_informativos_ejercicios_anteriores_aplicados_en_ejercicio: + total_estimulo_produccion_y_distribucion_cinematografica_nacional_ejercicios_anteriores_aplicado_en_ejercicio: null + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_inversion_en_proyectos_programas_para_deporte_alto_rendimiento_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_inversion_artes_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_a_produccion_distribucion_nacional_pendiente_aplicar: 0 + dividendos_o_utilidades_distribuidos: + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_en_2013_y_anteriores: null + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_a_partir_de_2014: null + provenientes_de_cuenta_de_utilidad_fisica_neta_reinvertida_cufinre: null + no_provenientes_de_cufin_ni_cufinre_en_efectivo: null + no_provenientes_de_cufin_ni_cufinre_en_acciones: null + monto_del_impuesto_pagado_no_proveniente_de_cufin_ni_cufinre: null + monto_del_impuesto_pagado_de_utilidades_provenientes_de_cufinre: null + provenientes_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_energia_de_fuentes_renovables_o_sistemas_cogeneracion_electricidad_eficiente: null + detalle_pago_r1_isr_personas_morales: + a_cargo: 113002 + parte_actualizada: null + recargos: null + multa_por_correccion: null + total_contribuciones: 113002 + desea_aplicar_alguna_compensacion_o_estimulo: 'NO' + cantidad_a_cargo: 113002 + opta_por_pagar_parcialidades: SIN SELECCIÓN + importe_de_primera_parcialidad: null + importe_sin_primera_parcialidad: null + cantidad_a_favor: null + cantidad_a_pagar: 113002 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnBusinessListMonthlyDetail: + summary: Tax Return Business Monthly + description: Example of a monthly business tax return + value: + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: DPA950805RR2 + denominacion_razon_social: Aloha Mahalo SC + tipo_declaracion: Normal + ejercicio: 2020 + periodo_declaracion: Diciembre + fecha_hora_presentacion: '2021-01-18T19:24:00-06:00' + numero_operacion: '400475119' + tipo_complementaria: null + determinacion_isr: + personas_morales_regimen_general: + suma_ingresos_nominales_meses_anteriores_ejercicio: 69848414 + estimulos_acreditables: null + ingresos_nominales_mes_que_declara: 6482479 + reducciones: null + total_ingresos_nominales: 76330893 + impuestos_del_periodo: 284098 + coeficiente_utilidad: 0.2318 + pagos_provisionales_efectuados_anterioridad: 303039 + utilidad_fiscal_pago_provisional: 17693501 + impuesto_retenido: 29925 + ptu: null + otras_cantidades_a_cargo_contribuyente: null + iventario_acumulable: null + otras_cantidades_a_favor_contribuyente: null + anticipos_rendimientos_distribuidos_periodo: 16746509 + diferencia_a_cargo: 0 + perdidas_fiscales_ejercicios_anteriores_pendientes: null + estimulo_fiscal_deduccion_inmediata: null + impuesto_correspondiente_participacion_consolidable: null + deduccion_adicional_fomento_primer_empleo: null + porcentaje_participacion_consolidable: null + base_gravable_pago_provisional: 946992 + impuesto_a_cargo: 0 + isr_causado: 284098 + ieps_alcohol: null + detalle_pago_isr: + r1_isr_personas_morales: + a_cargo: 0 + acreditamiento_sorteo_buen_fin: null + parte_actualizada: null + diesel_marino: null + recargos: null + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 0 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 0 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + uso_infraestructura_carretera_cuota: null + cantidad_a_pagar: 0 + otros_estimulos: null + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r12_isr_retenciones_por_salarios: + a_cargo: 415945 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 379 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 415945 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: 379 + cantidad_a_cargo: 415566 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 415566 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r13_isr_retenciones_por_asimilados_a_salarios: + a_cargo: 254588 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 254588 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 254588 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 254588 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r14_isr_retenciones_por_servicios_profesionales: + a_cargo: 104482 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 104482 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 104482 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 104482 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + determinacion_iva: + montos_actos_actividades_pagados: + total_actos_actividades_pagados_tasa_16: 2094706 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + total_actos_actividades_sujetos_estimulo_rfn: 0 + total_actos_actividades_pagados_tasa_0: 0 + total_actos_actividades_pagados_importacion_bienes_tasa_16: null + total_actos_actividades_pagados_no_paga_iva: 0 + detalle_total_actos_actividades_pagados_tasa_16: + intereses_pagados_tasa_16: null + otros_actos_pagados_tasa_16: 2094706 + regalias_pagadas_tasa_16: null + total_actos_pagados_tasa_16: 2094706 + determinacion_iva_acreditable: + total_iva_actos_actividades_pagados_tasa_16: 335153 + iva_trasladado_o_pagado_adquisicion_bienes_distintos_inversiones_actos_no_obligados_pago_impuesto: null + iva_pagado_sujeto_estimulo_rfn: null + iva_trasladado_o_pagado_importacion_inversiones_actos_no_obligados_pago_impuesto: null + total_actos_actividades_pagados_importacion_bienes_tasa_16: 0 + iva_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: 0 + proporcion_utilizada_conforme_art_5: null + total_iva_trasladado_contribuyente: 335153 + proporcion_utilizada_conforme_art_5_b: null + iva_trasladado_adquisicion_bienes_distintos_inversiones_actos_gravados: 335153 + iva_pagado_importacion_adquisicion_bienes_distintos_inversiones_actos_gravados: null + iva_acreditable: 335153 + monto_acreditable_actualizado_a_incrementar_derivado_ajuste: null + iva_pagado_importacion_inversiones_actos_gravados: null + total_iva_acreditable_periodo: 335153 + total_iva_actos_actividades_gravados: 335153 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + iva_trasladado_adquisicion_inversiones_actos_gravados: null + iva_acreditable_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: null + determinacion_iva: + valor_actos_actividades_gravados_tasa_16: 6457950 + otras_cantidades_a_favor_contribuyente: null + valor_actos_actividades_gravados_tasa_11: null + cantidad_a_cargo: 312421 + valor_actos_actividades_gravados_tasa_0_exportacion: null + saldo_a_favor: null + valor_actos_actividades_gravados_tasa_9_otros: null + devolucion_inmediata_obtenida: null + suma_actos_actividades_gravados: 6457950 + saldo_a_favor_periodo: 0 + valor_actos_actividades_no_se_deba_pagar_impuesto_exentos: null + acreditamiento_saldo_favor_periodos_anteriores: null + impuesto_causado: 1033272 + diferencia_a_cargo: 312421 + cantidad_actualizada_a_reintegrarse_derivada_de_ajuste: null + ieps_acreditable_alcohol: null + iva_retenido_al_contribuyente: 385698 + impuesto_a_cargo: 312421 + total_iva_acreditable: 335153 + remanente_saldo_favor_ieps_alcohol: null + otras_cantidades_a_cargo_contribuyente: null + detalle_valor_actos_actividades_gravados_tasa_16: + intereses_cobrados_tasa_16: null + otros_actos_actividades_gravados_tasa_16: 6457950 + regalias_entre_partes_relacionadas_tasa_16: null + total_actos_actividades_gravados_tasa_16: 6457950 + detalle_pago_iva: + r21_iva: + a_cargo: 312421 + cretificados_tesofe: null + a_favor: null + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 312421 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 312421 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + diesel_automotriz_transporte: null + uso_infraestructura_carretera_cuota: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 312421 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r21_iva_retenciones: + a_cargo: 111448 + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 111448 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 111448 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + otros_estimulos: null + cantidad_a_favor: null + cretificados_tesofe: null + cantidad_a_pagar: 111448 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxStatusPersonalListPaginated: + summary: Personal Tax Status + description: Example of a list of personal tax status + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: e88d29d1-3dc6-407f-825c-a9b50453e349 + link: 401d5a8e-79e2-472e-a1ca-8f4646f5cb24 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: Alfredo Gonzalo Robin + id_cif: '2274235873432' + tax_payer_information: + rfc: GGTF770303G7 + curp: BEMP930403HDFLLT00 + name: Alfredo + first_last_name: Gonzalo + second_last_name: Robin + start_operations_date: '2000-06-01' + status_padron: ACTIVO + last_status_change_date: '2000-06-01' + commercial_name: Alfredo Gonzalo Robin + social_name: null + email: alfredo@robin.com + phone: '667507132' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Asalariado + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen de Sueldos y Salarios e Ingresos Asimilados a Salarios + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo + que corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/09/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + ExpsnSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjel= + pdf: '=PDF-STRING=' + TaxStatusBusinessListPaginated: + summary: Business Tax Status + description: Example of a list of business tax status + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 6de34cb3-bf0d-445d-b832-7ec7781e2c6f + link: 0b2edc42-7214-4c68-b22e-ae6885bf7c07 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: ACNE SA DE CV + id_cif: '2274235873432' + tax_payer_information: + rfc: GHTF980303F7 + curp: null + name: null + first_last_name: null + second_last_name: null + start_operations_date: '1995-08-01' + status_padron: ACTIVO + last_status_change_date: '1995-08-01' + commercial_name: null + social_name: ACNE SA DE CV + email: contact@acne.com + phone: '555507122' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Otros servicios profesionales, científicos y técnicos + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen General de Ley Personas Morales + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo + que corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/04/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + EtenSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjow= + pdf: '=PDF-STRING=' + TaxStatusPersonalList: + summary: Personal Tax Status + description: Example of a list of personal tax status + value: + id: 6de34cb3-bf0d-445d-b832-7ec7781e2c6fX + link: 401d5a8e-79e2-472e-a1ca-8f4646f5cb24 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: Alfredo Gonzalo Robin + id_cif: '2274235873432' + tax_payer_information: + rfc: GGTF770303G7 + curp: BEMP930403HDFLLT00 + name: Alfredo + first_last_name: Gonzalo + second_last_name: Robin + start_operations_date: '2000-06-01' + status_padron: ACTIVO + last_status_change_date: '2000-06-01' + commercial_name: Alfredo Gonzalo Robin + social_name: null + email: alfredo@robin.com + phone: '667507132' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Asalariado + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen de Sueldos y Salarios e Ingresos Asimilados a Salarios + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo que + corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/09/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + ExpsnSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjel= + pdf: '=PDF-STRING=' + TaxStatusBusinessList: + summary: Business Tax Status + description: Example of a list of business tax status + value: + id: 6de34cb3-bf0d-445d-b832-7ec7781e2c6fX + link: 0b2edc42-7214-4c68-b22e-ae6885bf7c07 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: ACNE SA DE CV + id_cif: '2274235873432' + tax_payer_information: + rfc: GHTF980303F7 + curp: null + name: null + first_last_name: null + second_last_name: null + start_operations_date: '1995-08-01' + status_padron: ACTIVO + last_status_change_date: '1995-08-01' + commercial_name: null + social_name: ACNE SA DE CV + email: contact@acne.com + phone: '555507122' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Otros servicios profesionales, científicos y técnicos + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen General de Ley Personas Morales + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo que + corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/04/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + EtenSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjow= + pdf: null + CategorizationExample: + summary: Categorization + description: Example of categorized transactions + value: + transactions: + - description: APPL3STORE + transaction_id: 3CWE4927CF15355 + account_holder_type: INDIVIDUAL + account_holder_id: '7890098789087' + account_id: EREB-89077589 + account_category: CREDIT_CARD + value_date: '2022-11-18' + type: OUTFLOW + amount: 650.89 + currency: BRL + institution: Erebor Retail Brasil + mcc: 2345 + category: Income & Payments + subcategory: Freelance + merchant: + logo: >- + https://www.apple.com/ac/structured-data/images/open_graph_logo.png?202110180 + website: https://www.apple.com/br/ + merchant_name: Apple, Inc + - description: OXXO SP + transaction_id: 3CWE4927CF15996 + account_holder_type: INDIVIDUAL + account_holder_id: '996685090015' + account_id: BDBACA-89077896 + account_category: CHECKING_ACCOUNT + value_date: '2022-12-02' + type: OUTFLOW + amount: 999.9 + currency: BRL + institution: BCO DO BRASIL + mcc: null + category: Income & Payments + subcategory: Freelance + merchant: + logo: >- + https://storage.googleapis.com/new-cdn.mercafacil.com/wl_assets/dynamic/65d84ba0-a2f3-11ed-8928-dd578f525074-MOBILE_1OCo1.png + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global +security: + - basicAuth: [] +x-readme: + explorer-enabled: true + proxy-enabled: true + samples-enabled: true + samples-languages: + - curl diff --git a/sdks/db/generate-repository-description-cache/belvo.json b/sdks/db/generate-repository-description-cache/belvo.json new file mode 100644 index 0000000000..46b192f50e --- /dev/null +++ b/sdks/db/generate-repository-description-cache/belvo.json @@ -0,0 +1,3 @@ +{ + "Belvo es la plataforma líder de datos y pagos de open finance en Latinoamérica. Ayudamos a innovadores financieros a acceder a los datos financieros de tus usuarios, entender mejor su comportamiento y habilitar pagos instantáneos gracias al open finance, con el objetivo de impulsar productos más eficientes, seguros e inclusivos.": "Belvo es la plataforma líder de datos y pagos de open finance en Latinoamérica. Ayudamos a innovadores financieros a acceder a los datos financieros de tus usuarios, entender mejor su comportamiento y habilitar pagos instantáneos gracias al open finance, con el objetivo de impulsar productos más eficientes, seguros e inclusivos." +} \ No newline at end of file diff --git a/sdks/db/intermediate-fixed-specs/belvo/openapi.yaml b/sdks/db/intermediate-fixed-specs/belvo/openapi.yaml new file mode 100644 index 0000000000..1e0ead73d7 --- /dev/null +++ b/sdks/db/intermediate-fixed-specs/belvo/openapi.yaml @@ -0,0 +1,30552 @@ +openapi: 3.0.2 +info: + title: Belvo API Docs + version: 1.102.0 + description: > + # Introduction + + + 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: + + + + - **Bank information** such as account information, real-time + + balance, historical transactions, and account owner identification. + + + - **Fiscal information** such as received and sent invoices and tax returns. + + + + fiscal-endpoints + + + + In this API reference you'll find all the information you need about each + + + endpoint and resource. + + + +
+ + + Tip: Make sure that you also check out our Developer + + Portal for guides on how to get started, using our Sandbox environment, as well as how to integrate the widget or use our quickstart application. + + +
+ + + + ## Environment + + + We currently offer three environments: sandbox, development, and + + production. + + + + When using our SDKs, make sure to use the **Alias** (and not the Base URL). + + + + | Environment | Purpose | Access | + + |-----------|-------|-------| + + | **Sandbox** | The [Sandbox + environment](https://developers.belvo.com/docs/test-in-sandbox) is dedicated + for your testing and development phases. In this environment, you can create + links without real credentials and you can pull test data from all + endpoints. **⚠️The sandbox environment is refreshed frequently and your test + data can be updated or deleted.** | Base URL (cURL): + https://sandbox.belvo.com/

Alias (SDKs): sandbox| + + |**Development**|The Development environment is dedicated for testing with + real credentials and institutions with real-world institutions. You can + create up to 25 links for free in this environment.| Base URL (cURL): + https://development.belvo.com/

Alias (SDKs): development | + + | **Production** | The Production environment is dedicated for live + applications with real connections to institutions. In this environment, you + + will need real credentials to create links and you will pull real data from + the institutions.| Base URL (cURL): https://api.belvo.com/

Alias + + (SDKs): production| + + + + For each environment, you'll need to [generate separate API + + keys](https://developers.belvo.com/docs/get-your-belvo-api-keys). + + + + ## 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 + 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 + + + + ### Error messages + + + + 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. Check the table below to see how to + + handle each error code. + + + - `field` *(optional)*: The specific field in the request body that has an + + issue. + + + + + ### Request identifier + + + When you need help with a specific error, add the request identifier + + (`request_id`) in your message to the Belvo support team. This will speed up + + investigations and get you back up and running in no time at all. + + + + ### Error codes and troubleshooting + + + + For a full list of errors and how to troubleshoot them, please see our + + dedicated [Error handling + + articles](https://developers.belvo.com/docs/integration-overview#error-handling) + + in our DevPortal. + + + + + ### Retry policy + + + + Please see our recommended [retry + + policies](https://developers.belvo.com/docs/integration-overview#error-retry-policy) + + in the DevPortal. + 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 + - url: https://development.belvo.com + description: Development +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 Banamex retail banking or HSBC business + banking. + + - fiscal institution, such as the Servicio de Administración Tributaria + (SAT) in Mexico. + + + ![](https://files.readme.io/69a4676-Banking__Tax.png) + + + You can see a complete list of institutions by either consulting our + [Institutions article](https://developers.belvo.com/docs/institution) or + making a List request to this endpoint. + - name: Links + description: >- + A **Link** is a set of credentials associated to an end-user's access to + an **institution**. + + +
+ + Example: The username and password combination used to + log in to an online banking application would be a link. + +
+ + + You will need to register a **Link** before accessing information from + that specific end-user, such as account or transaction details. + + +
+ + Note: We recommend using our Connect Widget to handle link creation and link status + updates. + +
+ + + You have the possibility to register two types of links: + + + ### Recurrent links (default) + + + With recurrent links, Belvo automatically refreshes information weekly and + notifies you via [Webhooks](https://developers.belvo.com/docs/webhooks) so + you always have up-to-date data. Then, when you receive the webhook, you + can make GET requests to the List or Detail endpoints to instantly access + up-to-date information, without needing to connect to the institution. + + + fiscal-endpoints + + + You can also make POST calls directly to the institution, as with single + links, as soon as the link is created. However, we recommend you follow + the flow described above (waiting for the webhook event) for a more + optimal experience. + + + ### Single links + + + Single links are used to perform ad hoc data access to accounts, owners, + transactions, and so on. For example, you can use it when you want to do + an underwriting process to assess risk before lending money. + + + For single links, you have to perform POST calls to an institution **every + time** you want to access fresh data. + + + fiscal-endpoints + - name: Banking API introduction + description: > + Use our Banking API product to access account, balance, owner, bank + statement, as well as transaction data from banking institutions.
+ + + + ![](https://files.readme.io/894213c-Banking_and_Gig.png "Banking and + Gig.png") + + + + | API Endpoint | + Description + | Supported institutions | + + | --------------------------- | + ------------------------------------------------------------------------- + | ---------------------- | + + | `api/accounts/` | Get information about your customer's bank + accounts. | Banking | + + | `api/balances/` | Get the balance at the end of each day for + your customer's bank accounts. | Banking | + + | `api/owners/` | Get the details of an account + owner. | Banking | + + | `api/transactions/` | Get a list of bank transactions with + metadata. | Banking | + - name: Accounts + description: >- + An **account** is the representation of a bank account inside a financial + institution. A user can have one or more accounts in an institution. + + + For example, one user (or link) can have a checking account, several + credit cards, and a loan account. + + + Querying for a user's account information is useful as you can get + information regarding: + + + - what types of accounts the user has. + + - the balance for each account (savings, checking, credit card, loan, and + so on). + + - detailed information regarding their credit card spending. + + - the current situation of any loans they may have. + - name: Transactions + description: >- + A **transaction** contains the detailed information of each movement + inside an account. For example, a purchase at a store or a restaurant. + - name: Balances + description: >- + A **balance** represents the amount of funds available in a checking or + savings account over a period of time. + + + DEPRECATED + + + > 📘 + + > + + > Savings accounts that do not have any associated transactions (for + example, some _poupança_ accounts in Brazil) will not contain accurate + Balance information. We do not recommend using the Balance endpoint for + these types of accounts. + + > + + > Savings accounts vary from institution to institution, so we recommend + that you first use our [Retrieve transactions for a + link](https://developers.belvo.com/reference/retrievetransactions) + request, adding the `account` in the request body, to see if the Savings + account has any associated transactions. + - name: Owners + description: >- + An **owner** represents the person who has access to a Link and is the + owner of all the accounts inside the Link. + + + You can use this endpoint in order to get useful information about your + client, such as: + + + - their full name + + - key contact information + + - information about the ID document they used when opening the account + - name: Employment Records + description: "Our employment records\_resource for Mexico lets you get a comprehensive view of your user’s current social security contributions and employment history.\n\nWith Belvo's employment records resource for Mexico, you can access information about your user's current social security contributions and employment history. For the each user, we return the:\n\n- personal data\n- work history\n- historical and current daily base salary\n- and more!\n\nAt the moment, the employment records resource is available for:\n\n- 🇲🇽\_Mexico (IMSS)" + - name: Enrichment API introduction + description: >- + Belvo's Enrichment API are a set of endpoints that return additional + insights on your user's banking data. + + + - **Incomes**: Use this endpoint to verify your user's income. + + - **Recurring Expenses**: Use this endpoint to identify the recurrent + expenses (such as Netflix subscriptions) that your user pays. + + - **Risk Insights**: Use this endpoint to retrieve key data points to feed + into your risk evaluation models. + - name: Incomes + description: >- + Use the Incomes endpoint to gather insights on an account's income sources + for the past 365 days. The endpoint is particularly useful when you want + to verify a person's income. + + +
+ Info: The incomes resource is only available for Checking and Savings + accounts associated with banking links. +
+ - name: Recurring Expenses + description: >- + Belvo's Recurring Expenses API allows you to identify a user's regular + payments for subscription services, such as Netflix or gym memberships, as + well as utility payments, such as electricity or phone bills. We return + information for up to 365 days. + + +
+ Info: The recurring expenses resource is only available for Checking, Savings and Credit Card accounts associated with banking links. +
+ - name: Risk Insights + description: >- + Belvo's Risk Insights endpoint exposes a set of features that can be used + to improve your company's credit risk and opportunity decisions. + + + This set of features can be used as building blocks to create or iterate + on your credit score using transactional banking data to improve the + predictive power of your models. You can use these components as you + require and make the most sense for your specific use case. + + + We take up to 365 days of transactional data from the user's checking, + savings, loans, and credit card accounts to calculate the risk insights. + We perform calculations on this set of transactions and provide aggregate + metrics in the following periods: three days, one week, one month, three + months, six months, and twelve months. + + + > **Note**: Categorized transaction metrics period + + > + + > At present, for our categorized transaction metrics (`category_metrics`) + we only supply the calculated totals for the last three months. + + + + If you need to know the currency of the account, make a GET Details + request to the Accounts endpoint (using the account ID you receive from in + the accounts array of the response). + - name: EYOD API introduction + description: > + Our Enrich Your Own Data (EYOD) product provides you with enriched + transaction information and easy-to-use insights about your users + incomesfrom various sources, including open finance data or your own + dataset. + + + + + | API Endpoint | + Description + | + + | ---------------------------- | + ------------------------------------------------------------------------------------------------------------------------------------- + | + + | `api/categorization` | Enrich transactions with category, + subcategory, and merchant + information. | + + | `api/enrich/incomes` | Enrich transaction data from any source + and gather insights on your user's income sources and asses their future + income potential. | + + | `api/enrich/risk-insights` | Enrich transaction data from any source + and gather a set of features that can be used to improve your company's + credit risk and opportunity decisions | + - name: Categorization + description: >- + Our Categorization resource provides you with categorized information for + a transaction. You’ll need to send a POST Categorize Transactions request + with raw transactional information (such as amount, description, and + holder information) to which Belvo: + + - assigns a standardized category to each transaction + + - provides additional information about the merchant involved in the + transaction (name, logo, website URL) + + - name: Income Verification + description: >- + Verify your users' income and forecast their future income potential with + Belvo. Your only need to send trough a your raw transaction data and Belvo + returns: + + + - insights into your user’s multiple sources of income + + - a stability score that reflects the consistency and regularity of your + user’s income history + + - a confidence level for future income + - name: Fiscal API introduction + description: >- + Use our **Fiscal API** product to access invoices, tax compliance + statuses, tax returns, tax retentions, and tax statuses from the fiscal + authority in a given country. + + + | API Endpoint | + Description + | + + | ---------------------------- | + ------------------------------------------------------------------------------------------------------------------------------------- + | + + | `api/invoices/` | Get all the information about the + invoices sent and received by a person or a business that have been + certified by the tax authority. | + + | `api/tax-compliance-status/` | Get information about whether a person or + business is complying to their tax + obligations. | + + | `api/tax-compliance-status/` | Get tax declaration information for your + users. At the moment only available for 🇨🇴 DIAN + Colombia. | + + | `api/tax-returns/` | Get all the information about the tax + returns sent every year to the tax authority by a person or a + business. | + + | `api/tax-retentions/` | Get information about tax retention + invoices sent and received by a business or a + person. | + + | `api/tax-status/` | Get all the information about the tax + situation of a person or a + business. | + + +
+ + Note: You can only access this information with + fiscal links. + +
+ - name: Invoices + description: >- + An **invoice** is the representation of an electronic invoice, that can be + received or sent, by a business or an individual and has been uploaded to + the fiscal institution's website. Multiple INFLOW (invoice received) and + OUTFLOW (invoice sent) invoices can be retrieved inside each link coming + from a fiscal institution. + - name: Tax declarations + description: >- + Our Tax declarations endpoint lets you retrieve the electronic + representation of the tax declaration document emitted by a country's tax + authority. + + + At the moment, the Tax Declaration resource is available for: + + + - 🇨🇴 Colombia (DIAN) + - name: Tax returns + description: >- + A **tax return** is the representation of the tax return document sent + every year by a person or a business to the tax authority in the country. + + + The tax return data structure will be different depending on if it is + related to a person or a business (you will find examples for both in the + endpoints below). + - name: Tax status + description: >- + Our **Tax status** endpoint lets you retrieve information about a person's + or business's tax situation, according to the country's tax authority. + + + - For SAT (Mexico), this information is extracted from the _Constancia de + situación fiscal_ document. + + - For DIAN (Colombia), this information is extracted from the _Registro + Único Tributario_ document. + - name: Tax retentions + description: >- + A **tax retention** is the amount of money that the payer must deduct from + the total amount of a purchase invoice, according to the fiscal + institution’s regulations. + + + With Belvo’s Tax Retentions resource, you can quickly and easily consult + information regarding a user’s tax retentions over a given period or for a + specific invoice. This is particularly useful when you want to aid your + user in their tax returns as for each invoice you receive the: + + + - invoice amount + + - amount that is exempt from taxation + + - total amount that is taxed + + - breakdown of all the taxes applied to the invoice + - name: Tax compliance status + description: >- + A **tax compliance status** indicates about whether a person or business + is complying with their tax obligations at the moment of the request. The + information is extracted from SAT's _Opinion de cumplimiento de + Obligaciones Fiscales_ document. + - name: Credit Score + description: >- + # Credit score + + + Belvo's Credit Score (powered by FICO) resource allows you to receive an + industry-standard credit score based on a link's transactional and account + data. + + + > **Note**: At present, the credit score resource is **only** available + for OFDA Brazil links. + + + For any OFDA Brazil link, you can simply send through the `link` ID (with + an optional `date_to` parameter), and Belvo will respond with the + calculated credit score (provided there is at least 30 days of + transactional data available for the link). + + + Request Example + + ```json + + + { + "link": "2ccd5e15-194a-4a19-a45a-e7223c7e6717", // ID of the OFDA link. + "date_to": "2023-02-28", // Optional date until when you want the credit score to be calculated. + "save_data": true + } + + + ``` + + + Response Example + + ```json + + { + "id": "03a7b0d1-efc7-4ab8-981e-89e0c82db03ea", + "link": "30cb4806-6e00-48a4-91c9-ca55968576c8", + "created_at": "2020-04-23T21:32:55.336854+00:00", + "date_to": "2023-01-01", // Date until when transactional and account data were taken into account for the calculation + "score": 400, // The resulting credit score. + "reason_codes": [ + // Array of reasons for the credit score. + { + "code": "N02", + "description": "No description available for this reason code" + }, + { + "code": "C06", + "description": "Out of Pattern transaction checking deposit day" + } + ] + } + + ``` + + + + + ## Credit score reason_codes + + + Below is a possible list of `reason_codes` that we return for each credit + score result. + + + > Note: Each credit score result can have up to **four** `reason_codes`. + + + | Code | + Description + | + + | ---- | + -------------------------------------------------------------------------------------- + | + + | C01 | High checking spend with higher weekday + spend | + + | C02 | Multiple excessive spend over inflow with small spend + capability | + + | C03 | Multiple excessive spend over inflow with small checking + balance | + + | C04 | Repeated excessive spend over inflow with repeated higher loan + costs | + + | C05 | Low percentage of utility spend with low percentage of utility + spend | + + | C06 | Out of Pattern transaction checking deposit + day | + + | C07 | Higher weekday + spend | + + | C08 | High bank charge with high checking + spend | + + | C09 | High number of outflow transfers with low number of + deposits | + + | C10 | Reduction in recent utility + spend | + + | C11 | Large number of loan borrowed with high percentage of weekday + spend | + + | C12 | High restaurant spend with lower recent + deposits | + + | C13 | Multiple excessive spend over inflow with high loan + inflow | + + | C14 | Higher non-essential + spend | + + | C15 | High retail spend with high number of outflow + transfers | + + | C16 | High spend over inflow with multiple excessive spend over + inflow | + + | C17 | Multiple excessive spend over inflow with high credit card + balance | + + | C18 | Multiple excessive spend over inflow with high number of bank + charges | + + | C19 | Multiple excessive spend over + inflow | + + | C20 | High spend over inflow with high number of outflow + transfers | + + | C21 | Small spend + capability + | + + | C22 | Small checking + balance | + + | C23 | High credit card + balance | + + | C24 | High percentage of bank charges with reduction in recent utility + spend | + + | C25 | Low creditcard payment with lower inflow + value | + + | C26 | Higher spend with out of pattern transaction spend + day | + + | C27 | Lower inflow + value + | + + | C28 | Out of pattern transaction checking deposit amount and + day | + + | C29 | Out of pattern transaction checking deposit + day | + + | C30 | Multiple larger spend over inflow with high credit card + balance | + + | C31 | High credit card balance with large number of loan + costs | + + | C32 | Small inflow + value + | + + | C33 | High spend over inflow with small checking + balance | + + | C34 | High spend over + inflow | + + | C35 | Repeated lower net cash flow with lower inflow + value | + + | C36 | Small percentage of grocery + spend | + + | C37 | Small checking balance with higher credit card + spend | + + | C38 | Small checking balance with higher bank + charges | + + | C39 | Low net cash + flow + | + + | C40 | High credit card balance with multiple credit + cards | + + | C41 | High percentage credit card spend with high percentage of weekday + spend | + + | C42 | High credit card balance with high percentage of weekday + spend | + + | C43 | Higher spend over + inflow | + + | N01 | No transactions from checking + accounts | + + | N02 | Less than thirty days history of transactions across checking and + credit card accounts | + + | N03 | Less than fewer than thirty transactions across checking and + credit card accounts | + - name: Credit Score (EYOD) + description: >- + Belvo's Credit Score (powered by FICO) resource allows you to receive an + industry-standard credit score based on your customer's *raw* + transactional and account data. + + + **Request example:** + + + For details regarding the request body for EYOD Credit Score, see our API + reference documentation. + + + ```json + + [ + { + "user_id": "AGH7890098789087", + "reference_date": "2023-06-01", + "language": "pt", + "transactions": [ // Up to 10,000 transactions (each transaction must be associated with an account) + { + "transaction_id": "3CWE4927CF15355", + "account_id": "AGH7890098789087-Checking-Erebor", + "value_date": "2023-05-18", + "type": "INFLOW", + "amount": 650.89, + "currency": "BRL", + "description": "Pagamento Netflix Maio 2023" + } + ], + "accounts": [ + { + "id": "AGH7890098789087-Checking-Erebor", + "category": "CHECKING_ACCOUNT", + "balance": 12540.67, + "balance_date": "2023-06-01", + "currency": "BRL" + } + ] + } + ] + + + ``` + + + + **Response example:** + + + Once you send through the raw data, Belvo will analyze and calculate your + customer's credit score (a value between 350 and 750) along with up to + *four* reasons for the calculated score. + + + ```json + + { + "id": "03a7b0d1-efc7-4ab8-981e-89e0c82db03ea", + "link": "30cb4806-6e00-48a4-91c9-ca55968576c8", + "created_at": "2020-04-23T21:32:55.336854+00:00", + "date_to": "2023-01-01", // Date until when transactional and account data where taken into account for the calculation + "score": 400, // The resulting credit score. + "reason_codes": [ + // Array of reasons for the credit score. + { + "code": "N02", + "description": "No description available for this reason code" + }, + { + "code": "C06", + "description": "Out of Pattern transaction checking deposit day" + } + ] + } + + ``` + + + + + + + ## Credit score reason_codes + + + Below is a possible list of `reason_codes` that we return for each credit + score result. + + + > Note: Each credit score result can have up to four `reason_codes`. + + + | Code | + Description + | + + | ---- | + -------------------------------------------------------------------------------------- + | + + | C01 | High checking spend with higher weekday + spend | + + | C02 | Multiple excessive spend over inflow with small spend + capability | + + | C03 | Multiple excessive spend over inflow with small checking + balance | + + | C04 | Repeated excessive spend over inflow with repeated higher loan + costs | + + | C05 | Low percentage of utility spend with low percentage of utility + spend | + + | C06 | Out of Pattern transaction checking deposit + day | + + | C07 | Higher weekday + spend | + + | C08 | High bank charge with high checking + spend | + + | C09 | High number of outflow transfers with low number of + deposits | + + | C10 | Reduction in recent utility + spend | + + | C11 | Large number of loan borrowed with high percentage of weekday + spend | + + | C12 | High restaurant spend with lower recent + deposits | + + | C13 | Multiple excessive spend over inflow with high loan + inflow | + + | C14 | Higher non-essential + spend | + + | C15 | High retail spend with high number of outflow + transfers | + + | C16 | High spend over inflow with multiple excessive spend over + inflow | + + | C17 | Multiple excessive spend over inflow with high credit card + balance | + + | C18 | Multiple excessive spend over inflow with high number of bank + charges | + + | C19 | Multiple excessive spend over + inflow | + + | C20 | High spend over inflow with high number of outflow + transfers | + + | C21 | Small spend + capability + | + + | C22 | Small checking + balance | + + | C23 | High credit card + balance | + + | C24 | High percentage of bank charges with reduction in recent utility + spend | + + | C25 | Low creditcard payment with lower inflow + value | + + | C26 | Higher spend with out of pattern transaction spend + day | + + | C27 | Lower inflow + value + | + + | C28 | Out of pattern transaction checking deposit amount and + day | + + | C29 | Out of pattern transaction checking deposit + day | + + | C30 | Multiple larger spend over inflow with high credit card + balance | + + | C31 | High credit card balance with large number of loan + costs | + + | C32 | Small inflow + value + | + + | C33 | High spend over inflow with small checking + balance | + + | C34 | High spend over + inflow | + + | C35 | Repeated lower net cash flow with lower inflow + value | + + | C36 | Small percentage of grocery + spend | + + | C37 | Small checking balance with higher credit card + spend | + + | C38 | Small checking balance with higher bank + charges | + + | C39 | Low net cash + flow + | + + | C40 | High credit card balance with multiple credit + cards | + + | C41 | High percentage credit card spend with high percentage of weekday + spend | + + | C42 | High credit card balance with high percentage of weekday + spend | + + | C43 | Higher spend over + inflow | + + | N01 | No transactions from checking + accounts | + + | N02 | Less than thirty days history of transactions across checking and + credit card accounts | + + | N03 | Less than fewer than thirty transactions across checking and + credit card accounts | +paths: + /api/links/: + get: + tags: + - Links + operationId: ListLinks + summary: List all links + description: > + Get a paginated list of all the existing links in your Belvo account. By + default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/institution' + - $ref: '#/components/parameters/institution__in' + - $ref: '#/components/parameters/access_mode' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/created_by__not_in' + - $ref: '#/components/parameters/external_id' + - $ref: '#/components/parameters/external_id__in' + - $ref: '#/components/parameters/institution_user_id' + - $ref: '#/components/parameters/institution_user_id__in' + - $ref: '#/components/parameters/refresh_rate' + - $ref: '#/components/parameters/status_links' + - $ref: '#/components/parameters/status__in_links' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedResponseLink' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Links + operationId: RegisterLink + summary: Register a new link + description: > + Register a new link with your Belvo account. + + +
+ + Note: We recommend using our Connect Widget to handle link creation and link + status updates. + +
+ parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LinksRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + 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/InvalidLinkError' + - $ref: '#/components/schemas/400InvalidCredentialsStorageError' + - $ref: '#/components/schemas/400InvalidFetchHistorical' + - $ref: '#/components/schemas/400InvalidResourcesError' + - $ref: '#/components/schemas/UnconfirmedLinkError' + - $ref: '#/components/schemas/UnsupportedOperationError' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Links + operationId: PatchLinks + summary: Complete a links request + description: > + Used to resume a Link register session that was paused because an MFA + token + + was required by the institution. + parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBodyWithoutSaveData' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/links/{id}/: + get: + tags: + - Links + operationId: DetailLink + summary: Get a link's details + description: Get the details of a specific link. + parameters: + - name: id + in: path + required: true + schema: + type: string + format: uuid + description: The `link.id` you want to get detailed information about. + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + patch: + tags: + - Links + operationId: ChangeLinkAccessMode + summary: Change a link's access mode + description: > + Change a link's access mode from `single` to `recurrent` or from + `recurrent` to single. + + + ℹ️ **Note**: When you change a link from `single` to `recurrent`, they + will only be updated the next day at the scheduled interval. + parameters: + - name: id + in: path + required: true + schema: + type: string + format: uuid + example: e4bb1afb-4a4f-4dd6-8be0-e615d233185b + description: The `link.id` you want to change the `access_mode` for. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChangeAccessMode' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/InvalidAccessMode' + - $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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + put: + tags: + - Links + operationId: UpdateLink + summary: Update a link's credentials + description: > + Update the credentials of a specific link. If the successfully updated + link is a recurrent one, we automatically trigger an update of the link. + If we find fresh data, you'll [receive historical + update](https://developers.belvo.com/docs/webhooks) webhooks. + +
Note: We recommend using our Connect Widget to handle updating + invalid or token_required links.
+ parameters: + - name: id + in: path + required: true + schema: + type: string + format: uuid + description: The `link.id` you want to update. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LinksPutRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Link' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + delete: + tags: + - Links + operationId: DestroyLink + summary: Delete a link + description: > + Delete a specific link and all associated accounts, transactions, and + owners + + from your Belvo account. + + + # Deleting links in batches + + + To delete links in bulk, we recommend looping through the list of links + you want to delete and making the delete request. + + > 🚧 **Rate limiting and IP blocking** + > + > An important technical note for performing operations in batches is to take into consideration our rate-limiting: up to 80 requests every 30 seconds. If you exceed this limit, you run the risk of Belvo blocking your IP from making further requests. + > + > For more information, or if your IP address has been blocked, please contact our [support team](https://support.belvo.com/hc/en-us/requests/new). + parameters: + - name: id + in: path + required: true + schema: + type: string + format: uuid + description: The `link.id` that you want to delete. + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/accounts/: + get: + tags: + - Accounts + operationId: ListAccounts + summary: List all accounts + description: > + Get a paginated list of all existing accounts in your Belvo account. By + default, we return up to 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/pageSize_query' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/balance__available' + - $ref: '#/components/parameters/balance__available__lt' + - $ref: '#/components/parameters/balance__available__lte' + - $ref: '#/components/parameters/balance__available__gt' + - $ref: '#/components/parameters/balance__available__gte' + - $ref: '#/components/parameters/balance__available__range' + - $ref: '#/components/parameters/balance__current' + - $ref: '#/components/parameters/balance__current__lt' + - $ref: '#/components/parameters/balance__current__lte' + - $ref: '#/components/parameters/balance__current__gt' + - $ref: '#/components/parameters/balance__current__gte' + - $ref: '#/components/parameters/balance__current__range' + - $ref: '#/components/parameters/category' + - $ref: '#/components/parameters/category__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/currency__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/institution' + - $ref: '#/components/parameters/institution__in' + - $ref: '#/components/parameters/name_accounts' + - $ref: '#/components/parameters/name__icontains' + - $ref: '#/components/parameters/number_accounts' + - $ref: '#/components/parameters/number__in_accounts' + - $ref: '#/components/parameters/public_identification_name' + - $ref: '#/components/parameters/public_identification_value' + - $ref: '#/components/parameters/type_accounts' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/AccountsPaginatedResponse' + - $ref: >- + #/components/schemas/AccountsPaginatedResponseOpenFinanceBrazil + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Accounts + operationId: RetrieveAccounts + summary: Retrieve accounts for a link + description: > + Retrieve accounts from an existing link. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StandardRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Accounts + operationId: PatchAccounts + summary: Complete an accounts request + description: > + Used to resume an Account retrieve session that was paused because an + MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaChecking' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCard' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanData' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/accounts/{id}/: + get: + tags: + - Accounts + operationId: DetailAccount + summary: Get an account's details + description: > + Get the details of a specific account. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - name: id + in: path + required: true + description: The `account.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/Account' + - $ref: '#/components/schemas/AccountOpenFinanceBrazil' + examples: + AccountsBankingChecking: + $ref: '#/components/examples/AccountsBankingChecking' + AccountsBankingCreditCard: + $ref: '#/components/examples/AccountsBankingCreditCard' + AcccountsBankingLoan: + $ref: '#/components/examples/AccountsBankingLoan' + AccountsBankingPension: + $ref: '#/components/examples/AccountsBankingPension' + AccountsBankingSavings: + $ref: '#/components/examples/AccountsBankingSavings' + AccountsOfdaChecking: + $ref: '#/components/examples/AccountsOfdaCheckingDetail' + AccountsOfdaCreditCard: + $ref: '#/components/examples/AccountsOfdaCreditCardDetail' + AccountsOfdaLoanData: + $ref: '#/components/examples/AccountsOfdaLoanDataDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Accounts + operationId: DestroyAccount + summary: Delete an account + description: > + Delete a specific account from your Belvo account. + + + > ℹ️ **Note**: When you delete an account, all the associated + transactions and owner information for that account are also removed. + parameters: + - name: id + in: path + required: true + description: The `account.id` you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/transactions/: + get: + tags: + - Transactions + operationId: ListTransactions + summary: List all transactions + description: > + Get a paginated list of all existing transactions in your Belvo account. + By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link__required' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/account__balance__available' + - $ref: '#/components/parameters/account__balance__available__lt' + - $ref: '#/components/parameters/account__balance__available__lte' + - $ref: '#/components/parameters/account__balance__available__gt' + - $ref: '#/components/parameters/account__balance__available__gte' + - $ref: '#/components/parameters/account__balance__available__range' + - $ref: '#/components/parameters/account__balance__current' + - $ref: '#/components/parameters/account__balance__current__gt' + - $ref: '#/components/parameters/account__balance__current__gte' + - $ref: '#/components/parameters/account__balance__current__lt' + - $ref: '#/components/parameters/account__balance__current__lte' + - $ref: '#/components/parameters/account__balance__current__range' + - $ref: '#/components/parameters/account_type' + - $ref: '#/components/parameters/account_type__in' + - $ref: '#/components/parameters/accounting_date' + - $ref: '#/components/parameters/accounting_date__gt' + - $ref: '#/components/parameters/accounting_date__gte' + - $ref: '#/components/parameters/accounting_date__lt' + - $ref: '#/components/parameters/accounting_date__lte' + - $ref: '#/components/parameters/accounting_date__range' + - $ref: '#/components/parameters/amount' + - $ref: '#/components/parameters/amount__gt' + - $ref: '#/components/parameters/amount__gte' + - $ref: '#/components/parameters/amount__lt' + - $ref: '#/components/parameters/amount__lte' + - $ref: '#/components/parameters/amount__range' + - $ref: '#/components/parameters/collected_at' + - $ref: '#/components/parameters/collected_at__gt' + - $ref: '#/components/parameters/collected_at__gte' + - $ref: '#/components/parameters/collected_at__lt' + - $ref: '#/components/parameters/collected_at__lte' + - $ref: '#/components/parameters/collected_at__range' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/currency__in' + - $ref: '#/components/parameters/credit_card_data__bill_name__in' + - $ref: '#/components/parameters/reference' + - $ref: '#/components/parameters/reference__in' + - $ref: '#/components/parameters/status_transactions' + - $ref: '#/components/parameters/status__in_transactions' + - $ref: '#/components/parameters/type_transactions' + - $ref: '#/components/parameters/type__in_transactions' + - $ref: '#/components/parameters/value_date' + - $ref: '#/components/parameters/value_date__gt' + - $ref: '#/components/parameters/value_date__gte' + - $ref: '#/components/parameters/value_date__lt' + - $ref: '#/components/parameters/value_date__lte' + - $ref: '#/components/parameters/value_date__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TransactionsPaginatedResponse' + - $ref: >- + #/components/schemas/TransactionsPaginatedResponseOpenFinanceBrazil + examples: + TransactionsCheckingPaginated: + $ref: '#/components/examples/TransactionsCheckingPaginated' + TransactionsSavingsPaginated: + $ref: '#/components/examples/TransactionsSavingsPaginated' + TransactionsCreditCardPaginated: + $ref: '#/components/examples/TransactionsCreditCardPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Transactions + operationId: RetrieveTransactions + summary: Retrieve transactions for a link + description: > + Retrieve transactions for one or more accounts from a specific link. + +
Info: When retrieving + transactions, it is important to understand that the available + transaction data ranges depend on each institution.

+ + If you try to access older information than what we can access, we will + return all the data we can read within that date range. For example, if + you request transactions for the last year and we can only access the + last six months, we will return the information corresponding to these + six months of data.
+ parameters: + - in: header + name: X-Belvo-Request-Mode + schema: + type: string + enum: + - async + description: > + Recommended header parameter to make your POST request to retrieve + transactions asynchronous (thus preventing timeouts). + + + When you make a asynchronous request, Belvo responds with a `202 - + Accepted` payload, including the `request_id`. Once we have + retrieved the transaction information, you will receive a + `new_transactions_available` webhook with the link and request + IDs. + + + + **Note**: This parameter is case sensitive (in other words, if you + write `ASYNC`, then Belvo will default to a synchronous call). + example: async + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '202': + description: Accepted (when `X-Belvo-Request-Mode` is `async`) + content: + application/json: + schema: + $ref: '#/components/schemas/AsynchronousAccepted202' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Transactions + operationId: PatchTransactions + summary: Complete a transactions request + description: > + Used to resume a Transaction retrieve session that was paused because an + MFA + + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsChecking' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavings' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCard' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfda' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/transactions/{id}/: + get: + tags: + - Transactions + operationId: DetailTransaction + summary: Get a transaction's details + description: Get the details of a specific transaction. + parameters: + - name: id + in: path + required: true + description: The `transaction.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + examples: + TransactionsChecking: + $ref: '#/components/examples/TransactionsCheckingDetail' + TransactionsSavings: + $ref: '#/components/examples/TransactionsSavingsDetail' + TransactionsCreditCard: + $ref: '#/components/examples/TransactionsCreditCardDetail' + TransactionsOpenFinanceBrazilChecking: + $ref: '#/components/examples/TransactionsCheckingOfdaDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Transactions + operationId: DestroyTransaction + summary: Delete a transaction + description: Delete a specific transaction from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `transaction.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/balances/: + get: + tags: + - Balances + operationId: ListBalances + summary: List all balances + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + Get a paginated list of all existing balances in your Belvo account. By + default, we return up to 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/account__type' + - $ref: '#/components/parameters/account__type__in' + - $ref: '#/components/parameters/balance' + - $ref: '#/components/parameters/balance__lt' + - $ref: '#/components/parameters/balance__lte' + - $ref: '#/components/parameters/balance__gt' + - $ref: '#/components/parameters/balance__gte' + - $ref: '#/components/parameters/balance__range' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/currency__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/institution' + - $ref: '#/components/parameters/institution__in' + - $ref: '#/components/parameters/value_date' + - $ref: '#/components/parameters/value_date__gt' + - $ref: '#/components/parameters/value_date__gte' + - $ref: '#/components/parameters/value_date__lt' + - $ref: '#/components/parameters/value_date__lte' + - $ref: '#/components/parameters/value_date__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesPaginatedResponse' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExamplePaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Balances + operationId: RetrieveBalances + summary: Retrieve balances for a link + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + + Retrieve balances from one or more accounts for a specific link within a + + specified date range. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BalancesRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Balances + operationId: PatchBalances + summary: Complete a balances request + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + Used to resume a Balance retrieve session that was paused because an MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExample' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/balances/{id}/: + get: + tags: + - Balances + operationId: DetailBalance + summary: Get a balance's details + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + + Get the details of a specific balance. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - name: id + in: path + required: true + description: The `balance.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Balance' + examples: + BalancesExamplePaginated: + $ref: '#/components/examples/BalancesExampleDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Balances + operationId: DestroyBalance + summary: Delete a balance + description: > +
+ + WARNING: The Balances resource will be deprecated in + October 2023. + +
+ + + Delete a specific balance from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `balance.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/institutions/: + get: + tags: + - Institutions + operationId: ListInstitutions + summary: List all institutions + description: > + Get a paginated list of all the institutions currently supported by + Belvo. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $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: + $ref: '#/components/schemas/InstitutionsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_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/Institution' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/owners/: + get: + tags: + - Owners + operationId: ListOwners + summary: List all owners + description: > + Get a paginated list of all existing owners in your Belvo account. We + return + + up to 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/email' + - $ref: '#/components/parameters/display_name__icontains' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/OwnersPaginatedResponse' + - $ref: >- + #/components/schemas/OwnersIndividualPaginatedResponseOpenFinanceBrazil + - $ref: >- + #/components/schemas/OwnersBusinessPaginatedResponseOpenFinanceBrazil + examples: + OwnerBankingAccountPaginated: + $ref: '#/components/examples/OwnerBankingAccountPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Owners + operationId: RetrieveOwners + summary: Retrieve owners for a link + description: > + Retrieve owner information from a specific link. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StandardRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Owners + operationId: PatchOwners + summary: Complete an owners request + description: > + Used to resume an Owner retrieve session that was paused because an MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccount' + OwnerIndividualOfda: + $ref: '#/components/examples/OwnerOfdaIndividual' + OwnerBusinessOfda: + $ref: '#/components/examples/OwnerOfdaBusiness' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/owners/{id}/: + get: + tags: + - Owners + operationId: DetailOwner + summary: Get an owner's details + description: > + Get the details of a specific owner. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - name: id + in: path + required: true + description: The `owner.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/Owner' + - $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + - $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + examples: + OwnerBankingAccount: + $ref: '#/components/examples/OwnerBankingAccountDetail' + OwnerIndividualOfdaDetails: + $ref: '#/components/examples/OwnerOfdaIndividuaDetail' + OwnerBusinessOfdaDetails: + $ref: '#/components/examples/OwnerOfdaBusinessDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Owners + operationId: DestroyOwner + summary: Delete an owner + description: Delete a specific owner from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `owner.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/invoices/: + get: + tags: + - Invoices + operationId: ListInvoices + description: > + Get a paginated list of all existing invoices in your Belvo account. By + default, we + + return 100 results per page. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + summary: List all invoices + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/invoice_date' + - $ref: '#/components/parameters/invoice_date__lt' + - $ref: '#/components/parameters/invoice_date__lte' + - $ref: '#/components/parameters/invoice_date__gt' + - $ref: '#/components/parameters/invoice_date__gte' + - $ref: '#/components/parameters/invoice_date__range' + - $ref: '#/components/parameters/invoice_identification' + - $ref: '#/components/parameters/invoice_identification__in' + - $ref: '#/components/parameters/status_invoice' + - $ref: '#/components/parameters/status__in_invoice' + - $ref: '#/components/parameters/type_invoice' + - $ref: '#/components/parameters/type__in_invoice' + - $ref: '#/components/parameters/total_amount' + - $ref: '#/components/parameters/total_amount__lt' + - $ref: '#/components/parameters/total_amount__lte' + - $ref: '#/components/parameters/total_amount__gt' + - $ref: '#/components/parameters/total_amount__gte' + - $ref: '#/components/parameters/total_amount__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesResponsePaginatedResponse' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngresoPaginated' + InvoicePago: + $ref: '#/components/examples/InvoicePagoPaginated' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNominaPaginated' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgresoPaginated' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTrasladoPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Invoices + operationId: RetrieveInvoices + summary: Retrieve invoices for a link + description: > + Retrieve invoice information from a specific fiscal link. + +
Info: You can ask for up to + one year (365 days) of invoices per request. If you need invoices + for more than one year, just make another request.
+ + ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - in: header + name: X-Belvo-Request-Mode + schema: + type: string + enum: + - async + description: > + Recommended header parameter to make your POST request to retrieve + invoices asynchronous (thus preventing timeouts). + + + When you make a asynchronous request, Belvo responds with a `202 - + Accepted` payload, including the `request_id`. Once we have + retrieved the invoice information, you will receive a + `new_invoices_available` webhook with the link and request IDs. + + + + **Note**: This parameter is case sensitive (in other words, if you + write `ASYNC`, then Belvo will default to a synchronous call). + example: async + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngreso' + InvoicePago: + $ref: '#/components/examples/InvoicePago' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNomina' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgreso' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTraslado' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngreso' + InvoicePago: + $ref: '#/components/examples/InvoicePago' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNomina' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgreso' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTraslado' + '202': + description: Accepted (when `X-Belvo-Request-Mode` is `async`) + content: + application/json: + schema: + $ref: '#/components/schemas/AsynchronousAccepted202' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Invoices + operationId: PatchInvoices + summary: Complete an invoices request + description: > + Used to resume an Invoice retrieve session that was paused because an + MFA + + token was required by the institution. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/invoices/{id}/: + get: + tags: + - Invoices + operationId: DetailInvoice + summary: Get an invoice's details + description: > + Get the details of a specific invoice. + + + > ℹ️ **Note**: This resource may return deprecated fields. Please check + the response documentation for more information. + parameters: + - name: id + in: path + required: true + description: The `invoice.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + examples: + InvoiceIngresso: + $ref: '#/components/examples/InvoiceIngresoDetail' + InvoicePago: + $ref: '#/components/examples/InvoicePagoDetail' + InvoiceNomina: + $ref: '#/components/examples/InvoiceNominaDetail' + InvoiceEgreso: + $ref: '#/components/examples/InvoiceEgresoDetail' + InvoiceTraslado: + $ref: '#/components/examples/InvoiceTrasladoDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Invoices + operationId: DestroyInvoice + summary: Delete an invoice + description: Delete a specific invoice from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `invoice.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/tax-returns/: + get: + tags: + - Tax returns + operationId: ListTaxReturns + summary: List all tax returns + description: > + Get a paginated list of all existing tax returns in your Belvo account. + By default, we return up to 100 results per page. The results will + include a mix of both + + monthly and yearly tax returns. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/ejercicio' + - $ref: '#/components/parameters/ejercicio__lt' + - $ref: '#/components/parameters/ejercicio__lte' + - $ref: '#/components/parameters/ejercicio__gt' + - $ref: '#/components/parameters/ejercicio__gte' + - $ref: '#/components/parameters/ejercicio__range' + - $ref: '#/components/parameters/tipo_declaracion' + - $ref: '#/components/parameters/tipo_declaracion__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TaxReturnsPersonalPaginated' + - $ref: '#/components/schemas/TaxReturnsPersonalMonthlyPaginated' + - $ref: '#/components/schemas/TaxReturnsBusinessPaginated' + - $ref: '#/components/schemas/TaxReturnsBusinessMonthlyPaginated' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalListPaginated' + TaxReturnPersonalMonthlyPFAE: + $ref: >- + #/components/examples/TaxReturnPersonalListMonthlyPaginatedPFAE + TaxReturnPersonalMonthlyPFAI: + $ref: >- + #/components/examples/TaxReturnPersonalListMonthlyPaginatedPFAI + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessListPaginated' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthlyPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Tax returns + operationId: RetrieveTaxReturns + summary: Retrieve tax returns for a link + description: Retrieve tax return information for a specific fiscal link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TaxReturnsMonthlyRequest' + - $ref: '#/components/schemas/TaxReturnsYearlyRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxReturnPersonal' + - $ref: '#/components/schemas/TaxReturnPersonalMonthly' + - $ref: '#/components/schemas/TaxReturnBusiness' + - $ref: '#/components/schemas/TaxReturnBusinessMonthly' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalList' + TaxReturnPersonalMonthlyPFAE: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAE' + TaxReturnPersonalMonthlyPFAI: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAI' + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessList' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthly' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxReturnPersonal' + - $ref: '#/components/schemas/TaxReturnPersonalMonthly' + - $ref: '#/components/schemas/TaxReturnBusiness' + - $ref: '#/components/schemas/TaxReturnBusinessMonthly' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalList' + TaxReturnPersonalMonthlyPFAE: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAE' + TaxReturnPersonalMonthlyPFAI: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAI' + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessList' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthly' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/tax-returns/{id}/: + get: + tags: + - Tax returns + operationId: DetailTaxReturn + summary: Get a tax return's details + description: Get the details of a specific tax return. + parameters: + - name: id + in: path + required: true + description: The `tax-return.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TaxReturnPersonal' + - $ref: '#/components/schemas/TaxReturnPersonalMonthly' + - $ref: '#/components/schemas/TaxReturnBusiness' + - $ref: '#/components/schemas/TaxReturnBusinessMonthly' + examples: + TaxReturnPersonal: + $ref: '#/components/examples/TaxReturnPersonalListDetail' + TaxReturnPersonalMonthlyPFAE: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAEDetail' + TaxReturnPersonalMonthlyPFAI: + $ref: '#/components/examples/TaxReturnPersonalListMonthlyPFAIDetail' + TaxReturnBusiness: + $ref: '#/components/examples/TaxReturnBusinessListDetail' + TaxReturnBusinessMonthly: + $ref: '#/components/examples/TaxReturnBusinessListMonthlyDetail' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Tax returns + operationId: DestroyTaxReturn + summary: Delete a tax return + description: Delete a specific tax return from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The ID of the tax return you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/tax-status/: + get: + tags: + - Tax status + operationId: ListTaxStatus + summary: List all tax statuses + description: > + Get a paginated list of all existing tax status in your Belvo account. + By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusPaginatedResponse' + examples: + TaxStatusPersonalListPaginated: + $ref: '#/components/examples/TaxStatusPersonalListPaginated' + TaxStatusBusinessListPaginated: + $ref: '#/components/examples/TaxStatusBusinessListPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Tax status + operationId: RetrieveTaxStatus + summary: Retrieve tax statuses for a link + description: Retrieve tax status information for a specific fiscal link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxStatusRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + examples: + TaxStatusPersonal: + $ref: '#/components/examples/TaxStatusPersonalList' + TaxStatusBusiness: + $ref: '#/components/examples/TaxStatusBusinessList' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + examples: + TaxStatusPersonal: + $ref: '#/components/examples/TaxStatusPersonalList' + TaxStatusBusiness: + $ref: '#/components/examples/TaxStatusBusinessList' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/tax-status/{id}/: + get: + tags: + - Tax status + operationId: DetailTaxStatus + summary: Get a tax status's details + description: Get the details of a specific tax status. + parameters: + - name: id + in: path + required: true + description: The `tax-status.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + examples: + TaxStatusPersonal: + $ref: '#/components/examples/TaxStatusPersonalList' + TaxStatusBusiness: + $ref: '#/components/examples/TaxStatusBusinessList' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Tax status + operationId: DestroyTaxStatus + summary: Delete a tax status + description: Delete a specific tax status from your Belvo account. + parameters: + - name: id + in: path + required: true + description: the `tax-status.id` that you want to delete + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/tax-compliance-status/: + get: + tags: + - Tax compliance status + operationId: ListTaxComplianceStatus + summary: List all tax compliance statuses + description: > + Get a paginated list of all existing Tax compliance statuses in your + Belvo account. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatusPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Tax compliance status + operationId: RetrieveTaxComplianceStatus + summary: Retrieve tax compliance statuses for a link + description: >- + Retrieve the Tax compliance status information for a specific fiscal + link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatusRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatus' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatus' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/tax-compliance-status/{id}/: + get: + tags: + - Tax compliance status + operationId: DetailTaxComplianceStatus + summary: Get a tax compliance status's details + description: Get the details of a specific Tax compliance status. + parameters: + - name: id + in: path + required: true + description: | + The `tax-compliance-status.id` you want to get detailed information + about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxComplianceStatus' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Tax compliance status + operationId: DestroyTaxComplianceStatus + summary: Delete a tax compliance status + description: Delete a specific Tax compliance status from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `tax-compliance-status.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/incomes/: + get: + tags: + - Incomes + operationId: ListIncomes + summary: List all incomes + description: > + Get a paginated list of all incomes in your Belvo account. By default, + we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Incomes + operationId: RetrieveIncome + summary: Retrieve incomes for a link + description: | + Retrieve income insights for checking and savings accounts from a + specific link. You can receive insights for a period of up to 365 days, + depending on the transaction history available for each + [bank](https://developers.belvo.com/docs/institution). + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/IncomesRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/Income' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/Income' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Incomes + operationId: PatchIncomes + summary: Complete an incomes request + description: | + Used to resume an Income retrieve session that was paused because an MFA + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Income' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Income' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/incomes/{id}/: + get: + tags: + - Incomes + operationId: DetailIncome + summary: Get an income's details + description: Get the details of a specific income. + parameters: + - name: id + in: path + required: true + description: The `income.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Income' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Incomes + operationId: DestroyIncomes + summary: Delete an income + description: Delete a specific income from your Belvo account. + parameters: + - name: id + in: path + required: true + description: the `income.id` that you want to delete + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/recurring-expenses/: + get: + tags: + - Recurring Expenses + operationId: ListRecurringExpenses + summary: List all recurring expenses + description: > + Get a paginated list of all recurring expenses in your Belvo account. By + default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Recurring Expenses + operationId: RetrieveRecurringExpenses + summary: Retrieve recurring expenses for a link + description: > + Retrieve recurring expense insights for checking and savings + accounts from a + + specific link. You can receive insights for a period of up to 365 days, + + depending on the transaction history available for each + + [bank](https://developers.belvo.com/docs/institution). + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RecurringExpensesRequest' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Recurring Expenses + operationId: PatchRecurringExpenses + summary: Complete a recurring expenses request + description: > + Used to resume an Recurring Expenses retrieve session that was paused + because an MFA + + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/recurring-expenses/{id}/: + get: + tags: + - Recurring Expenses + operationId: DetailRecurringExpense + summary: Get a recurring expense's details + description: Get the details of a specific recurring expense. + parameters: + - name: id + in: path + required: true + description: >- + The `recurring-expenses.id` you want to get detailed information + about. + schema: + type: string + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RecurringExpenses' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Recurring Expenses + operationId: DestroyRecurringExpense + summary: Delete a recurring expense + description: Delete a specific recurring expense from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `recurring-expenses.id` that you want to delete + schema: + type: string + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/risk-insights/: + get: + tags: + - Risk Insights + operationId: ListRiskInsights + summary: List all risk insights + description: > + Get a paginated list of all risk insight analyses in your Belvo account. + By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsightsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Risk Insights + operationId: RetrieveRiskInsights + summary: Retrieve risk insights for a link + description: > + Request the risk insights for a given link ID. + + + + If you need to know the currency of the account, just do a GET Details + to the accounts endpoint (using the ID you receive from the accounts + response). + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StandardRequest' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsights' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + $ref: '#/components/schemas/RiskInsights' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + patch: + tags: + - Risk Insights + operationId: PatchRiskInsights + summary: Complete a risk insights request + description: > + Used to resume an Risk insights retrieve session that was paused because + an MFA + + token was required by the institution. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchBody' + responses: + '200': + description: Ok (when save_data=false) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RiskInsights' + '201': + description: Created (when save_data=true) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RiskInsights' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/risk-insights/{id}/: + get: + tags: + - Risk Insights + operationId: DetailRiskInsights + summary: Get a risk insight's details + description: Get the details of a specific risk insight. + parameters: + - name: id + in: path + required: true + description: The `risk-insights.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RiskInsights' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Risk Insights + operationId: DestroyRiskInsights + summary: Delete a risk insight + description: Delete a specific risk insight from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `risk-insights.id` that you want to delete + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/tax-retentions/: + get: + tags: + - Tax retentions + operationId: ListTaxRetentions + summary: List all tax retentions + description: | + Get a paginated list of all existing tax retentions in your Belvo + account. We return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentionsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Tax retentions + operationId: RetrieveTaxRetentions + summary: Retrieve tax retentions for a link + description: >- + Retrieve tax retention information from a specific link. The maximum + number of tax retentions that can be returned for a period is 500. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentionsRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TaxRetentions' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TaxRetentions' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/tax-retentions/{id}/: + get: + tags: + - Tax retentions + operationId: DetailTaxRetentions + summary: Get a tax retention's details + description: Get the details of a specific tax retention. + parameters: + - name: id + in: path + required: true + description: | + The `tax-retention.id` you want to get detailed information + about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/TaxRetentions' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Tax retentions + operationId: DestroyTaxRetention + summary: Delete a tax retention + description: Delete a specific tax retention from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `tax-retention.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/tax-declarations/: + get: + tags: + - Tax declarations + operationId: ListTaxDeclarations + summary: List all tax declarations + description: > + Get a paginated list of all existing tax declarations in your Belvo + account. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + - $ref: '#/components/parameters/year' + - $ref: '#/components/parameters/year__gt' + - $ref: '#/components/parameters/year__gte' + - $ref: '#/components/parameters/year__lt' + - $ref: '#/components/parameters/year__lte' + - $ref: '#/components/parameters/year__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationIndividualPaginated' + - $ref: '#/components/schemas/TaxDeclarationBusinessPaginated' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Tax declarations + operationId: RetrieveTaxDeclarations + summary: Retrieve tax declarations for a link + description: Retrieve tax declaration information for a specific fiscal link. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TaxDeclarationsRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationBusiness' + - $ref: '#/components/schemas/TaxDeclarationIndividual' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationBusiness' + - $ref: '#/components/schemas/TaxDeclarationIndividual' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + description: Request Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/RequestTimeoutError' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/tax-declarations/{id}/: + get: + tags: + - Tax declarations + operationId: DetailTaxDeclaration + summary: Get a tax declaration's details + description: Get the details of a specific Tax declaration. + parameters: + - name: id + in: path + required: true + description: | + The `tax-declaration.id` you want to get detailed information + about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TaxDeclarationIndividual' + - $ref: '#/components/schemas/TaxDeclarationBusiness' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Tax declarations + operationId: DestroyTaxDeclaration + summary: Delete a tax declration + description: Delete a specific Tax declaration from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `tax-declration.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/employment-records/: + get: + tags: + - Employment Records Mexico + operationId: ListEmploymentRecords + summary: List all employment records + description: > + Get a paginated list of all existing employment records in your Belvo + account. By default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/id__in' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + - $ref: '#/components/parameters/internal_identification' + - $ref: '#/components/parameters/internal_identification__in' + - $ref: '#/components/parameters/collected_at' + - $ref: '#/components/parameters/collected_at__gt' + - $ref: '#/components/parameters/collected_at__gte' + - $ref: '#/components/parameters/collected_at__lt' + - $ref: '#/components/parameters/collected_at__lte' + - $ref: '#/components/parameters/collected_at__range' + - $ref: '#/components/parameters/created_at' + - $ref: '#/components/parameters/created_at__gt' + - $ref: '#/components/parameters/created_at__gte' + - $ref: '#/components/parameters/created_at__lt' + - $ref: '#/components/parameters/created_at__lte' + - $ref: '#/components/parameters/created_at__range' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/EmploymentRecordsPaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Employment Records Mexico + operationId: RetrieveEmploymentRecordDetails + summary: Retrieve employment record details + description: | + Retrieve employment record details for an individual. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EmploymentRecordRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EmploymentRecord' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EmploymentRecord' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/employment-records/{id}/: + get: + tags: + - Employment Records Mexico + operationId: DetailEmploymentRecord + summary: Get an employment record's details + description: Get the details of a specific employment record. + parameters: + - name: id + in: path + required: true + description: >- + The `employment-record.id` you want to get detailed information + about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/EmploymentRecord' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Employment Records Mexico + operationId: DestroyEmploymentRecord + summary: Delete an employment record + description: Delete a specific employment record from your Belvo account. + parameters: + - name: id + in: path + required: true + description: The `employment-record.id` that you want to delete. + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/enrich/incomes/: + post: + tags: + - Income Verification + operationId: VerifyIncome + summary: Verify incomes + description: > + Send through your raw data and receive enriched information for each of + your user's income streams. + + + +
+ + + Note: Belvo can process up to 10,000 unique + transactions per request. + + +
+ parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EyodIncomeVerificationRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IncomeEyod' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '403': + 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' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/categorization/: + post: + tags: + - Categorization + operationId: CategorizeTransactions + summary: Categorize transactions + description: > + Send through your raw transaction data and receive enriched information + for each of your transactions. + + + +
+ + + Note: Belvo can process up to 10,000 unique + transactions per request. + + +
+ parameters: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CategorizationRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/Categorization' + examples: + CategorizeTransactions: + $ref: '#/components/examples/CategorizationExample' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '403': + 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' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/credit-score/: + get: + tags: + - Credit Score + operationId: ListCreditScores + summary: List all credit scores + description: > + Get a paginated list of all credit scores in your Belvo account. By + default, we return up to 100 results per page. + parameters: + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/page_size' + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/account' + - $ref: '#/components/parameters/account__in' + - $ref: '#/components/parameters/link' + - $ref: '#/components/parameters/link__in' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScorePaginatedResponse' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + post: + tags: + - Credit Score + operationId: RetrieveCreditScore + summary: Retrieve a credit score for a link + description: > + Retrieve a credit score for a specific link. + + + Before requesting a credit score for a link, you must also make the + following requests in order for the score to be accurately calculated. + + + - POST Retrieve Accounts for a Link + + - POST Retrieve Transactions for a Link (minimum 30 + days of data, maximum 365 days of data) + + + + + This is because the credit score is calculated based on the + transactional data retrieved from the link. + + + We use up to 12 months of transactional data. + + + The minimum is 30 days of checking account transactional data. + + + The `date_to` parameter is optional and can be used to specify the date + until which you want to retrieve the credit score. If not provided, the + most recent credit score will be retrieved. + parameters: + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScoreRequest' + responses: + '200': + description: Ok (when `save_data=false`) + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScore' + '201': + description: Created (when `save_data=true`) + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScore' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + - $ref: '#/components/schemas/InvalidPeriodError' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '408': + 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. + + items: + $ref: '#/components/schemas/RequestTimeoutError' + '428': + description: MFA Token Required + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TokenRequiredResponse' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' + /api/credit-score/{id}/: + get: + tags: + - Credit Score + operationId: DetailCreditScore + summary: Get a credit score's details + description: Get the details of a specific credit score. + parameters: + - name: id + in: path + required: true + description: The `credit-score.id` you want to get detailed information about. + schema: + type: string + format: uuid + - $ref: '#/components/parameters/omit' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Ok + content: + application/json: + schema: + $ref: '#/components/schemas/CreditScore' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + delete: + tags: + - Credit Score + operationId: DestroyCreditScore + summary: Delete a credit score + description: Delete a specific credit score from your Belvo account. + parameters: + - name: id + in: path + required: true + description: the `credit-score.id` that you want to delete + schema: + type: string + format: uuid + responses: + '204': + description: No content + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '404': + description: Not Found + content: + application/json: + schema: + type: array + description: | + You made a request where you: + + - provided the wrong URL. + - used an ID (for a link, account, transaction, and so on) that is not associated with your Belvo account. + + items: + $ref: '#/components/schemas/NotFoundError' + /api/enrich/credit-score/: + post: + tags: + - Credit Score (EYOD) + operationId: RetrieveCreditScoreEYOD + summary: Retrieve Credit Score + description: > + Send through your raw data and receive a credit score for a given user. + + + +
+ + + Note: Belvo can process up to 10,000 unique + transactions per request. + + +
+ parameters: [] + requestBody: + required: true + description: Request body for the EYOD credit score analysis. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EyodCreditScoreRequest' + responses: + '200': + description: Ok + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CreditScore' + '400': + description: Bad request error + content: + application/json: + schema: + 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' + '401': + description: Unathorized + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/UnauthorizedError' + - $ref: '#/components/schemas/401_consent_without_accounts_error' + '403': + 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' + '500': + 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. + + items: + $ref: '#/components/schemas/UnexpectedError' +components: + securitySchemes: + basicAuth: + type: http + scheme: basic + description: >- + Belvo employs **basic authentication** using your secret keys. Just use + your secretId as the `username` and secretPassword as the `password`. + For example: + + + ```text Authentication example + + curl \ + -u =BASE64-SECRET_ID=:=BASE64-SECRET_PASSWORD= + https://sandbox.belvo.com/api/ + ``` + + + For information on how to get your API keys, check out our [Get Started + in 5 + Minutes](https://developers.belvo.com/docs/get-started-in-5-minutes) + DevPortal article. + parameters: + page: + name: page + in: query + description: A page number within the paginated result set. + schema: + example: 1 + format: int32 + type: integer + 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 + omit: + name: omit + in: query + description: >- + Omit certain fields from being returned in the response. For more + information, see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + schema: + type: string + example: field1,field2 + fields: + name: fields + in: query + description: >- + Return only the specified fields in the response. For more information, + see our [Filtering + responses](https://developers.belvo.com/docs/searching-and-filtering) + DevPortal article. + schema: + example: field1,field2,field3 + type: string + id: + name: id + in: query + description: Return information only for this resource `id`. + schema: + type: string + format: uuid + example: 24ccab1d-3a86-4136-a6eb-e04bf52b356f + id__in: + name: id__in + in: query + description: Return information for these resource `id`s. + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: 6b3dea0f-be29-49d1-aabe-1a6d588642e6 + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + institution: + name: institution + in: query + description: >- + Return results only for this institution (use the Belvo-designated name, + such as `erebor_mx_retail`). + schema: + type: string + example: erebor_mx_retail + institution__in: + name: institution__in + in: query + description: >- + Return results only for these institutions (use the Belvo-designated + names, such as `erebor_mx_retail` and `gringotts_mx_retail`). + style: form + explode: false + schema: + type: array + items: + type: string + example: gringotts_mx_retail + example: erebor_mx_retail,gringotts_mx_retail + access_mode: + name: access_mode + in: query + description: >- + Return links only with this access mode. Can be either `single` or + `recurrent`. + schema: + example: single + type: string + created_at: + name: created_at + in: query + description: >- + Return items that were last updated in Belvo's database on this date (in + `YYYY-MM-DD` format). + schema: + type: string + format: date + example: '2022-05-05' + created_at__gt: + name: created_at__gt + in: query + description: >- + Return items that were last updated in Belvo's database after this date + (in `YYYY-MM-DD` format). + schema: + type: string + format: date + example: '2022-05-05' + created_at__gte: + name: created_at__gte + in: query + description: >- + Return items that were last updated in Belvo's database after or on this + date (in `YYYY-MM-DD` format). + schema: + type: string + format: date + example: '2022-05-04' + created_at__lt: + name: created_at__lt + in: query + description: >- + Return items that were last updated in Belvo's database before this date + (in `YYYY-MM-DD` format). + schema: + type: string + format: date + example: '2022-04-01' + created_at__lte: + name: created_at__lte + in: query + description: >- + Return items that were last updated in Belvo's database before or on + this date (in `YYYY-MM-DD` format). + schema: + type: string + format: date + example: '2022-03-30' + created_at__range: + name: created_at__range + in: query + description: >- + Return accounts that were last updated in Belvo's database between two + dates (in `YYYY-MM-DD` format). + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + format: date + example: '2022-03-03' + example: 2022-03-03,2022-05-04 + created_by__not_in: + name: created_by__not_in + in: query + description: Return links that were not created by these Belvo users. + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: d9475f4d-c511-4732-9ef0-93b5672f43d3 + example: >- + 578947e2-3c9a-4401-bbad-59b2f2d2b91b,d3d941ab-4ca5-43c1-8b23-db329ee4cb7e + external_id: + name: external_id + in: query + description: Return links with this external ID. + schema: + type: string + example: InternalUser4000 + external_id__in: + name: external_id__in + in: query + description: Return links with these external IDs. + style: form + explode: false + schema: + type: array + items: + type: string + example: InternalUser4001 + example: InternalUser4000,InternalUser4001 + institution_user_id: + name: institution_user_id + in: query + description: Return links with this specific institution user ID. + schema: + type: string + example: ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0= + institution_user_id__in: + name: institution_user_id__in + in: query + description: Return links with these institution user IDs. + style: form + explode: false + schema: + type: array + items: + type: string + example: ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0= + example: >- + ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0=,YwuTM0uEEh1BbVgDZBcNpa_-Tm3l2q8ZkZNrlhp-pNA= + refresh_rate: + name: refresh_rate + in: query + description: >- + Return links with this refresh rate. Choose between `6h`, `12h`, `24h`, + `7d`, or `30d`. + schema: + type: string + example: 24h + status_links: + name: status + in: query + description: >- + Return links with this status. Choose between `valid`, `invalid`, + `unconfirmed`, or `token_required`. + schema: + type: string + example: invalid + status__in_links: + name: status__in + in: query + description: >- + Return links with these statuses. Choose between `valid`, `invalid`, + `unconfirmed`, or `token_required`. + style: form + explode: false + schema: + type: array + items: + type: string + example: invalid + example: invalid,unconfirmed + pageSize_query: + 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 + link: + name: link + in: query + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + schema: + type: string + format: uuid + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + link__in: + name: link__in + in: query + description: Return results only for these `link.id`s. + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: 5722d0ba-69d7-42dc-8ff5-33767b83c5d6 + example: >- + 8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65 + balance__available: + name: balance__available + in: query + description: >- + Return accounts that have a `balance.available` matching exactly this + value. + schema: + type: number + example: 4000 + balance__available__lt: + name: balance__available__lt + in: query + description: Return accounts that have a `balance.available` less than this value. + schema: + type: number + example: 6000 + balance__available__lte: + name: balance__available__lte + in: query + description: >- + Return accounts that have a `balance.available` less than or equal to + this value. + schema: + type: number + example: 5999 + balance__available__gt: + name: balance__available__gt + in: query + description: Return accounts that have a `balance.available` greater than this value. + schema: + type: number + example: 2000 + balance__available__gte: + name: balance__available__gte + in: query + description: >- + Return accounts that have a `balance.available` greater than or equal to + this value. + schema: + type: number + example: 1999 + balance__available__range: + name: balance__available__range + in: query + description: >- + Return accounts that have a `balance.available` within a range of two + values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + balance__current: + name: balance__current + in: query + description: >- + Return accounts that have a `balance.current` matching exactly this + value. + schema: + type: number + example: 4000 + balance__current__lt: + name: balance__current__lt + in: query + description: Return accounts that have a `balance.current` less than this value. + schema: + type: number + example: 6000 + balance__current__lte: + name: balance__current__lte + in: query + description: >- + Return accounts that have a `balance.available` less than or equal to + this value. + schema: + type: number + example: 5999 + balance__current__gt: + name: balance__current__gt + in: query + description: Return accounts that have a `balance.current` greater than this value. + schema: + type: number + example: 2000 + balance__current__gte: + name: balance__current__gte + in: query + description: >- + Return accounts that have a `balance.available` greater than or equal to + this value. + schema: + type: number + example: 1999 + balance__current__range: + name: balance__current__range + in: query + description: >- + Return accounts that have a `balance.current` within a range of two + values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + category: + name: category + in: query + description: >- + Return accounts only for the given category (for example, + `CHECKING_ACCOUNT` and `SAVINGS_ACCOUNT`). + schema: + type: string + example: CREDIT_ACCOUNT + category__in: + name: category__in + in: query + description: >- + Return accounts only for the given categories (for example, + `CHECKING_ACCOUNT` and `SAVINGS_ACCOUNT`). + style: form + explode: false + schema: + type: array + items: + type: string + example: SAVINGS_ACCOUNT + example: CHECKING_ACCOUNT,SAVINGS_ACCOUNT + currency: + name: currency + in: query + description: >- + Return results that hold finances or balances in only this three-letter + currency code. + schema: + type: string + example: COP + currency__in: + name: currency__in + in: query + description: >- + Return results that have funds or balances in one of these three-letter + currency codes. + style: form + explode: false + schema: + type: array + items: + type: string + example: COP + example: COP,MXN + name_accounts: + name: name + in: query + description: >- + Return accounts with exactly this internal (specified by the + institution) name. + schema: + type: string + example: Cuenta Perfiles- M.N. - MXN-666 + name__icontains: + name: name__icontains + in: query + description: >- + Return accounts partially matching this internal (specified by the + institution) name. + schema: + example: Perfiles + type: string + number_accounts: + name: number + in: query + description: >- + Return information only for this account number (as specified by the + institution). + schema: + type: string + example: '4057068115181' + number__in_accounts: + name: number__in + in: query + description: >- + Return information for these account numbers (as specified by the + institution). + style: form + explode: false + schema: + type: array + items: + type: string + example: '4057068115181' + example: 4057068115181,7809346821648 + public_identification_name: + name: public_identification_name + in: query + description: >- + Return information only for this type of account ID. For example, CLABE + accounts. + schema: + example: CLABE + type: string + public_identification_value: + name: public_identification_value + in: query + description: >- + Return information only for this account ID. For example, the account + number for a CLABE account. + schema: + example: '150194683119900273' + type: string + type_accounts: + name: type + in: query + description: >- + Return information only for accounts matching this account type, as + designated by the institution. + schema: + type: string + example: Cuentas de efectivo + link__required: + name: link + in: query + required: true + description: > + The `link.id` you want to filter by. + + + ℹ️ We highly recommend adding the `link.id` filter in order to improve + your performance. + schema: + type: string + format: uuid + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + account: + name: account + in: query + description: > + The `account.id` you want to filter by. + + + ℹ️ We highly recommend adding either the `link.id` or the `account.id` + filters in order to improve your performance. + schema: + type: string + format: uuid + example: 8848bd0c-9c7e-4f53-a732-ec896b11d4c4 + account__in: + name: account__in + in: query + description: Return results only for these `account.id`s. + style: form + explode: false + schema: + type: array + items: + type: string + format: uuid + example: 85b77707-90ef-46fd-9059-5a757f24247a + example: >- + 24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509 + account__balance__available: + name: account__balance__available + in: query + description: >- + Return transactions that have a `account.balance.available` matching + exactly this value. + schema: + type: number + example: 4000 + account__balance__available__lt: + name: account__balance__available__lt + in: query + description: >- + Return transactions that have a `account.balance.available` less than + this value. + schema: + type: number + example: 6000 + account__balance__available__lte: + name: account__balance__available__lte + in: query + description: >- + Return transactions that have a `account.balance.available` less than or + equal to this value. + schema: + type: number + example: 5999 + account__balance__available__gt: + name: account__balance__available__gt + in: query + description: >- + Return transactions that have a `account.balance.available` more than + this value. + schema: + type: number + example: 6000 + account__balance__available__gte: + name: account__balance__available__gte + in: query + description: >- + Return transactions that have a `account.balance.available` more than or + equal to this value. + schema: + type: number + example: 5999 + account__balance__available__range: + name: account__balance__available__range + in: query + description: >- + Return transactions that have a `account.balance.available` within a + range of two values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + account__balance__current: + name: account__balance__current + in: query + description: >- + Return transactions that have a `account.balance.current` matching + exactly this value. + schema: + type: number + example: 4000 + account__balance__current__gt: + name: account__balance__current__gt + in: query + description: >- + Return transactions that have a `account.balance.current` greater than + this value. + schema: + type: number + example: 4020 + account__balance__current__gte: + name: account__balance__current__gte + in: query + description: >- + Return transactions that have a `account.balance.current` greater than + or equal to this value. + schema: + type: number + example: 4019 + account__balance__current__lt: + name: account__balance__current__lt + in: query + description: >- + Return transactions that have a `account.balance.current` less than this + value. + schema: + type: number + example: 3000 + account__balance__current__lte: + name: account__balance__current__lte + in: query + description: >- + Return transactions that have a `account.balance.current` less than or + equal to this value. + schema: + type: number + example: 2999 + account__balance__current__range: + name: account__balance__current__range + in: query + description: >- + Return transactions that have a `account.balance.current` within a range + of two values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 4350 + example: 3000.00,4350.00 + account_type: + name: account_type + in: query + description: >- + Return information only for transactions matching this account type, as + designated by the institution. + schema: + type: string + example: Cuentas de efectivo + account_type__in: + name: account_type__in + in: query + description: >- + Return information only for transactions matching these account types, + as designated by the institution. + style: form + explode: false + schema: + type: array + items: + type: string + example: Depositos Ahorro + example: Cuentas de efectivo,Depositos Ahorro + accounting_date: + name: accounting_date + in: query + description: >- + Return transactions that were processed by the institution on exactly + this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-05' + accounting_date__gt: + name: accounting_date__gt + in: query + description: >- + Return transactions that were processed by the institution after this + date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-06' + accounting_date__gte: + name: accounting_date__gte + in: query + description: >- + Return transactions that were processed by the institution on this date + (`YYYY-MM-DD`) or later. + schema: + type: string + format: date + example: '2022-05-04' + accounting_date__lt: + name: accounting_date__lt + in: query + description: >- + Return transactions that were processed by the institution before this + date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-03-02' + accounting_date__lte: + name: accounting_date__lte + in: query + description: >- + Return transactions that were processed by the institution on this date + (`YYYY-MM-DD`) or earlier. + schema: + type: string + format: date + example: '2022-03-01' + accounting_date__range: + name: accounting_date__range + in: query + description: >- + Return transactions that were processed by the institution in this date + range (`YYYY-MM-DD`). + style: form + explode: false + schema: + type: array + items: + type: string + format: date + example: '2022-05-06' + example: 2022-03-01,2022-05-06 + amount: + name: amount + in: query + description: Return results only for this value. + schema: + type: number + example: 1000 + amount__gt: + name: amount__gt + in: query + description: Return results only for more than this amount. + schema: + type: number + example: 1000 + amount__gte: + name: amount__gte + in: query + description: Return results only for and more than this amount. + schema: + type: number + example: 1000 + amount__lt: + name: amount__lt + in: query + description: Return results only for less than this amount. + schema: + type: number + example: 1000 + amount__lte: + name: amount__lte + in: query + description: Return results only for this amount or less. + schema: + type: number + example: 1000 + amount__range: + name: amount__range + in: query + description: Return results between this amount range. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 2000 + example: 1001.00,2000.00 + collected_at: + name: collected_at + in: query + description: >- + Return items that were retrieved from the institution on this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + schema: + type: string + example: '2022-05-01' + collected_at__gt: + name: collected_at__gt + in: query + description: >- + Return items that were retrieved from the institution after this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + schema: + type: string + example: '2022-05-05' + collected_at__gte: + name: collected_at__gte + in: query + description: >- + Return items that were retrieved from the institution after or on this + date (`YYYY-MM-DD` or full `ISO-8601` timestamp). + schema: + type: string + example: '2022-05-04' + collected_at__lt: + name: collected_at__lt + in: query + description: >- + Return items that were retrieved from the institution before this date + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + schema: + type: string + example: '2022-04-01' + collected_at__lte: + name: collected_at__lte + in: query + description: >- + Return items that were retrieved from the institution before or on this + date (`YYYY-MM-DD` or full `ISO-8601` timestamp). + schema: + type: string + example: '2022-03-30' + collected_at__range: + name: collected_at__range + in: query + description: >- + Return items that were retrieved from the institution between two dates + (`YYYY-MM-DD` or full `ISO-8601` timestamp). + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + example: '2022-05-04' + example: 2022-03-03,2022-05-04 + credit_card_data__bill_name__in: + name: credit_card_data__bill_name__in + in: query + description: Return transactions for one of these bill names. + style: form + explode: false + schema: + type: array + items: + type: string + example: feb-2022 + example: maio-2022,feb-2022 + reference: + name: reference + in: query + description: Returns transactions with this institution-assigned reference number. + schema: + type: string + example: '085904452810319225' + reference__in: + name: reference__in + in: query + description: Returns transactions with these institution-assigned reference numbers. + style: form + explode: false + schema: + type: array + items: + type: string + example: '085904452810319225' + example: 085904452810319225,8703 + status_transactions: + name: status + in: query + description: >- + Return transactions with this status. Can be either `PENDING`, + `PROCESSED`, or `UNCATEGORIZED`. + schema: + type: string + example: PENDING + status__in_transactions: + name: status__in + in: query + description: >- + Return transactions with these statuses. Can be either `PENDING`, + `PROCESSED`, or `UNCATEGORIZED`. + style: form + explode: false + schema: + type: array + items: + type: string + example: PROCESSED + example: PENDING,PROCESSED + type_transactions: + name: type + in: query + description: Return transactions with this type. Can be either `INFLOW` or `OUTFLOW`. + schema: + type: string + example: OUTFLOW + type__in_transactions: + name: type__in + in: query + description: >- + Return transactions with this types. Can be either `INFLOW` or + `OUTFLOW`. + style: form + explode: false + schema: + type: array + items: + type: string + example: INFLOW + example: INFLOW,OUTFLOW + value_date: + name: value_date + in: query + description: Return results for exactly this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-05' + value_date__gt: + name: value_date__gt + in: query + description: Return results that occurred after this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-06' + value_date__gte: + name: value_date__gte + in: query + description: Return results for this date (`YYYY-MM-DD`) or later. + schema: + type: string + format: date + example: '2022-05-04' + value_date__lt: + name: value_date__lt + in: query + description: Return results for before this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-03-02' + value_date__lte: + name: value_date__lte + in: query + description: Return results for this date (`YYYY-MM-DD`) or earlier. + schema: + type: string + format: date + example: '2022-03-01' + value_date__range: + name: value_date__range + in: query + description: Return results for this date (`YYYY-MM-DD`) range. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + format: date + example: '2022-05-06' + example: 2022-03-01,2022-05-06 + account__type: + name: account__type + in: query + description: >- + Return information only for accounts matching this account type, as + designated by the institution. + schema: + type: string + example: Cuentas de efectivo + account__type__in: + name: account__type__in + in: query + description: >- + Return information only for accounts matching these account types, as + designated by the institution. + style: form + explode: false + schema: + type: array + items: + type: string + example: Credito + example: Cuentas de efectivo,Credito + balance: + name: balance + in: query + description: Return balances matching exactly this value. + schema: + type: number + example: 530 + balance__lt: + name: balance__lt + in: query + description: Return balances less than this value. + schema: + type: number + example: 540 + balance__lte: + name: balance__lte + in: query + description: Return balances less than or equal to this value. + schema: + type: number + example: 541 + balance__gt: + name: balance__gt + in: query + description: Return balances greater than this value. + schema: + type: number + example: 520 + balance__gte: + name: balance__gte + in: query + description: Return balances greater than or equal to this value. + schema: + type: number + example: 519 + balance__range: + name: balance__range + in: query + description: Return balances between these two values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 541 + example: 519.00,541.00 + display_name: + name: display_name + in: query + description: Return institutions that partially match this display name. + schema: + example: Erebor Bank + type: string + country_code: + name: country_code + in: query + description: Return institutions only for this two-letter country code. + schema: + example: MX + type: string + 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 + example: BR + example: CO,BR + resources__allin: + name: resources__allin + in: query + description: Return institutions that support these resources. + style: form + explode: false + schema: + type: array + items: + type: string + example: OWNERS + example: ACCOUNTS,OWNERS,TRANSACTIONS + name: + name: name + in: query + description: Return an institution with this Belvo-designated name. + schema: + type: string + example: erebor_mx_retail + 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 + example: gotham_co_business + example: erebor_br_retail,gotham_co_business + 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 + 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 + example: healthy,down + type_institutions: + name: type + in: query + description: >- + Return institutions of this type. You can choose between `bank`, + `fiscal`, or `employment`. + schema: + type: string + example: fiscal + 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 + example: fiscal + example: fiscal,bank + website: + name: website + in: query + description: Return institutions with this website URL. + schema: + type: string + example: https://www.erebor.mx + email: + name: email + in: query + description: Returns owners whose email address match your query. + schema: + type: string + example: lopes.d@gmail.com + display_name__icontains: + name: display_name__icontains + in: query + description: >- + Return owners whose full display name partially matches your query. For + example, `mar` will return results for Mark, Maria, Neymar, Remarque, + and so on. + schema: + type: string + example: Daniela + invoice_date: + name: invoice_date + in: query + description: Return invoices issued exactly on this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-05' + invoice_date__lt: + name: invoice_date__lt + in: query + description: Return balances issued before this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-03-02' + invoice_date__lte: + name: invoice_date__lte + in: query + description: Return balances issued on this date or earlier (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-03-01' + invoice_date__gt: + name: invoice_date__gt + in: query + description: Return invoices issued after this date (`YYYY-MM-DD`). + schema: + type: string + format: date + example: '2022-05-06' + invoice_date__gte: + name: invoice_date__gte + in: query + description: Return invoices issued on this date or later (`YYYY-MM-DD`) + schema: + type: string + format: date + example: '2022-05-04' + invoice_date__range: + name: invoice_date__range + in: query + description: Return invoices issued within this date range (`YYYY-MM-DD`). + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + format: date + example: '2022-05-06' + example: 2022-03-01,2022-05-06 + invoice_identification: + name: invoice_identification + in: query + description: Return an invoice with this ID (as provided by the insitution). + schema: + example: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + type: string + invoice_identification__in: + name: invoice_identification__in + in: query + description: Return invoices with these IDs (as provided by the institution). + style: form + explode: false + schema: + type: array + items: + type: string + example: 992B9918-3G6H-4E0B-DAI9-2BE2D833B833 + example: >- + 862B9918-3K6H-4E0B-NAI9-2BE2D833B840,992B9918-3G6H-4E0B-DAI9-2BE2D833B833 + status_invoice: + name: status + in: query + description: >- + Return invoices with this status. Can be either `Vigente` (valid) or + `Cancelado` (cancelled). + schema: + type: string + example: Vigente + status__in_invoice: + name: status__in + in: query + description: >- + Return invoices with these statuses. Can be either `Vigente` (valid) or + `Cancelado` (cancelled). + style: form + explode: false + schema: + type: array + items: + type: string + example: Cancelado + example: Vigente,Cancelado + type_invoice: + name: type + in: query + description: Return invoices of this type. Can be either `OUTFLOW` or `INFLOW`. + schema: + type: string + example: OUTFLOW + type__in_invoice: + name: type__in + in: query + description: Return invoices of these types. Can be either `OUTFLOW` or `INFLOW`. + style: form + explode: false + schema: + type: array + items: + type: string + example: OUTFLOW + example: OUTFLOW,INFLOW + total_amount: + name: total_amount + in: query + description: Return invoices matching exactly this value. + schema: + type: number + example: 1000 + total_amount__lt: + name: total_amount__lt + in: query + description: Return invoices less than this value. + schema: + type: number + example: 540 + total_amount__lte: + name: total_amount__lte + in: query + description: Return invoices less than or equal to this value. + schema: + type: number + example: 541 + total_amount__gt: + name: total_amount__gt + in: query + description: Return invoices greater than this value. + schema: + type: number + example: 520 + total_amount__gte: + name: total_amount__gte + in: query + description: Return invoices greater than or equal to this value. + schema: + type: number + example: 519 + total_amount__range: + name: total_amount__range + in: query + description: Return invoices between these two values. + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 541 + example: 519.00,541.00 + ejercicio: + name: ejercicio + in: query + description: Return tax returns for exactly this year (`YYYY`). + schema: + type: string + example: '2018' + ejercicio__lt: + name: ejercicio__lt + in: query + description: Return tax returns for before this year (`YYYY`). + schema: + type: string + example: '2020' + ejercicio__lte: + name: ejercicio__lte + in: query + description: Return tax returns for this year and earlier (`YYYY`). + schema: + type: string + example: '2021' + ejercicio__gt: + name: ejercicio__gt + in: query + description: Return tax returns for after this year (`YYYY`). + schema: + type: string + example: '2019' + ejercicio__gte: + name: ejercicio__gte + in: query + description: Return tax returns for this year or later (`YYYY`). + schema: + type: string + example: '2017' + ejercicio__range: + name: ejercicio__range + in: query + description: Return tax returns for this range of years (`YYYY`). + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: string + example: '2021' + example: 2015,2021 + tipo_declaracion: + name: tipo_declaracion + in: query + description: Return tax returns with this declaration type. + schema: + type: string + example: Normal + tipo_declaracion__in: + name: tipo_declaracion__in + in: query + description: Return tax returns with these declaration types. + style: form + explode: false + schema: + type: array + items: + type: string + example: Commercial + example: Normal,Commercial + year: + name: year + in: query + description: Return results for this year (`YYYY`). + schema: + type: number + example: 2020 + year__gt: + name: year__gt + in: query + description: Return results for after this year (`YYYY`). + schema: + type: number + example: 2020 + year__gte: + name: year__gte + in: query + description: Return results for this year or after (`YYYY`). + schema: + type: number + example: 2019 + year__lt: + name: year__lt + in: query + description: Return results for before this year (`YYYY`). + schema: + type: number + example: 2018 + year__lte: + name: year__lte + in: query + description: Return results for this year or earlier (`YYYY`). + schema: + type: number + example: 2017 + year__range: + name: year__range + in: query + description: Return results between these two years (`YYYY`). + style: form + explode: false + schema: + type: array + maxItems: 2 + items: + type: number + example: 2019 + example: 2017,2021 + internal_identification: + name: internal_identification + in: query + description: | + The `internal_identification` you want to filter by. + schema: + type: string + example: BLPM951331IONVGR54 + internal_identification__in: + name: internal_identification__in + in: query + description: | + One or more `internal_identification`s you want to filter by. + style: form + explode: false + schema: + type: array + items: + type: string + example: BLPM951331IONVGR54 + example: BLPM951331IONVGR54,GNQM951221IOMCGR59 + schemas: + 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 + nullable: true + 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}/?page=2 + previous: + type: string + nullable: true + format: uri + description: > + The URL to the previous page of results. If there is no previous + page, the + + value is `null`. + example: null + EnumLinkAccessModeResponse: + type: string + nullable: true + enum: + - single + - recurrent + - null + description: > + The link type. + + For more information, see our + [Links](https://developers.belvo.com/docs/links-and-institutions#links) + article. + + We return one of the following enum values: + - `single` + - `recurrent` + - `null` + example: recurrent + EnumLinkStatus: + type: string + enum: + - valid + - invalid + - unconfirmed + - token_required + description: > + The current status of the link. For more information, see our + [Link](https://developers.belvo.com/docs/links-and-institutions#links) + article in the devportal. + + We return one of the following values: + - `valid` + - `invalid` + - `unconfirmed` + - `token_required` + example: valid + EnumLinkRefreshRate: + type: string + nullable: true + default: 7d + enum: + - 6h + - 12h + - 24h + - 7d + - 30d + - null + description: > + The update refresh rate for the recurrent link. For more information, + check out our [recurrent link + documentation](https://developers.belvo.com/docs/links-and-institutions#recurrent-links) + in our DevPortal. + + We return one of the following enum values: + - `6h` + - `12h` + - `24h` + - `7d` (default) + - `30d` (once a month) + - `null` (for single links) + example: 7d + Link: + type: object + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the current Link. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + type: string + description: | + Belvo's name for the institution. + example: erebor_mx_retail + access_mode: + $ref: '#/components/schemas/EnumLinkAccessModeResponse' + last_accessed_at: + type: string + nullable: true + format: date-time + description: > + The ISO-8601 timestamp of Belvo's most recent successful access to + the institution for the given link. + example: '2019-09-27T13:02:03.584Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + external_id: + type: string + nullable: true + minLength: 3 + description: > + The `external_id` you provided as an additional identifier for the + link. + + For more information, see our [Link creation + + article](https://developers.belvo.com/docs/link-creation-best-practices#adding-your-own-identifier). + example: 56ab5706-6e00-48a4-91c9-ca55968678d9 + institution_user_id: + type: string + pattern: '[A-Za-z0-9\-=_]{44}' + description: > +
+ + Info: Only applicable for links created after + 08-02-2022. + +
+ + + + A unique 44-character string that can be used to identify a user at + a given institution. + + + + 📚 Check out our [Avoiding duplicated + links](https://developers.belvo.com/docs/link-creation-best-practices#avoiding-duplicated-links) + DevPortal article for more information and tips on how to use it. + example: sooE7XJWEKypZJR603ecaWYk-8Ap0oD8Nr1pBQ4eG9c= + status: + $ref: '#/components/schemas/EnumLinkStatus' + created_by: + type: string + format: uuid + description: The unique ID for the user that created this link. + example: bcef7f35-67f2-4b19-b009-cb38795faf09 + refresh_rate: + $ref: '#/components/schemas/EnumLinkRefreshRate' + credentials_storage: + type: string + description: > + Indicates how long credentials are stored. For links where + `access_mode=recurrent`, this is set to `store`. + + + We return one of the following values: + + - `store` - credentials are stored (until the link is deleted). + - `nostore` - credentials are not stored. + - Any value between `1d` and `365d` to indicate the number of days the credentials are stored (from when the link was `created_at`). + + example: 27d + fetch_resources: + type: array + description: | + An array of resources that you will receive a historical update for. + items: + type: string + description: A Belvo resource that the institution supports. + example: ACCOUNTS + example: + - ACCOUNTS + - TRANSACTIONS + stale_in: + type: string + nullable: true + description: > + Indicates how long any data will be stored in Belvo's database for + the link (both single and recurrent), relative to the + `last_accessed_at` parameter. + example: 90d + PaginatedResponseLink: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + items: + $ref: '#/components/schemas/Link' + 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 401 authentication_failed errors. + example: authentication_failed + message: + type: string + description: | + A short description of the error. + + + For `authentication_failed` errors, the description is: + + - `Invalid Secret Keys`. + example: Invalid Secret Keys + 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 + 401_consent_without_accounts_error: + 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 401 consent_without_accounts errors. + example: consent_without_accounts + message: + type: string + description: > + A short description of the error. + + + + For `invalid` errors relating to `fetch_resources`, the description + is: + + - `The institution only supports the following resources: (comma-separated list of supported resources)`. + example: >- + The institution only supports the following resources: + EMPLOYMENT_RECORDS, OWNERS + 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 + EnumLinkAccessModeRequest: + type: string + enum: + - single + - recurrent + description: > + The type of link to create. + + + - Use `single` to do ad hoc one-time POST requests for accounts, owners, + and transactions. + + - Use `recurrent` to have Belvo access information on a recurrent basis + so you always have fresh account, owner, balance, and transaction data. + + + For more information, see our + [Links](https://developers.belvo.com/docs/links-and-institutions#links) + article. + default: recurrent + LinksRequest: + type: object + required: + - institution + - username + properties: + institution: + type: string + pattern: '[a-z]+_[a-z]{2}_[a-z]+' + description: The Belvo name for the institution. + example: erebor_mx_retail + username: + type: string + description: The end-user's username (or ID) used to log in to the institution. + example: username + password: + type: string + description: > + The end-user's password used to log in to the institution. + + + ℹ️ **Note**: You must send through a password for all institutions + except for IMSS (`imss_mx_employment`). + example: password + external_id: + type: string + minLength: 3 + description: > + An additional identifier for the link, provided by you, to store + + in the Belvo database. **Cannot** include any Personal Identifiable + Information (PII). **Must** be at least three characters long. + + + + If we identify that the identifier contains PII, we will force a + `null` value. For more information, see our [Link + + creation + + article](https://developers.belvo.com/docs/link-creation-best-practices#adding-your-own-identifier). + example: 56ab5706-6e00-48a4-91c9-ca55968678d9 + username2: + type: string + description: > + The end-user's second username (or email address) used to log in to + the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a second username, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + example: secondusername + username3: + type: string + description: > + The end-user's third username used to log in to the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a third username, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + example: thirdusername + password2: + type: string + description: > + The end-user's second password used to log in to the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a second password, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + example: pin + token: + type: string + description: > + The MFA token required by the bank to log in. + + + We do not recommend sending the authentication token in the same + request as registering the user. See our [Handling multi-factor + authentication](https://developers.belvo.com/docs/handling-2-factor-authentication) + article for more information and best practices. + example: 1234ab + access_mode: + $ref: '#/components/schemas/EnumLinkAccessModeRequest' + fetch_resources: + type: array + description: > + An array of resources that you would like to receive a historical + update for. + + + For banking institutions, you can select the following resources: + - `ACCOUNTS` + - `OWNERS` + - `TRANSACTIONS` + - `BILLS` (only for OFDA institutions) + - `INCOMES` + - `RECURRING_EXPENSES` + - `RISK_INSIGHTS` + - `CREDIT_SCORE` + + + For fiscal institutions, you can select the following resources: + - `INVOICES` + - `TAX_COMPLIANCE_STATUS` + - `TAX_DECLARATIONS` + - `TAX_RETENTIONS` + - `TAX_RETURNS` + - `TAX_STATUS` + + For employment institutions, you can select the following resources: + - `OWNERS` + - `EMPLOYMENT_RECORDS` + - `EMPLOYMENT_METRICS` + + items: + type: string + description: A Belvo resource that the institution supports. + example: ACCOUNTS + example: + - ACCOUNTS + - TRANSACTIONS + credentials_storage: + type: string + description: > + Indicates whether or not to store credentials (and the duration for + which to store the credentials). + + + - For recurrent links, this is set to `store` by default (and cannot + be changed). + + - For single links, this is set to `365d` by default. + + + Choose either: + - `store` to store credentials (until the link is deleted) + - `nostore` to not store credentials + - Any value between `1d` and `365d` to indicate the number of days you want the credentials to be stored. + example: 27d + stale_in: + type: string + description: > + Indicates how long any data should be stored in Belvo's database for + the link (both single and recurrent). For example, if you send + through `90d`, Belvo will remove any data from its database relating + to the user after 90 days. + + + > **Note**: Belvo will only remove data for links that have not been + updated in the period you provide in `stale_in`. + + > + + > For example, if you set `stale_in` to `42d` and only request + information once on that day, then Belvo will remove any data + associated with the link after 42 days. However, if you make another + request five days later, then Belvo will restart the day counter to + that day. + + + By default Belvo stores user data for 365 days, unless the link is + deleted. + example: 42d + username_type: + type: string + description: > + Type of document to be used as a username. + + + Some banking institutions accept different documents to be used as + the `username` to login. For example, the *Cédula de Ciudadanía*, + *Cédula de Extranjería*, *Pasaporte'*, and so on. + + + For banks that require a document to log in, you **must** provide + the `username_type` parameter to specify which document is used when + creating the link. + + + ℹ️ To know which institutions require the `username_type` parameter, + get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + + + For a list of standards codes, see the table below. + + + | Code | Description | + + |-----------|-------| + + | `001` | Cédula de Ciudadanía | + + | `002` | Cédula de Extranjería | + + | `003` | Pasaporte | + + | `004` | Tarjeta de Identidad | + + | `005` | Registro Civil | + + | `006` | Número Identificación Personal | + + | `020` | NIT | + + | `021` | NIT Persona Natural | + + | `022` | NIT Persona Extranjera | + + | `023` | NIT Persona Jurídica | + + | `024` | NIT Menores | + + | `025` | NIT Desasociado | + + | `030` | Trj. Seguro Social Extranjero | + + | `031` | Sociedad Extranjera sin NIT en Colombia | + + | `032` | Fideicomiso | + + | `033` | RIF Venezuela | + + | `034` | CIF | + + | `035` | Número de Identidad | + + | `036` | RTN | + + | `037` | Cédula de Identidad | + + | `038` | DIMEX | + + | `039` | CED | + + | `040` | PAS | + + | `041` | Documento Único de Identidad | + + | `042` | NIT Salvadoreño | + + | `100` | Agência e conta | + + | `101` | Código do operador | + + | `102` | Cartão de crédito | + + | `103` | CPF | + example: '001' + TooManySessionsError: + type: object + title: Too Many Sessions + description: | + This error occurs when: + + - a user is attempting to log in to their institution via Belvo while also already being logged in to their institution on a web browser or mobile app. + - you make a request for information while Belvo is scraping data from the institution for that user. + properties: + code: + type: string + description: > + A unique error code (`too_many_sessions`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 too_many_sessions errors. + example: too_many_sessions + message: + type: string + description: | + A short description of the error. + + + For `too_many_sessions` errors, the description is: + + - `Impossible to login, a session is already opened with the institution for these credentials`. + example: >- + Impossible to login, a session is already opened with the + institution for these credentials + 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 + LoginError: + type: object + title: Login Error + description: | + This error can occur when: + + - the credentials that your user provides are incorrect or missing. + - the MFA token your user provides is not supported by Belvo. + - there is an issue with the institution that prevents logins. + - the user's account is either locked or the user does not have permission to access their internet banking. + properties: + code: + type: string + description: > + A unique error code (`login_error`) that allows you to classify and + handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 login_error errors. + example: login_error + message: + type: string + description: > + A short description of the error. + + + + For `login_error` errors, the description can be one of the + following: + + - `Invalid credentials provided to login to the institution` + - `A MFA token is required by the institution, but it's not supported yet by Belvo.` + - `Impossible to login, something unexpected happened while logging into the institution. Try again later.` + - `Login not attempted due to invalid credentials` + - `Missing credentials to login to the institution` + - `The user account access was forbidden by the institution` + - `The user account is locked, user needs to contact the institution to unlock it` + + example: Invalid credentials provided to login to the institution + 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 + SessionExpiredError: + type: object + title: Session Expired + description: > + This error occurs when you try to resume a request session that has + already expired. This is usually because the user took too long to + provide their authentication token. + properties: + code: + type: string + description: > + A unique error code (`session_expired`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 session_expired errors. + example: session_expired + message: + type: string + description: | + A short description of the error. + + + For `session_expired` errors, the description is: + + - `The session you are trying to resume has expired, please start again from register/retrieve endpoint`. + example: >- + The session you are trying to resume has expired, please start again + from register/retrieve endpoint + 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 + ValidationError: + type: object + title: Validation Error + description: > + This error occurs when make a request that does not include all the + required fields or includes invalid data. + properties: + code: + type: string + description: > + A unique error code (`null`, `does_not_exist`, `required`) that + allows you to classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle: + - 400 blank errors + - 400 null errors + - 400 does_not_exist errors + - 400 required errors + example: required + message: + type: string + description: | + A short description of the error. + + + For validation errors, the description can be (among others): + + - `This field is required.` + - `Object with name=narnia does not exist.` + - `This field may not be null.` + - `This field may not be blank.` + example: This field is required. + 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 + field: + type: string + nullable: true + description: | + Name of the field where the error was encountered. + example: link + InstitutionDownError: + type: object + title: Institution Down + description: > + This error occurs when the institution's website that you're trying to + access is down due to maintenance or other issues, which means Belvo is + unable to create new links or retrieve new data. + properties: + code: + type: string + description: > + A unique error code (`institution_down`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 institution_down errors. + example: institution_down + message: + type: string + description: | + A short description of the error. + + + For `institution_down` errors, the description is: + + - `The financial institution is down, try again later`. + example: The financial institution is down, try again later + 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 + InstitutionUnavailableError: + type: object + title: Institution Unavailable + description: > + This error occurs when the institution's website that you're trying to + access is down due to maintenance or other issues, which means Belvo is + unable to create new links or retrieve new data. + properties: + code: + type: string + description: > + A unique error code (`institution_unavailable`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how handle 400 institution_unavailable errors. + example: institution_unavailable + message: + type: string + description: | + A short description of the error. + + + For `institution_unavailable` errors, the description is: + + - `The financial institution is unavailable`. + example: The financial institution is unavailable + 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 + InstitutionInactiveError: + type: object + title: Institution Inactive + description: > + This error occurs when we (Belvo) have deactivated the institution in + our API. + properties: + code: + type: string + description: > + A unique error code (`institution_inactive`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 institution_inactive errors. + example: institution_inactive + message: + type: string + description: | + A short description of the error. + + + For `institution_inactive` errors, the description is: + + - `The institution has been temporarily deactivated`. + example: The institution has been temporarily deactivated + 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 + InvalidLinkError: + type: object + title: Invalid Link + description: > + This error occurs when you try to access an account but the user + credentials are no longer valid, prompting an error from the + institution. + properties: + code: + type: string + description: > + A unique error code (`invalid_link`) that allows you to classify and + handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_link errors. + example: invalid_link + message: + type: string + description: | + A short description of the error. + + + For `invalid_link` errors, the description is: + + - `The link has been invalidated. You may need to update link credentials`. + example: >- + The link has been invalidated. You may need to update link + credentials + 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 + 400InvalidCredentialsStorageError: + type: object + title: Invalid Credentials Storage + 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`. + properties: + code: + type: string + description: > + A unique error code (`invalid_credentials_storage`) that allows you + to classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_credentials_storage errors. + example: login_error + message: + type: string + description: > + A short description of the error. + + + + For `invalid_credentials_storage` errors, the description can be one + of the following: + + - `Recurrent links must store the credentials` + + example: Recurrent links must store the credentials + 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 + 400InvalidFetchHistorical: + type: object + title: Invalid Fetch Resources + 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`. + properties: + code: + type: string + description: > + A unique error code (`invalid_fetch_resources`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_fetch_resources errors. + example: invalid_fetch_resources + message: + type: string + description: > + A short description of the error. + + + + For `invalid_fetch_resources` errors, the description can be one of + the following: + + - `Single links without stored credentials must fetch resources` + + example: Single links without stored credentials must fetch resources + 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 + 400InvalidResourcesError: + type: object + title: Invalid Resources + description: > + This error occurs when you attempted to create a link where you added + resources in `fetch_resources` that are unsupported by the institution. + properties: + field: + type: string + description: > + The request parameter that is causing the error. For invalid + resources, this will be set to `resources`. + example: resources + code: + type: string + description: > + A unique error code (`invalid`) that allows you to classify and + handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_period errors. + example: invalid + message: + type: string + description: > + A short description of the error. + + + + For `invalid` errors relating to `fetch_resources`, the description + is: + + - `The institution only supports the following resources: (comma-separated list of supported resources)`. + example: >- + The institution only supports the following resources: + EMPLOYMENT_RECORDS, OWNERS + 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 + UnconfirmedLinkError: + type: object + title: Unconfirmed Link + description: > + This error occurs when you try to access a link that was paused + previously (and as such is not active now). + + + A Link's status is set to `unconfirmed_link` when your user has not + completed the Link creation process successfully (for example, they + might not provide a valid MFA token). + properties: + code: + type: string + description: > + A unique error code (`unconfirmed_link`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 unconfirmed_link errors. + example: unconfirmed_link + message: + type: string + description: | + A short description of the error. + + + For `unconfirmed_link` errors, the description is: + + - `The link creation has not been completed yet`. + example: The link creation has not been completed yet + 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 + UnsupportedOperationError: + type: object + title: Unsupported Operation + description: > + This error occurs when you try to access some data operation that Belvo + does not support for an institution. For example, trying to access the + Balances resource for fiscal institutions. + properties: + code: + type: string + description: > + A unique error code (`unsupported_operation`) that allows you to + classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 unsupported_operation errors. + example: unsupported_operation + message: + type: string + description: | + A short description of the error. + + + For `unsupported_operation` errors, the description is: + + - `The resource you are trying to access is not supported by this institution`. + example: >- + The resource you are trying to access is not supported by this + institution + 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 + TokenRequiredResponseTokenGenerationData: + type: object + description: Details on how to generate the token. + properties: + instructions: + type: string + description: Instructions for token generation. + example: Use this code to generate the token + type: + type: string + description: | + Type of the data to generate the token (QR code, numeric + challenge). + example: numeric + value: + type: string + description: Value to use to generate the token. + example: '12345' + expects_user_input: + type: boolean + description: > + Indicates whether the user needs to provide input in order to + complete the authentication. + + + When set to `false`, your user may need to: + + + - confirm the login on another device + + - scan a QR code + + + You will still need to make a PATCH call to complete the request. + example: true + default: true + TokenRequiredResponse: + type: object + description: MFA Token Required + properties: + code: + type: string + description: > + A unique error code (`token_required`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 428 token_required errors. + example: token_required + message: + type: string + description: | + A short description of the error. + + + For `token_required` errors, the description is: + + - `A MFA token is required by the institution to login`. + example: A MFA token is required by the institution to login + 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: 8c7b283c6efa449c9c028a16b5c249fa + session: + type: string + pattern: '[a-f0-9]{32}' + description: > + A 32-character unique ID of the login session (matching a regex + pattern of: `[a-f0-9]{32}`). + example: 2675b703b9d4451f8d4861a3eee54449 + expiry: + type: integer + format: int32 + description: Session duration time in seconds. + example: 9600 + link: + type: string + format: uuid + description: | + Unique identifier created by Belvo, used to reference the current + Link. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + token_generation_data: + $ref: '#/components/schemas/TokenRequiredResponseTokenGenerationData' + 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 500 unexpected_error errors. + example: unexpected_error + message: + type: string + description: | + A short description of the error. + + + For `unexpected_error` errors, the description is: + + - `Belvo is unable to process the request due to an internal system issue or to an unsupported response from an institution`. + example: >- + Belvo is unable to process the request due to an internal system + issue or to an unsupported response from an institution + 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 + PatchBodyWithoutSaveData: + type: object + description: A JSON object containing a session UUID and a MFA token + required: + - session + - link + properties: + session: + type: string + pattern: '[a-f0-9]{32}' + description: | + The session you want to resume. You need to use the `session` value + that is provided in the 428 Token Required response that you receive + after you make your POST request. + example: 6e7b283c6efa449c9c028a16b5c249fa + token: + type: string + description: | + The MFA token generated by the institution and required to continue + a session. + example: 1234ab + link: + type: string + format: uuid + description: | + The `link.id` you want to resume. Must be the same `link.id` as the + one you receive in the 428 Token Required response that contains the + `session` ID. + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + 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. + + + + ℹ️ Check our DevPortal for more information on how to handle 404 not_found errors. + example: not_found + message: + type: string + description: | + A short description of the error. + + + For `not_found` errors, the description is: + + - `Not found` + example: Not found + 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 + LinksPutRequest: + type: object + required: + - institution + - username + - password + properties: + password: + type: string + description: The end-user's password used to log in to the institution. + example: password + password2: + type: string + description: > + The end-user's second password used to log in to the institution. + + + ℹ️ This is only required by some institutions. To know which + institutions require a second password, get the + [details](https://developers.belvo.com/reference/detailinstitution) + for the institution and check the `form_fields` array in the + response. + example: pin + token: + type: string + description: | + The MFA token required by the bank to log in. + example: 1234ab + username_type: + type: string + description: | + Type of document to be used as a username. + + Some banking institutions accept different documents to be used as the `username` to login. For example, the *Cédula de Ciudadanía*, *Cédula de Extranjería*, *Pasaporte'*, and so on. + + For banks that require a document to log in, you **must** provide the `username_type` parameter to specify which document is used when creating the link. + + ℹ️ To know which institutions require the `username_type` parameter, get the [details](https://developers.belvo.com/reference/detailinstitution) for the institution and check the `form_fields` array in the response. + + For a list of standards codes, see the table below. + + | Code | Description | + |-----------|-------| + | `001` | Cédula de Ciudadanía | + | `002` | Cédula de Extranjería | + | `003` | Pasaporte | + | `004` | Tarjeta de Identidad | + | `005` | Registro Civil | + | `006` | Número Identificación Personal | + | `020` | NIT | + | `021` | NIT Persona Natural | + | `022` | NIT Persona Extranjera | + | `023` | NIT Persona Jurídica | + | `024` | NIT Menores | + | `025` | NIT Desasociado | + | `030` | Trj. Seguro Social Extranjero | + | `031` | Sociedad Extranjera sin NIT en Colombia | + | `032` | Fideicomiso | + | `033` | RIF Venezuela | + | `034` | CIF | + | `035` | Número de Identidad | + | `036` | RTN | + | `037` | Cédula de Identidad | + | `038` | DIMEX | + | `039` | CED | + | `040` | PAS | + | `041` | Documento Único de Identidad | + | `042` | NIT Salvadoreño | + | `100` | Agência e conta | + | `101` | Código do operador | + | `102` | Cartão de crédito | + | `103` | CPF | + example: '001' + certificate: + type: string + description: > + For certain fiscal institutions, it is possible to log in using a + certificate and a private key, which enables a faster connection to + the institution. + + + Belvo supports a base64 encoded `certificate`. If the `certificate` + parameter is used, you *must* also provide the `private_key` + parameter. + example: 1234567890abcd= + private_key: + type: string + description: > + For certain fiscal institutions, it is possible to log in using a + certificate and a private key, which enables a faster connection to + the institution. + + + Belvo supports a base64 encoded `private_key`. If the `private_key` + parameter is used, you *must* also provide the `certificate` + parameter. + example: 1234567890abcd= + ChangeAccessMode: + type: object + required: + - access_mode + properties: + access_mode: + $ref: '#/components/schemas/EnumLinkAccessModeRequest' + InvalidAccessMode: + type: object + title: Invalid Access Mode + description: > + This error occurs when you try to update a link from single to + recurrent, but there are no login credentials stored for the user. + properties: + code: + type: string + description: > + A unique error code (`invalid_access_mode_switch`) that allows you + to classify and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_access_mode_switch errors. + example: invalid_link + message: + type: string + description: | + A short description of the error. + + + For `invalid_access_mode_switch` errors, the description is: + + - `This link doesn't have stored credentials hence it can't be switched to recurrent mode"`. + example: >- + This link doesn't have stored credentials hence it can't be switched + to recurrent mode" + 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 + EnumInstitutionType: + type: string + enum: + - bank + - fiscal + - employment + description: | + The type of institution. We return one of the following values: + + - `bank` + - `fiscal` + - `employment` + InstitutionAccount: + type: object + description: Details regarding the institution. + properties: + name: + type: string + example: erebor_mx_retail + description: > + The name of the institution, as designated by Belvo. + + + Please see our + [Institutions](https://developers.belvo.com/docs/institution) + DevPortal article for a detailed list of institution names. + type: + $ref: '#/components/schemas/EnumInstitutionType' + EnumAccountCategory: + type: string + nullable: true + enum: + - CHECKING_ACCOUNT + - CREDIT_CARD + - INVESTMENT_ACCOUNT + - LOAN_ACCOUNT + - PENSION_FUND_ACCOUNT + - SAVINGS_ACCOUNT + - UNCATEGORIZED + - null + description: | + The type of account. + We return one of the following enum values: + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `INVESTMENT_ACCOUNT` + - `LOAN_ACCOUNT` + - `PENSION_FUND_ACCOUNT` + - `SAVINGS_ACCOUNT` + - `UNCATEGORIZED` + - `null` + example: CHECKING_ACCOUNT + AccountsBalance: + type: object + required: + - current + description: | + Details regarding the current and available balances for the account. + properties: + current: + type: number + nullable: true + format: float + description: > + The current balance is calculated differently according to the type + of account. + + + + - **💰 Checking and saving accounts**: + + + + The user's account balance at the `collected_at` timestamp. + + + - **💳 Credit cards**: + + + + The 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). + + + - **🏡 Loan accounts**: + + + + The amount remaining to pay on the users's loan. + example: 5874.13 + available: + type: number + nullable: true + format: float + description: > + The balance that the account owner can use. + + + - **💰 Checking and saving accounts**: + + + + The available balance may be different to the `current` balance due + to pending transactions. + + + - **💳 Credit cards**: + + + + The 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. + + + - **🏡 Loan accounts**: + + + + The present value required to pay off the loan, as provided by the + institution. + + + + **Note:** If the institution does not provide this value, we return + `null`. + example: 5621.12 + AccountsCreditData: + type: object + nullable: true + required: + - credit_limit + - cutting_date + - next_payment_date + - minimum_payment + - no_interest_payment + - interest_rate + - collected_at + description: The credit options associated with this account. + properties: + credit_limit: + type: number + nullable: true + format: float + example: 192000 + description: The maximum amount of credit the owner can receive. + collected_at: + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + cutting_date: + type: string + nullable: true + example: '2019-12-11' + description: The closing date of the credit period, in `YYYY-MM-DD` format. + next_payment_date: + type: string + description: The due date for the next payment , in `YYYY-MM-DD` format. + example: '2019-12-13' + minimum_payment: + type: number + nullable: true + format: float + example: 2400.3 + description: The minimum amount to be paid on the `next_payment_date`. + no_interest_payment: + type: number + nullable: true + format: float + example: 2690.83 + description: The minimum amount required to pay to avoid generating interest. + interest_rate: + type: number + nullable: true + format: float + description: The annualized interest rate of the credit. + example: 4 + monthly_payment: + type: number + 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.* + + + *The recurrent monthly payment, if applicable.* + example: null + 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.* + + + + *The date when the last credit payment was made, in `YYYY-MM-DD` + format.* + example: null + last_period_balance: + 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.* + + + + *The balance remaining after the `last_payment_date`.* + example: null + EnumLoanDataInterestRateType: + type: string + nullable: true + enum: + - MONTHLY + - YEARLY + description: > + The period that the interest is applied to the loan. We return one of + the following values: + + - `MONTHLY` + - `YEARLY` + example: MONTHLY + AccountsLoanDataInterestRate: + type: object + required: + - name + - type + - value + description: Breakdown of the interest applied to the loan. + properties: + name: + type: string + nullable: true + description: The name of the type of interest rate applied to the loan. + example: jurosEfetivo + type: + $ref: '#/components/schemas/EnumLoanDataInterestRateType' + value: + type: number + nullable: true + format: float + description: The interest rate (in percent or currency value). + example: 7.85 + EnumLoanDataFeeType: + type: string + enum: + - OPERATION_FEE + - INSURANCE_FEE + - OTHERS + description: | + The type of fee. We return one of the following values: + + - `OPERATION_FEE` + - `INSURANCE_FEE` + - `OTHERS` + example: OPERATION_FEE + AccountsLoanDataFees: + type: object + nullable: true + required: + - type + - value + description: Breakdown of the fees applied to the loan. + properties: + type: + $ref: '#/components/schemas/EnumLoanDataFeeType' + value: + type: number + format: float + description: | + The total value of the fee. Same currency of the Loan. + example: 5.6 + AccountsLoanData: + type: object + nullable: true + required: + - principal + - monthly_payment + - outstanding_balance + - interest_rates + - collected_at + description: The loan options associated with this account. + properties: + collected_at: + type: string + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2022-02-09T08:45:50.406032Z' + contract_amount: + type: number + nullable: true + format: float + description: >- + The initial total loan amount, calculated by the institution, when + the contract was signed. This amount includes the principal + + interest + taxes + fees. + example: 202000 + principal: + type: number + nullable: true + format: float + description: Total amount of the loan (the amount the user receives). + example: 192000 + loan_type: + type: string + nullable: true + description: The type of the loan, according to the institution. + example: Consignado + payment_day: + type: string + nullable: true + description: >- + The day of the month by which the owner needs to pay the loan + (`DD`). + example: '27' + outstanding_principal: + type: number + nullable: true + format: float + description: > + Outstanding loan amount, that is, how much remains to pay on the + principal (not including interest). + example: 142023 + outstanding_balance: + type: number + nullable: true + format: float + description: The amount remaining to pay in total, including interest. + example: 182000 + monthly_payment: + type: number + nullable: true + format: float + description: The recurrent monthly payment, if applicable. + example: 1000 + interest_rates: + type: array + nullable: true + description: Breakdown of the interest applied to the loan. + items: + $ref: '#/components/schemas/AccountsLoanDataInterestRate' + fees: + type: array + nullable: true + description: Breakdown of the fees applied to the loan. + items: + $ref: '#/components/schemas/AccountsLoanDataFees' + number_of_installments_total: + type: integer + nullable: true + format: int32 + description: The total number of installments required to pay the loan. + example: 60 + number_of_installments_outstanding: + type: integer + nullable: true + format: int32 + description: The number of installments left to pay. + example: 48 + contract_start_date: + type: string + nullable: true + description: The date when the loan contract was signed , in `YYYY-MM-DD` format. + example: '2020-03-01' + contract_end_date: + type: string + format: date + description: >- + The date when the loan is expected to be completed, in `YYYY-MM-DD` + format. + example: '2027-10-01' + contract_number: + type: string + nullable: true + description: The contract number of the loan, as given by the institution. + example: 890ASLDJF87SD00 + credit_limit: + type: number + 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.* + + + Please see `principal` instead. + example: null + last_period_balance: + type: number + 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.* + + + Please see `outstanding_balance` instead. + example: null + interest_rate: + type: number + 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.* + + + Please see the `interest_rates` object instead. + example: null + limit_day: + 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.* + + + Please see `payment_day` instead. + example: null + cutting_day: + 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.* + + + The closing day of the month for the loan. + example: null + cutting_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.* + + + The closing date of the loan period, in `YYYY-MM-DD` format. + example: null + 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.* + + + The date when the last loan payment was made, in `YYYY-MM-DD` + format. + next_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.* + + + Please use `payment_day` instead, in `YYYY-MM-DD` format. + example: null + no_interest_payment: + type: number + 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.* + + + The minimum amount required to pay to avoid generating interest. + example: null + AccountsFundsDataPublicIdentifications: + type: object + required: + - name + - value + properties: + name: + type: string + description: The type of identification number for the fund. + example: CNPJ + value: + type: string + nullable: true + description: The fund's identification number. + example: 05.954.445/0221-68 + AccountsFundsData: + type: object + properties: + collected_at: + type: string + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + name: + type: string + nullable: true + example: FIX X + description: The pension fund name. + type: + type: string + nullable: true + example: CNPJ + description: Type of pension fund. + public_identifications: + type: array + nullable: true + description: The fund's public IDs. + items: + $ref: '#/components/schemas/AccountsFundsDataPublicIdentifications' + balance: + type: number + nullable: true + format: float + example: 88427.94 + description: The amount in the fund. + percentage: + type: number + nullable: true + format: float + example: 100 + description: | + How much this fund, as a percentage, contributes to the pension + account's total. + Account: + type: object + nullable: true + title: Accounts Standard (Multi-Region) + description: > + Details regarding the account. + + + **Note**: For our recurring expenses resource, this account relates to + the account that was analyzed to generate the recurring expenses report. + 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 + description: | + The unique identifier created by Belvo used to reference the current + account. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: + type: string + nullable: true + description: The `link.id` the account belongs to. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + $ref: '#/components/schemas/InstitutionAccount' + collected_at: + type: string + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + category: + $ref: '#/components/schemas/EnumAccountCategory' + balance_type: + type: string + 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. + example: ASSET + type: + type: string + nullable: true + description: The account type, as designated by the institution. + example: Cuentas de efectivo + name: + type: string + nullable: true + description: The account name, as given by the institution. + example: Cuenta Perfiles- M.N. - MXN-666 + number: + type: string + nullable: true + description: The account number, as designated by the institution. + example: '4057068115181' + balance: + $ref: '#/components/schemas/AccountsBalance' + currency: + type: string + nullable: true + description: |- + The currency of the account. For example: + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + + Please note that other currencies other than in the list above may be returned. + example: MXN + public_identification_name: + type: string + nullable: true + description: > + The public name for the type of identification. For example: + `"CLABE"`. + + + ℹ️ For 🇧🇷 Brazilian savings and checking accounts, this field will + be `AGENCY/ACCOUNT`. + example: CLABE + public_identification_value: + type: string + nullable: true + description: > + The value for the `public_identification_name`. + + + ℹ️ For 🇧🇷 Brazilian savings and checking accounts, this field will + be the agency and bank account number, separated by a slash. + + For example: `0444/45722-0`. + example: '150194683119900273' + last_accessed_at: + type: string + nullable: true + format: date-time + description: > + The ISO-8601 timestamp of Belvo's most recent successful access to + the institution for the given link. + example: '2021-03-09T10:28:40.000Z' + credit_data: + $ref: '#/components/schemas/AccountsCreditData' + loan_data: + $ref: '#/components/schemas/AccountsLoanData' + funds_data: + type: array + nullable: true + description: One or more funds that contribute to the the pension account. + items: + $ref: '#/components/schemas/AccountsFundsData' + bank_product_id: + 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.* + + + *The institution's product ID for the account type.* + example: null + internal_identification: + deprecated: true + type: string + nullable: 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.* + + + *The institution's internal identification for the account.* + example: null + AccountsPaginatedResponse: + type: object + title: Accounts Standard (Multi-Region) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: An array of Account objects. + items: + $ref: '#/components/schemas/Account' + EnumAccountCategoryOpenFinance: + type: string + nullable: true + enum: + - ADVANCE_DEPOSIT_ACCOUNT + - CHECKING_ACCOUNT + - CREDIT_CARD + - FINANCING_ACCOUNT + - INVESTMENT_ACCOUNT + - INVOICE_FINANCING_ACCOUNT + - LOAN_ACCOUNT + - PENSION_FUND_ACCOUNT + - SAVINGS_ACCOUNT + - UNCATEGORIZED + description: | + The type of account. + We return one of the following enum values: + - `ADVANCE_DEPOSIT_ACCOUNT` + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `FINANCING_ACCOUNT` + - `INVESTMENT_ACCOUNT` + - `INVOICE_FINANCING_ACCOUNT` + - `LOAN_ACCOUNT` + - `PENSION_FUND_ACCOUNT` + - `SAVINGS_ACCOUNT` + - `UNCATEGORIZED` + example: CHECKING_ACCOUNT + AccountOverdraftOpenFinanceBrazil: + type: object + nullable: true + required: + - arranged + - used + - unarranged + properties: + arranged: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The agreed upon overdraft limit between the account holder and the + institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `overdraft` field is available. + example: 5000.5 + used: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The overdraft value used. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `overdraft` field is available. + example: 1000.5 + unarranged: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The overdraft used that was not arranged between the account holder + and the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `overdraft` field is available. + example: 300.1 + AccountBalanceOpenFinanceBrazil: + type: object + required: + - current + description: | + Details regarding the current and available balances for the account. + properties: + current: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The current balance is calculated differently according to the type + of account. + + + + - **💰 Checking and saving accounts**: + + + + The user's account balance at the `collected_at` timestamp. + + + - **💳 Credit cards**: + + + + The 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). + + + - **🏡 Loan accounts**: + + + + The amount remaining to pay on the users's loan. + example: 5874.13 + available: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The balance that the account owner can use. + + + - **💰 Checking and saving accounts**: + + + + The available balance may be different to the `current` balance due + to pending transactions. + + + - **💳 Credit cards**: + + + + The credit amount the user still has available for the current + period. The amount is calculated as `credit_data.credit_limit` minus + `balance.current`. + + + - **🏡 Loan accounts**: + + + + The present value required to pay off the loan, as provided by the + institution. + + + + **Note:** If the institution does not provide this value, we return + `null`. + example: 5621.12 + blocked: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The amount that is currently blocked due to pending transactions. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + example: 60.32 + automatically_invested: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The amount that is automatically invested (as agreed upon with the + institution). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + example: 131.5 + EnumCreditCardLimitType: + type: string + enum: + - TOTAL_LIMIT + - MODAL_LIMIT + description: | + The type of limit. We return one of the following values: + + - `TOTAL_LIMIT` + - `MODAL_LIMIT` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: TOTAL_LIMIT + AccountCreditDataLimitsOpenFinanceBrazil: + type: object + description: > + Detailed information regarding the credit limits for the credit cards. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + required: + - identification_number + - credit_limit + - used_amount + - available_amount + - is_limit_flexible + - type + - consolidation_type + - line_name + - line_name_additional_info + properties: + identification_number: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The credit card number. + + + **Note:** Often, this is just the last four digit of the credit + card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '4453' + credit_limit: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The limit of the credit card. + example: 1000.04 + used_amount: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The amount used. + example: 400.04 + available_amount: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The amount still available. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 600 + is_limit_flexible: + type: boolean + description: > + Boolean to indicate if the `credit_limit` is flexible. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: false + type: + $ref: '#/components/schemas/EnumCreditCardLimitType' + consolidation_type: + type: string + description: > + Indicates whether or not the credit limit is consolidated or + individual. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: INDIVIDUAL + line_name: + type: string + nullable: true + description: | + The credit limit line name. + example: CREDITO_A_VISTA + line_name_additional_info: + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + description: | + Additional information about the line name. + example: Informações adicionais e complementares + EnumAccountCreditCardNetwork: + type: string + enum: + - VISA + - MASTERCARD + - AMERICAN_EXPRESS + - DINERS_CLUB + - HIPERCARD + - BANDEIRA_PROPRIA + - CHEQUE_ELETRONICO + - ELO + - OTHER + description: > + The credit network that the card is associated with. We return one of + the following values: + + - `VISA` + - `MASTERCARD` + - `AMERICAN_EXPRESS` + - `DINERS_CLUB` + - `HIPERCARD` + - `BANDEIRA_PROPRIA` + - `CHEQUE_ELETRONICO` + - `ELO` + - `OTHER` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: MASTERCARD + AccountCreditDataCardsOpenFinanceBrazil: + type: object + required: + - is_multiple + - identification_number + description: Details regarding all the cards associated with the account. + properties: + is_multiple: + type: boolean + description: > + Boolean to indicate if this account has multiple credit cards. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: false + identification_number: + type: string + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The credit card number. + + + **Note:** Often, this is just the last four digit of the credit + card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '4453' + AccountCreditDataOpenFinanceBrazil: + type: object + nullable: true + required: + - collected_at + - credit_limit + description: Details regarding the credit cards associated with this account. + properties: + collected_at: + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + credit_limit: + type: number + nullable: true + format: float + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The upper credit limit of the card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 192000.9 + limits: + type: array + items: + $ref: '#/components/schemas/AccountCreditDataLimitsOpenFinanceBrazil' + cutting_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: The date when the credit card's bill is due. + example: '2019-12-11' + minimum_payment: + type: number + nullable: true + format: float + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The minimum amount that the account owner needs to pay in the + current credit period. + example: 2400.3 + network: + $ref: '#/components/schemas/EnumAccountCreditCardNetwork' + network_additional_info: + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + description: | + Additional information about the credit card network. + example: It's an orange card. + cards: + type: array + minItems: 1 + description: Details regarding the cards associated with the account. + items: + $ref: '#/components/schemas/AccountCreditDataCardsOpenFinanceBrazil' + next_payment_date: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + no_interest_payment: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + interest_rate: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + monthly_payment: + type: number + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + last_payment_date: + type: string + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + EnumAccountLoanDataInterestRateType: + type: string + enum: + - MONTHLY + - YEARLY + description: > + The period that the interest is applied to the loan. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + example: MONTHLY + EnumAccountLoanDataInterestRateDataTaxType: + type: string + enum: + - NOMINAL + - EFFECTIVE + description: | + The type of interest rate tax. We return one of the following values: + + - `NOMINAL` + - `EFFECTIVE` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: NOMINAL + EnumAccountLoanDataInterestRateDataRateType: + type: string + enum: + - SIMPLE + - COMPOUND + description: | + The type of interest rate. We return one of the following values: + + - `SIMPLE` + - `COMPOUND` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: SIMPLE + EnumAccountLoanDataInterestRateDataReferenceIndexType: + type: string + enum: + - WITHOUT_INDEX_TYPE + - PRE_FIXED + - POST_FIXED + - FLOATING + - INDEXED_PRICE + - RURAL_CREDIT + - OTHER_INDEX + description: | + The reference index rate. We return one of the following values: + + - `WITHOUT_INDEX_TYPE` + - `PRE_FIXED` + - `POST_FIXED` + - `FLOATING` + - `INDEXED_PRICE` + - `RURAL_CREDIT` + - `OTHER_INDEX` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: FLOATING + 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 + description: Detailed information regarding the interest rate. + properties: + tax_type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateDataTaxType' + rate_type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateDataRateType' + type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateType' + calculation_base: + type: string + pattern: ^[0-9]{2}\/[0-9]{3}$ + description: > + The base calculation for the interest rate. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 30/360 + reference_index_type: + $ref: >- + #/components/schemas/EnumAccountLoanDataInterestRateDataReferenceIndexType + reference_index_subtype: + type: string + nullable: true + description: | + The subtype of the reference index rate. + example: TR_TBF + reference_index_info: + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + Additional information regarding the reference index rate. + example: Additional information + pre_fixed_rate: + type: number + format: float + pattern: ^[01]\.\d{6}$ + description: > + The pre-fixed percentage rate of the interest rate. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 0.062 + post_fixed_rate: + type: number + format: float + pattern: ^[01]\.\d{6}$ + description: > + The post-fixed percentage rate of the interest rate. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 0.062 + additional_info: + type: string + nullable: true + maxLength: 1200 + pattern: '[\w\W\s]*' + description: | + Additional information regarding the interest rate. + example: Additional information + AccountLoanDataInterestRateOpenFinanceBrazil: + type: object + required: + - name + - type + - value + - interest_rate_data + 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. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + properties: + name: + type: string + nullable: true + description: > + The name of the type of interest rate applied to the loan. + + + **Note:** For OFDA Brazil, we recommend you use the + `interest_date_data.tax_type` parameter. + example: NOMINAL + type: + $ref: '#/components/schemas/EnumAccountLoanDataInterestRateType' + value: + type: number + nullable: true + format: float + description: > + The interest rate (in percent or currency value). + + + **Note:** For OFDA Brazil, we recommend you use the + `interest_date_data.pre_fixed_rate` and + `interest_date_data.post_fixed_rate`parameter. + example: 7.85 + interest_rate_data: + $ref: >- + #/components/schemas/AccountLoanDataInterestRateDataOpenFinanceBrazil + EnumAccountLoanDataFeeType: + type: string + nullable: true + enum: + - OPERATION_FEE + - INSURANCE_FEE + - OTHERS + - null + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + EnumAccountLoanDataFeeChargeType: + type: string + enum: + - SINGLE + - PER_INSTALLMENT + description: | + Indicates the type of charge. We return one of the following values: + + - `SINGLE` + - `PER_INSTALLMENT` + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + example: SINGLE + EnumAccountLoanDataFeeCharge: + type: string + enum: + - MINIMUM + - MAXIMUM + - FIXED + - PERCENTAGE + description: > + Billing method, as agreed upon with the institution. We return one of + the following values: + + - `MINIMUM` + - `MAXIMUM` + - `FIXED` + - `PERCENTAGE` + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + example: FIXED + AccountLoanDataFeesOpenFinanceBrazil: + type: object + nullable: true + required: + - type + - value + - name + - code + - fee_charge_type + - fee_charge + - rate + description: Breakdown of the fees applied to the loan. + properties: + type: + $ref: '#/components/schemas/EnumAccountLoanDataFeeType' + value: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The total value of the fee. Same currency as the loan. + example: 5.6 + name: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + The fee name. + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + example: Renovação de cadastro + code: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + The fee code. + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available. + example: CADASTRO + fee_charge_type: + $ref: '#/components/schemas/EnumAccountLoanDataFeeChargeType' + fee_charge: + $ref: '#/components/schemas/EnumAccountLoanDataFeeCharge' + rate: + type: number + nullable: true + format: float + pattern: ^[01]\.\d{6}$ + description: > + The percentage rate of the fee. Required when `fee_charge` is set to + `PERCENTAGE`. + example: 0.062 + EnumAccountLoanDataContractedChargeType: + type: string + enum: + - LATE_PAYMENT_INTEREST_FEE + - LATE_PAYMENT_PENALTY_FEE + - DEFAULT_INTEREST_FEE + - LOAN_CONTRACT_TAX + - LATE_PAYMENT_TAX + - NO_CHARGE + - OTHER + description: | + The type of contracted charge. We return one of the following values: + + - `LATE_PAYMENT_INTEREST_FEE` + - `LATE_PAYMENT_PENALTY_FEE` + - `DEFAULT_INTEREST_FEE` + - `LOAN_CONTRACT_TAX` + - `LATE_PAYMENT_TAX` + - `NO_CHARGE` + - `OTHER` + + > **Non-nullable:** A value must be returned by Brazil's open finance network if the `contracted_charges` field is available. + example: LATE_PAYMENT_INTEREST_FEE + AccountLoanDataContractedChargesOpenFinanceBrazil: + type: object + nullable: true + description: | + Details regarding any contracted charges. + properties: + type: + $ref: '#/components/schemas/EnumAccountLoanDataContractedChargeType' + info: + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + Additional information regarding the contracted charge. + example: Late fee + rate: + type: number + nullable: true + format: float + pattern: ^[01]\.\d{6}$ + description: > + The percentage rate of the charge, calculated based on the amount of + the loan. + example: 0.062 + AccountLoanDataCollateralsOpenFinanceBrazil: + type: object + nullable: true + description: >- + Details regarding any loan collaterals that the individual or business + supplied. + required: + - type + - subtype + - currency + - amount + properties: + type: + type: string + description: > + The type of collateral, as defined by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + example: OPERACOES_GARANTIDAS_PELO_GOVERNO + subtype: + type: string + description: > + The subtype of the collateral, as defined by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + example: CCR_CONVENIO_CREDITOS_RECIPROCOS + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + example: BRL + amount: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The total amount of the bill. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `collaterals` field is available. + example: 45391.89 + AccountLoanDataBalloonPaymentsOpenFinanceBrazil: + type: object + nullable: true + description: >- + Detailed information regarding any balloon payments for the loan, if + applicable. + required: + - due_date + - currency + - amount + properties: + due_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date that the balloon payment is to be paid, in `YYYY-MM-DD` + format. + example: '2021-09-06' + currency: + type: string + nullable: true + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: | + The three-letter currency code (ISO-4217). + example: BRL + amount: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The total amount of the balloon payment. + example: 45391.89 + EnumAccountsLoanDataContractInstallmentFrequency: + type: string + nullable: true + enum: + - DAY + - WEEK + - MONTH + - YEAR + - NO_DEADLINE_REMAINING + - null + description: > + The frequency of contracted installment payments, as defined when the + contract was first signed. We return one of the following: + + - `DAY` + - `WEEK` + - `MONTH` + - `YEAR` + - `NO_DEADLINE_REMAINING` + - `null` + example: MONTH + EnumAccountLoanDataInstallmentFrequency: + type: string + enum: + - IRREGULAR + - WEEKLY + - FORTNIGHTLY + - MONTHLY + - BIMONTHLY + - QUARTERLY + - BIANNUALLY + - ANNUALLY + - OTHER + description: > + The frequency that the installments are paid. We return one of the + following values: + + - `IRREGULAR` + - `WEEKLY` + - `FORTNIGHTLY` + - `MONTHLY` + - `BIMONTHLY` + - `QUARTERLY` + - `BIANNUALLY` + - `ANNUALLY` + - `OTHER` + + > **Non-nullable:** A value must be returned by Brazil's open finance network. + example: MONTHLY + EnumAccountLoanDataContractRemainingFrequency: + type: string + nullable: true + enum: + - DAY + - WEEK + - MONTH + - YEAR + - NO_DEADLINE_REMAINING + - null + description: > + The frequency of the remaining contracted installment payments, as + defined when the contract was first signed. We return one of the + following: + + - `DAY` + + - `WEEK` + + - `MONTH` + + - `YEAR` + + - `NO_DEADLINE_REMAINING` + + - `null` + example: MONTH + 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 + description: The loan options associated with this account. + properties: + collected_at: + type: string + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2022-02-09T08:45:50.406032Z' + loan_code: + type: string + minLength: 22 + maxLength: 67 + pattern: ^\d{22,67}$ + description: > + The country-specific standardized contract number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '92792126019929279212650822221989319252576' + contract_amount: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The initial total loan amount when the contract was signed, + calculated by the institution. This amount includes the principal + + interest + taxes + fees. + example: 202000 + total_effective_cost: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The initial total effective cost of the loan. + example: 209000 + loan_type: + type: string + description: > + The type of the loan, according to the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: HOME_EQUITY + outstanding_balance: + type: number + nullable: true + format: float + minLength: 4 + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + description: | + The amount remaining to pay in total, including interest. + example: 182000 + interest_rates: + type: array + 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. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/AccountLoanDataInterestRateOpenFinanceBrazil' + fees: + type: array + nullable: true + description: | + Breakdown of the fees applied to the loan. + items: + $ref: '#/components/schemas/AccountLoanDataFeesOpenFinanceBrazil' + contracted_charges: + type: array + nullable: true + description: '' + items: + $ref: >- + #/components/schemas/AccountLoanDataContractedChargesOpenFinanceBrazil + collaterals: + type: array + nullable: true + description: > + Details regarding any loan collaterals that the individual or + business supplied. + items: + $ref: '#/components/schemas/AccountLoanDataCollateralsOpenFinanceBrazil' + balloon_payments: + type: array + nullable: true + description: > + Detailed information regarding any balloon payments for the loan, if + applicable. + items: + $ref: >- + #/components/schemas/AccountLoanDataBalloonPaymentsOpenFinanceBrazil + installments_contract_term_frequency: + $ref: >- + #/components/schemas/EnumAccountsLoanDataContractInstallmentFrequency + installment_frequency: + $ref: '#/components/schemas/EnumAccountLoanDataInstallmentFrequency' + installment_frequency_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,99}$$ + description: | + Additional information regarding the `installment_frequency`. + example: Both the term and requency are the same. + first_installment_due_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date when the first installment of the loan is to be paid, in + `YYYY-MM-DD` format. + example: '2020-03-01' + number_of_installments_total: + type: integer + nullable: true + format: int32 + maximum: 999999999 + description: | + The total number of installments required to pay the loan. + example: 60 + number_of_installments_outstanding: + type: integer + nullable: true + format: int32 + maximum: 999999999 + description: | + The number of installments left to pay. + example: 48 + number_of_installments_paid: + type: integer + nullable: true + format: int32 + maximum: 999999999 + description: | + The number of installments already paid. + example: 32 + number_of_installments_past_due: + type: integer + nullable: true + format: int32 + maximum: 999 + description: | + The number of installments that are overdue. + example: 2 + disbursement_dates: + type: array + nullable: true + minItems: 1 + description: | + An array of dates when the loan was disbursed. + items: + type: string + nullable: true + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date that the loan was disbursed, in `YYYY-MM-DD` format. + example: '2021-09-23' + settlement_date: + type: string + nullable: true + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date that the loan was settled, in `YYYY-MM-DD` format. + example: '2021-09-23' + contract_start_date: + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date when the loan contract was signed, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '2020-03-01' + contract_end_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date when the loan is expected to be completed, in `YYYY-MM-DD` + format. + example: '2027-10-01' + contract_remaining_frequency: + $ref: '#/components/schemas/EnumAccountLoanDataContractRemainingFrequency' + contract_remaining_total: + type: integer + nullable: true + format: int32 + maximum: 999999999 + description: | + The total number of installments remaining on the loan. + example: 20 + amortization_schedule: + type: string + description: > + The loan amortization schedule. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: SEM_SISTEMA_AMORTIZACAO + amortization_schedule_info: + type: string + nullable: true + maxLength: 200 + pattern: '[\w\W\s]*' + description: | + Additional information regarding the `amortization_schedule`. + example: No need for a schedule. + consignee_id: + type: string + nullable: true + maxLength: 14 + pattern: ^\d{14}$ + description: | + The ID of the consignee of the loan. + example: '60500998000135' + contract_number: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^\d{1,100}$ + description: | + The contract number of the loan, as given by the institution. + example: '1324926521496' + monthly_payment: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + principal: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + payment_day: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + outstanding_principal: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + credit_limit: + type: number + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + last_period_balance: + type: number + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + interest_rate: + type: number + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + limit_day: + type: string + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + cutting_day: + type: string + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + cutting_date: + type: string + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + last_payment_date: + type: string + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + no_interest_payment: + type: number + nullable: true + deprecated: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + AccountOpenFinanceBrazil: + type: object + nullable: true + title: Accounts (OFDA Brazil) + description: | + Details regarding the account. + 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 + description: | + The unique identifier created by Belvo for the current + account. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: + type: string + nullable: true + description: The `link.id` the account belongs to. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + $ref: '#/components/schemas/InstitutionAccount' + collected_at: + type: string + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was created in Belvo's + database. + example: '2022-02-09T08:45:50.406032Z' + last_accessed_at: + type: string + nullable: true + format: date-time + description: > + The ISO-8601 timestamp of Belvo's most recent successful access to + the institution for the given link. + example: '2021-03-09T10:28:40.000Z' + category: + $ref: '#/components/schemas/EnumAccountCategoryOpenFinance' + balance_type: + type: string + 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. + example: ASSET + overdraft: + $ref: '#/components/schemas/AccountOverdraftOpenFinanceBrazil' + type: + type: string + description: > + The account type, as designated by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: STANDARD_NACIONAL + subtype: + type: string + description: > + The account subtype, as designated by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: FINANCIAMENTO_HABITACIONAL_SFH + name: + type: string + nullable: true + description: The account name, as given by the institution. + example: Cuenta Perfiles- M.N. - MXN-666 + number: + type: string + nullable: true + description: | + The account number, as designated by the institution. + example: '4057068115181' + agency: + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + description: | + The branch code where the product was opened. + example: '6272' + check_digit: + type: string + nullable: true + maxLength: 2 + pattern: '[\w\W\s]*' + description: | + The check digit of the product's number, if applicable. + example: '7' + balance: + $ref: '#/components/schemas/AccountBalanceOpenFinanceBrazil' + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + example: BRL + public_identification_name: + type: string + nullable: true + description: > + The public name for the type of identification. For 🇧🇷 Brazilian + savings and checking accounts, this field will be `AGENCY/ACCOUNT`. + example: AGENCY/ACCOUNT + public_identification_value: + type: string + nullable: true + description: > + The value for the `public_identification_name`. + + + For 🇧🇷 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`. + + + For 🇧🇷 OFDA Brazilian credit card accounts, we will return a + string of concatenated credit card numbers associated with the + account. For example: "8763,9076,5522" + example: 0444/45722-0 + internal_identification: + type: string + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The institution's internal identification for the account. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `balances` field is available. + example: '92792126019929279212650822221989319252576' + credit_data: + $ref: '#/components/schemas/AccountCreditDataOpenFinanceBrazil' + loan_data: + $ref: '#/components/schemas/AccountLoanDataOpenFinanceBrazil' + funds_data: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + AccountsPaginatedResponseOpenFinanceBrazil: + type: object + title: Accounts (OFDA Brazil) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: An array of account objects. + items: + $ref: '#/components/schemas/AccountOpenFinanceBrazil' + StandardRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + token: + type: string + description: The OTP token generated by the bank. + example: 1234ab + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + 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 408 request_timeout errors. + example: request_timeout + message: + type: string + description: | + A short description of the error. + + + For `request_timeout` errors, the description is: + + - `The request timed out, you can retry asking for less data by changing your query parameters`. + example: >- + The request timed out, you can retry asking for less data by + changing your query parameters + 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 + PatchBody: + type: object + description: A JSON object containing a session UUID and a MFA token + required: + - session + - link + properties: + session: + type: string + pattern: '[a-f0-9]{32}' + description: | + The session you want to resume. You need to use the `session` value + that is provided in the 428 Token Required response that you receive + after you make your POST request. + example: 6e7b283c6efa449c9c028a16b5c249fa + token: + type: string + description: | + The MFA token generated by the institution and required to continue + a session. + example: 1234ab + link: + type: string + format: uuid + description: | + The `link.id` you want to resume. Must be the same `link.id` as the + one you receive in the 428 Token Required response that contains the + `session` ID. + example: 683005d6-f45c-4adb-b289-f1a12f50f80c + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + TransactionMerchantData: + type: object + nullable: true + description: > + Additional data regarding the merchant involved in the transaction. + + We only return merchant information for new transactions made from + *checking* or *credit card* accounts. + + > **Get merchant information** + We retrieve the merchant information for a transaction as part of our [Transaction categorization](https://developers.belvo.com/docs/banking#categorizing-transactions) product, turning raw data into actionable insights. To enable this product, just [reach out](https://belvo.com/contact/?utm_source=documentation) to us, and we'll get right to it. + properties: + logo: + type: string + nullable: true + description: The URL to the merchant's logo. + example: https://logo.clearbit.com/asesor-contable.es + website: + type: string + nullable: true + description: The URL to the merchant's website. + example: https://merchants-r-us.com + merchant_name: + type: string + description: The name of the merchant. + example: Merchants R Us Global + EnumTransactionCategory: + type: string + nullable: true + enum: + - Bills & Utilities + - Credits & Loans + - Deposits + - Fees & Charges + - Food & Groceries + - Home & Life + - Income & Payments + - Insurance + - Investments & Savings + - Online Platforms & Leisure + - Personal Shopping + - Taxes + - Transfers + - Transport & Travel + - Unknown + - Withdrawal & ATM + - null + description: > + The name of the transaction category. + + + > **Get transaction categorization** + + With [Transaction + categorization](https://developers.belvo.com/docs/banking#categorizing-transactions), + we clean and categorize transactions for you, turning raw data into + actionable insights. To enable this feature, just [reach + out](https://belvo.com/contact/?utm_source=documentation) to us, and + we'll get right to it. + + + We return one of the following enum values: + + - `Bills & Utilities` + - `Credits & Loans` + - `Deposits` + - `Fees & Charges` + - `Food & Groceries` + - `Home & Life` + - `Income & Payments` + - `Insurance` + - `Investments & Savings` + - `Online Platforms & Leisure` + - `Personal Shopping` + - `Taxes` + - `Transfers` + - `Transport & Travel` + - `Unknown`* + - `Withdrawal & ATM` + - `null` + + + \* For clients not using our Transaction Categorization product, we return `null` instead. + example: Income & Payments + EnumTransactionSubcategory: + type: string + nullable: true + enum: + - Electricity & Energy + - Rent + - Telecommunications + - Water + - Auto + - Credit Card + - Instalment + - Interest & Charges + - Mortgage + - Pay Advance + - Personal + - Adjustments + - Bank Fees + - Chargeback + - Refund + - Blocked Balances + - Alimony + - Alcohol & Tobacco + - Bakery & Coffee + - Bars & Nightclubs + - Convenience Store + - Delivery + - Groceries + - Restaurants + - Education + - Gyms & Fitness + - Hair & Beauty + - Health + - Home Decor & Appliances + - Laundry & Dry Cleaning + - Pharmacies + - Professional Services + - Veterinary Services + - Freelance + - Interest + - Retirement + - Salary + - Government + - Home Insurance + - Auto Insurance + - Health & Life Insurance + - Savings + - Fixed income + - Equity + - Investment Funds + - Derivatives + - Cryptocurrencies + - Apps, Software and Cloud Services + - Events, Parks and Museums + - Gambling + - Gaming + - Lottery + - Movie & Audio + - Books & News + - Clothing & Accessories + - Department Store + - Electronics + - E-commerce + - Gifts + - Office Supplies + - Pet Supplies + - Auto Tax & Fees + - Donation + - Government Fees + - Income Tax + - Real Estate Tax & Fees + - Tax Return + - Accommodation + - Auto Expenses + - Auto Rental + - Flights + - Gas + - Mileage Programs + - Parking & Tolls + - Public Transit + - Taxis & Rideshares + - Other + - null + description: | + The transaction subcategory. + + > **Get transaction categorization** + For clients not using our [Transaction categorization](https://developers.belvo.com/docs/banking#categorizing-transactions), we return `null` instead. To enable this feature, just [reach out](https://belvo.com/contact/?utm_source=documentation) to us, and we'll get right to it. + + + We return one of the following enum values: + + - `Electricity & Energy` + - `Rent` + - `Telecommunications` + - `Water` + - `Auto` + - `Credit Card` + - `Instalment` + - `Interest & Charges` + - `Mortgage` + - `Pay Advance` + - `Personal` + - `Adjustments` + - `Bank Fees` + - `Chargeback` + - `Refund` + - `Blocked Balances` + - `Alimony` + - `Alcohol & Tobacco` + - `Bakery & Coffee` + - `Bars & Nightclubs` + - `Convenience Store` + - `Delivery` + - `Groceries` + - `Restaurants` + - `Education` + - `Gyms & Fitness` + - `Hair & Beauty` + - `Health` + - `Home Decor & Appliances` + - `Laundry & Dry Cleaning` + - `Pharmacies` + - `Professional Services` + - `Veterinary Services` + - `Freelance` + - `Interest` + - `Retirement` + - `Salary` + - `Government` + - `Home Insurance` + - `Auto Insurance` + - `Health & Life Insurance` + - `Savings` + - `Fixed income` + - `Equity` + - `Investment Funds` + - `Derivatives` + - `Cryptocurrencies` + - `Apps, Software and Cloud Services` + - `Events, Parks and Museums` + - `Gambling` + - `Gaming` + - `Lottery` + - `Movie & Audio` + - `Books & News` + - `Clothing & Accessories` + - `Department Store` + - `Electronics` + - `E-commerce` + - `Gifts` + - `Office Supplies` + - `Pet Supplies` + - `Auto Tax & Fees` + - `Donation` + - `Government Fees` + - `Income Tax` + - `Real Estate Tax & Fees` + - `Tax Return` + - `Accommodation` + - `Auto Expenses` + - `Auto Rental` + - `Flights` + - `Gas` + - `Mileage Programs` + - `Parking & Tolls` + - `Public Transit` + - `Taxis & Rideshares` + - `Other` + - `null` + example: Freelance + EnumTransactionType: + type: string + nullable: true + enum: + - OUTFLOW + - INFLOW + - null + description: > + The direction of the transaction: + + - `INFLOW` indicates money coming into the account. + + - `OUTFLOW` indicates money going out of the account. + + - `null` when no information was present regarding the direction of the + transaction. + example: INFLOW + EnumTransactionStatus: + type: string + nullable: true + enum: + - PENDING + - PROCESSED + - UNCATEGORIZED + - null + description: | + The status of the transaction. We return one of the following values: + + - `PROCESSED` (The transaction has been processed by the institution.) + - `PENDING` (The institution clearly states that the transaction has not yet been processed.) + - `UNCATEGORIZED` (deprecated) + - `null` (deprecated) + + example: PROCESSED + EnumTransactionBillStatus: + type: string + nullable: true + enum: + - PAID + - CLOSED + - OPEN + - FUTURE + - null + description: | + The status of the bill that the transaction appears on. Can be one of: + + - `PAID`: The bill has been paid in full. + - `CLOSED`: The bill has been closed by the institution. + - `OPEN`: The bill is currently open. (Note: This is the main bill that Belvo retrieves balance data from). + - `FUTURE`: The bill is pending. + - `null`: No bill status was identified. + + ℹ️ Note: Some banks consider CLOSED as PAID. + example: PAID + TransactionCreditCardData: + type: object + nullable: true + description: >- + Additional data provided by the institution for credit card + transactions. + properties: + collected_at: + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + bill_name: + type: string + nullable: true + description: > + The title of the monthly credit card bill the transaction belongs + to. The format of the returned value is institution specific, + however, some common examples are: + + + - diciembre-2021 + + - dec-2021 + + - dec-21 + example: apr-2020 + bill_status: + $ref: '#/components/schemas/EnumTransactionBillStatus' + bill_amount: + type: number + nullable: true + format: float + description: The aggregate bill amount, as of `collected_at`. + example: 300 + previous_bill_total: + type: string + nullable: true + description: The total amount of the previous month's bill, if available. + example: '9614.30' + Transaction: + type: object + title: Transaction Standard (Multi-Region) + required: + - value_date + - accounting_date + - amount + - currency + - description + - reference + - observations + - balance + - status + - account + - type + - collected_at + - category + - merchant + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the transaction. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + internal_identification: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: | + The institution's internal identification for the transaction. + example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl + account: + $ref: '#/components/schemas/Account' + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-11-28T10:27:44.813Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + value_date: + type: string + nullable: true + format: date + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: The date when the transaction occurred, in `YYYY-MM-DD` format. + example: '2019-10-23' + accounting_date: + type: string + nullable: true + description: >- + The date when the transaction was processed and accounted for by the + institution, in `YYYY-MM-DD` format. + example: '2019-10-23' + amount: + type: number + nullable: true + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The transaction amount. + + ℹ️ The amount displayed is always positive as we indicate the + direction of the transaction in the `type` parameter. + example: 2145.45 + balance: + type: number + nullable: true + format: float + description: The balance at the end of the transaction. + example: 16907.96 + currency: + type: string + nullable: true + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: | + The three-letter currency code (ISO-4217). + example: BRL + description: + type: string + nullable: true + description: > + The description of transaction provided by the institution. Usually + this + + is the text that the end user sees in the online platform. + example: SEVEN BUDDHAS RFC:XXXXXXXXXX + observations: + type: string + nullable: true + description: >- + Additional observations provided by the institution on the + transaction. + example: OPTIONAL OBSERVATIONS + merchant: + $ref: '#/components/schemas/TransactionMerchantData' + category: + $ref: '#/components/schemas/EnumTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumTransactionSubcategory' + reference: + type: string + nullable: true + maxLength: 128 + description: The reference number of the transaction, provided by the bank. + example: '8703' + type: + $ref: '#/components/schemas/EnumTransactionType' + status: + $ref: '#/components/schemas/EnumTransactionStatus' + credit_card_data: + $ref: '#/components/schemas/TransactionCreditCardData' + TransactionsPaginatedResponse: + type: object + title: Transactions Standard (Multi-Region) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of transaction objects (Multi-Region). + items: + $ref: '#/components/schemas/Transaction' + EnumTransactionCreditCardDataFeeType: + type: string + nullable: true + enum: + - ANNUAL_FEE + - NATIONAL_WITHDRAWAL + - INTERNATIONAL_WITHDRAWAL + - EMERGENCY_CREDIT_EVALUATION_FEE + - DUPLICATE_ISSUANCE_FEE + - PAYMENT_FEE + - SMS_FEE + - OTHERS + - null + description: > + The fee that can be charged for a card transaction. We return one of the + following values: + + - `ANNUAL_FEE` + - `NATIONAL_WITHDRAWAL` + - `INTERNATIONAL_WITHDRAWAL` + - `EMERGENCY_CREDIT_EVALUATION_FEE` + - `DUPLICATE_ISSUANCE_FEE` + - `PAYMENT_FEE` + - `SMS_FEE` + - `OTHERS` + - `null` + example: NATIONAL_WITHDRAWAL + EnumTransactionCreditCardDataCreditType: + type: string + nullable: true + enum: + - REVOLVING_CREDIT + - BILL_INSTALLMENT_PAYMENT + - LOAN + - OTHERS + - null + description: > + Other types of credit that have been contracted on the card. We return + one of the following values: + + - `REVOLVING_CREDIT` + - `BILL_INSTALLMENT_PAYMENT` + - `LOAN` + - `OTHERS` + - `null` + example: BILL_INSTALLMENT_PAYMENT + TransactionCreditCardBill: + type: object + nullable: true + description: > + Information regarding the bill that this transaction appears on. + + + Note: This field is currrently unavailable and will only be available in + Q4 2023. + properties: + id: + type: string + format: uuid + description: > + The unique identifier created by Belvo used to reference the current + credit card bill. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + example: 8e9d13c2-af41-4a49-b43e-2da012bd1d11 + internal_identification: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The institution's internal identifier for the bill. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + example: '92792126019929279212650822221989319252576' + TransactionCreditCardDataOpenFinanceBrazil: + type: object + nullable: true + required: + - collected_at + - bill_name + - bill_status + - previous_bill_total + - bill_amount + - card_number + - fee_type + - fee_type_additional_info + - credits_type + - credits_type_additional_info + - installment_identifier + - number_of_installments + description: >- + Additional data provided by the institution for credit card + transactions. + properties: + collected_at: + type: string + nullable: true + example: '2019-09-27T13:01:41.941Z' + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + bill_name: + type: string + nullable: true + description: > + The title of the monthly credit card bill the transaction belongs + to. The format of the returned value is institution specific, + however, some common examples are: + + + - diciembre-2021 + + - dec-2021 + + - dec-21 + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + example: apr-2020 + bill_due_date: + type: string + nullable: true + format: date + description: > + The date that the bill is due to be paid, in `YYYY-MM-DD` format. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + example: '2023-06-17' + bill_internal_identification: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The institution's internal identifier for the bill. + + + > **Note**: This field is only returned for 'closed' bills (meaning + the billing period has ended and the bill has been emitted). If the + billing period is still ongoing, we return `null`. + example: 927921260199292792126508222219893192525A6 + bill_status: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OFDA Brazil and will + return `null`. + example: null + previous_bill_total: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OFDA Brazil and will + return `null`. + example: null + bill_amount: + type: number + nullable: true + format: float + pattern: ^-?\d{1,15}\.\d{2,4}$ + description: >- + The bill amount, as of `collected_at`. For more information, see + `credit_card_bill`. + example: 300 + card_number: + type: string + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The credit card number. + + + **Note:** Often, this is just the last four digit of the credit + card. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '4453' + fee_type: + $ref: '#/components/schemas/EnumTransactionCreditCardDataFeeType' + fee_type_additional_info: + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + Additional information regarding the fee. + example: ATM withdrawal in Curitiba. + credits_type: + $ref: '#/components/schemas/EnumTransactionCreditCardDataCreditType' + credits_type_additional_info: + type: string + nullable: true + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + Additional information regarding the credit type. + example: Some additional information. + installment_identifier: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: > + An identifier for the installment, according to the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: PARCELA_896 + number_of_installments: + type: integer + nullable: true + maximum: 999 + description: > + The total number of installments for the card transaction, if + applicable. + example: 4 + credit_card_bill: + $ref: '#/components/schemas/TransactionCreditCardBill' + EnumTransactionCounterpartyType: + type: string + nullable: true + enum: + - INDIVIDUAL + - COMPANY + - null + description: > + The transaction counterparty type. We return one of the following + values: + + - `INDIVIDUAL` + - `COMPANY` + - `null` + example: INDIVIDUAL + TransactionCounterparty: + type: object + nullable: true + required: + - type + - document_number + - clearing_code + - agency + - check_digit + - number + description: Information regarding the other party of this transaction, if available. + properties: + type: + $ref: '#/components/schemas/EnumTransactionCounterpartyType' + document_number: + type: string + nullable: true + maxLength: 11 + pattern: ^\d{11}$ + description: | + The document number of the representative. + + **Note**: + + For Brazil: + - When the `type` is `INDIVIDUAL`, this is the CPF number. + - When the `type` is `COMPANY`, this is the CNPJ number. + example: '73677831148' + clearing_code: + type: string + nullable: true + maxLength: 3 + pattern: ^\d{3}$ + description: | + The banking clearing code. + example: '001' + agency: + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + description: | + The branch code where the account was opened. + example: '6272' + check_digit: + type: string + nullable: true + maxLength: 2 + pattern: '[\w\W\s]*' + description: | + The check digit of the account number, if applicable. + example: '7' + number: + type: string + nullable: true + maxLength: 20 + pattern: ^\d{8,20}$ + description: | + The account number of the product. + example: '24550245' + TransactionLoanDataFees: + type: object + nullable: true + required: + - name + - code + - amount + description: >- + Details regarding the fees associated with this payment. Only applicable + when `is_detached` = `true`. + properties: + name: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: > + The name of the fee. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `fees` field is present. + example: Reavaliação periódica do bem + code: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: > + The institution's code for the fee. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `fees` field is present. + example: aval_bem + amount: + type: number + nullable: true + format: float + pattern: ^-?\d{1,15}\.\d{2,4}$ + description: > + The amount of the fee. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `fees` field is present. + example: 8903.77 + TransactionLoanDataCharges: + type: object + nullable: true + required: + - type + - info + - amount + description: >- + Details regarding the charges associated with this payment. Only + applicable when `is_detached` = `true`. + properties: + type: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: > + The type of charge. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `charges` field is present + example: MULTA_ATRASO_PAGAMENTO + info: + type: string + maxLength: 140 + pattern: ^[\w\W\s]{0,140}$ + description: | + Additional information regarding the charge `type`. + example: Late payment charge. + amount: + type: number + format: float + pattern: ^-?\d{1,15}\.\d{2,4}$ + description: > + The amount of the charge. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `charges` field is present + example: 8903.77 + TransactionLoanDataOpenFinanceBrazil: + type: object + nullable: true + required: + - is_detached + - installment_it + - fees + - charges + description: Information regarding the loan transactional data, if applicable. + properties: + is_detached: + type: boolean + description: > + Boolean to indicate whether or not this loan payment was part of the + original payment schedule. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: true + installment_id: + type: string + nullable: true + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: | + The institution's unique ID for this payment installment. + example: WGx0aExYcEJMVm93TFRsZFcyRXRla0V0V2pBdE9Wd3RYWH + fees: + type: array + description: >- + Details regarding the fees associated with this payment. Only + applicable when `is_detached` = `true`. + items: + $ref: '#/components/schemas/TransactionLoanDataFees' + charges: + type: array + minItems: 0 + description: >- + Details regarding the charges associated with this payment. Only + applicable when `is_detached` = `true`. + items: + $ref: '#/components/schemas/TransactionLoanDataCharges' + EnumTransactionPaymentType: + type: string + nullable: true + enum: + - FULL + - INSTALLMENT + - null + description: | + The transaction payment type. We return one of the following values: + + - `FULL` + - `INSTALLMENT` + - `null` + example: FULL + TransactionOpenFinanceBrazil: + type: object + title: Transaction (OFDA Brazil) + required: + - id + - internal_identification + - account + - collected_at + - created_at + - value_date + - accounting_date + - amount + - local_currency_amount + - balance + - currency + - description + - observations + - merchant + - category + - subcategory + - reference + - type + - status + - credit_card_data + - counterparty + - loan_data + - payment_type + - operation_type + - operation_type_additional_info + - mcc + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the transaction. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + internal_identification: + type: string + minLength: 1 + maxLength: 100 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ + description: > + The institution's internal identification for the transaction. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl + account: + $ref: '#/components/schemas/AccountOpenFinanceBrazil' + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-11-28T10:27:44.813Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + value_date: + type: string + format: date + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date when the transaction occurred, in `YYYY-MM-DD` format, in + `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '2019-10-23' + transacted_at: + type: string + format: date-time + pattern: >- + (^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)\.(?:[0-9]){3}Z$) + description: > + The ISO-8601 timestamp of when the transaction occurred. + + + > **Note:** For transactions that occurred before 31.01.2024, the + timestamp may only indicate the day (for example, + `2016-01-29T00:00:00.000Z`). However, transactions that occurred + after this date must include the date and time + (`2024-02-20T12:29:03.374Z`). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **credit card and checking account + transactions**. + example: '2024-02-20T12:29:03.374Z' + accounting_date: + type: string + nullable: true + description: >- + The date when the transaction was processed and accounted for by the + institution, in `YYYY-MM-DD` format. + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **credit card transactions**. + example: '2019-10-23' + amount: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The transaction amount. + + ℹ️ The amount displayed is always positive as we indicate the + direction of the transaction in the `type` parameter. + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 2145.45 + local_currency_amount: + type: number + nullable: true + format: float + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The value of the transaction in the local currency. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **credit card transactions**. + example: 7623.64 + balance: + type: number + nullable: true + format: float + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + currency: + type: string + nullable: true + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: | + The three-letter currency code (ISO-4217). + example: BRL + description: + type: string + nullable: true + description: > + The description of transaction provided by the institution. Usually + this + + is the text that the end user sees in the online platform. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: SEVEN BUDDHAS RFC:XXXXXXXXXX + observations: + type: string + nullable: true + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + merchant: + $ref: '#/components/schemas/TransactionMerchantData' + category: + $ref: '#/components/schemas/EnumTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumTransactionSubcategory' + reference: + type: string + nullable: true + maxLength: 128 + description: > + **Note:** This field is not applicable for OF Brazil and will return + null. + example: null + type: + $ref: '#/components/schemas/EnumTransactionType' + status: + $ref: '#/components/schemas/EnumTransactionStatus' + credit_card_data: + $ref: '#/components/schemas/TransactionCreditCardDataOpenFinanceBrazil' + counterparty: + $ref: '#/components/schemas/TransactionCounterparty' + loan_data: + $ref: '#/components/schemas/TransactionLoanDataOpenFinanceBrazil' + payment_type: + $ref: '#/components/schemas/EnumTransactionPaymentType' + operation_type: + type: string + maxLength: 50 + pattern: ^[A-Za-z_]{0,50}$ + description: > + The type of transaction. For example, a PIX payment or a deposit. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network for **non-loan account transactions**. + example: TRANSFERENCIA_MESMA_INSTITUICAO + operation_type_additional_info: + type: string + nullable: true + maxLength: 140 + pattern: ^\S[\s\S]*$ + description: > + Additional information regarding the `operation_type`, if + applicable. + example: Internal transfer. + mcc: + type: integer + nullable: true + format: int32 + pattern: ^[0-9]{4}$ + description: > + The four-digit (ISO-18245 compliant) Merchant Category Code (MCC) + for the transaction. This field is only applicable for credit card + transactions. + example: 5137 + TransactionsPaginatedResponseOpenFinanceBrazil: + type: object + title: Transactions (OFDA Brazil) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of transaction objects (OFDA Brazil). + items: + $ref: '#/components/schemas/TransactionOpenFinanceBrazil' + TransactionsRequest: + type: object + required: + - link + - date_from + - date_to + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + account: + type: string + format: uuid + description: If provided, we return transactions only from this account. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting transactions for, in + `YYYY-MM-DD` format. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2020-08-05' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting transactions for, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2020-10-05' + token: + type: string + description: The OTP token generated by the bank. + example: 1234ab + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + AsynchronousAccepted202: + type: object + properties: + request_id: + type: string + description: >- + The unique ID for this request. We recommend you store this value to + later identify which webhook event relates to an asynchronous + request. + example: b5d0106ac9cc43d5b36199fe831f6bbe + Balance: + type: object + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the balance request. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + account: + $ref: '#/components/schemas/Account' + value_date: + type: string + format: date + description: The date when the `balance` was available, in `YYYY-MM-DD` format. + example: '2019-10-23' + balance: + type: number + format: float + description: The funds available in the account by the end of the `value_date`. + example: 50000 + current_balance: + deprecated: true + type: number + nullable: 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.* + + + Please use the `balance` field instead. + example: null + statement: + deprecated: true + type: string + nullable: 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.* + + + *The ID of the banking statement used to extract the `balance`.* + example: null + collected_at: + type: string + nullable: true + deprecated: true + format: date-time + 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.* + + + *The ISO-8601 timestamp when the data point was collected.* + example: null + BalancesPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of balance objects. + items: + $ref: '#/components/schemas/Balance' + BalancesRequest: + type: object + required: + - link + - date_from + - date_to + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + account: + type: string + format: uuid + description: | + If provided, only balances matching this `account.id` are + returned. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + Date from which you want to start receiving balances, in + `YYYY-MM-DD` format. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2021-01-18' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + Date that you want to stop receiving balances, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2021-02-15' + token: + type: string + description: The OTP token generated by the bank. + example: 1234ab + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + 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 + 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' + 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 + 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 + 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 + Institution: + type: object + 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. + + + Please see our + [Institutions](https://developers.belvo.com/docs/institution) + DevPortal article for a detailed list of institution names. + type: + $ref: '#/components/schemas/EnumInstitutionType' + website: + type: string + nullable: true + 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: + - 🇧🇷 BR (Brazil) + - 🇨🇴 CO (Colombia) + - 🇲🇽 MX (Mexico) + items: + type: string + example: MX + primary_color: + type: string + example: '#056dae' + description: The primary color on the institution's website. + logo: + type: string + nullable: true + example: https://belvo-api-media.s3.amazonaws.com/logos/erebor_logo.png + description: The URL of the institution's logo. + icon_logo: + type: string + nullable: true + example: https://statics.belvo.io/widget/images/institutions/erebor.svg + description: The URL of the institution's icon logo. + text_logo: + type: string + nullable: true + example: https://statics.belvo.io/widget/images/institutions/erebor.svg + description: The URL of the institution's text logo. + 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: + + - `ACCOUNTS` + - `BALANCES` + - `EMPLOYMENT_RECORDS` + - `INCOMES` + - `INVOICES` + - `OWNERS` + - `RECURRING_EXPENSES` + - `RISK_INSIGHTS` + - `TRANSACTIONS` + - `TAX_COMPLIANCE_STATUS` + - `TAX_DECLARATIONS` + - `TAX_RETENTIONS` + - `TAX_RETURNS` + - `TAX_STATUS` + 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' + InstitutionsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of institution objects. + items: + $ref: '#/components/schemas/Institution' + OwnerDocumentId: + type: object + nullable: true + required: + - document_type + - document_number + description: >- + Information regarding the identification document the owner provided to + the bank. + properties: + document_type: + type: string + nullable: true + description: > + The type of document the owner provided to the institution to open + the account. Common document types are: + + + 🇧🇷 Brazil + + - `CPF` (*Cadastro de Pessoas Físicas*) + + - `CNPJ`(*Cadastro Nacional de Pessoas Jurídicas*) + + + 🇨🇴 Colombia + + - `CC`(*Cédula de Ciudadanía*) + + - `NIT` (*Número de Identificación Tributaria*) + + + 🇲🇽 Mexico + + - `CURP` (*Clave Única de Registro de Población*) + + - `NISS` (*Número de Seguridad Social*) + + - `RFC` (*Registro Federal de Contribuyentes*) + example: CPF + document_number: + type: string + nullable: true + description: The document's identification number. + example: 235578435-S + Owner: + type: object + title: Owner Standard (Multi-Region) + required: + - id + - link + - internal_identification + - display_name + - email + - phone_number + - address + - collected_at + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier used to reference the current owner. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + format: uuid + description: Belvo's unique ID for the current Link. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: + type: string + nullable: true + description: The institution's internal identifier for the owner. + example: 7e5838e4 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + display_name: + type: string + nullable: true + maxLength: 128 + description: The full name of the owner, as provided by the bank. + example: John Doe + email: + type: string + nullable: true + format: email + maxLength: 256 + description: The account owner's registered email address. + example: johndoe@belvo.com + phone_number: + type: string + nullable: true + description: The account owner's registered phone number. + example: +52-XXX-XXX-XXXX + address: + type: string + nullable: true + description: The accounts owners registered address. + example: Carrer de la Llacuna, 162, 08018 Barcelona + document_id: + $ref: '#/components/schemas/OwnerDocumentId' + business_name: + 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.* + + + *The name of the business.* + example: null + first_name: + 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.* + + + *The first name of the account owner.* + example: null + last_name: + 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.* + + + *The last name of the account owner.* + example: null + second_last_name: + 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.* + + + *The second last name of the account owner.* + example: null + OwnersPaginatedResponse: + type: object + title: Owner Standard (Multi-Region) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of owner objects. + items: + $ref: '#/components/schemas/Owner' + EnumOwnerMaritalStatus: + type: string + nullable: true + enum: + - SINGLE + - MARRIED + - WIDOWED + - SEPARATED + - DIVORCED + - CIVIL_UNION + - OTHER + description: | + The individual's marital status. We return one of the following values: + + - `SINGLE` + - `MARRIED` + - `WIDOWED` + - `SEPARATED` + - `DIVORCED` + - `CIVIL_UNION` + - `OTHER` + example: SINGLE + EnumOwnerGender: + type: string + nullable: true + enum: + - FEMALE + - MALE + - OTHER + description: | + The individual's gender. We return on of the following values: + + - `FEMALE` + - `MALE` + - `OTHER` + + example: FEMALE + OwnerDocumentIdOpenFinanceBrazil: + type: object + required: + - document_type + - document_number + description: > + Information regarding the identification document the owner provided to + the bank. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + properties: + document_type: + type: string + description: > + The type of document the owner provided to the institution to open + the account. Common document types are: + + + 🇧🇷 Brazil + + - `CPF` (*Cadastro de Pessoas Físicas*) + + - `CNPJ`(*Cadastro Nacional de Pessoas Jurídicas*) + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: CPF + document_number: + type: string + description: > + The document's identification number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 235578435-S + EnumOwnerIndividualDocumentIdType: + type: string + nullable: true + enum: + - DRIVERS_LICENCE + - PASSPORT + - ID_CARD + - FISCAL_ID + - FOREIGNER_REGISTRATION_CARD + - OTHER + - null + description: | + The type of ID document. We return one of the following values: + + - `DRIVERS_LICENCE` + - `PASSPORT` + - `ID_CARD` + - `FISCAL_ID` + - `FOREIGNER_REGISTRATION_CARD` + - `OTHER` + - `null` + + example: DRIVERS_LICENCE + OwnerIndividualDocumentIds: + type: object + nullable: true + required: + - type + - type_additional_info + - number + - check_digit + - issue_date + - expiration_date + - country_of_issuance + - additional_info + description: >- + Detailed information regarding additional documents provided to prove + the individuals ID. + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualDocumentIdType' + type_additional_info: + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + description: > + Additional information regarding the document type. + + + > Note: For Business ID documents, this field must return a value + from Brazil's open finance network. + example: Learner's licence + number: + type: string + maxLength: 40 + pattern: ^[\w\W\s]{0,40}$ + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: DL-7896829-7 + check_digit: + type: string + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + description: > + The check digit of the ID document. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '7' + issue_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document was issued, in `YYYY-MM-DD` format. + example: '2019-01-01' + expiration_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + example: '2019-01-01' + country_of_issuance: + type: string + nullable: true + maxLength: 3 + pattern: ^[\w]{3}$ + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + + + This field must be returned when the `type` is `PASSPORT`. + example: CAN + additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + description: | + Additional information about the ID document. + example: The document has water damage + OwnerIndividualNationalityDocumentId: + type: object + nullable: true + required: + - type + - type_additional_info + - number + - issue_date + - expiration_date + - country_of_issuance + - additional_info + description: >- + Detailed information regarding additional documents provided to prove + the individuals ID. + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualDocumentIdType' + number: + type: string + maxLength: 40 + pattern: ^[\w\W\s]{0,40}$ + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: DL-7896829-7 + issue_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document was issued, in `YYYY-MM-DD` format. + example: '2019-01-01' + expiration_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + example: '2019-01-01' + country_of_issuance: + type: string + nullable: true + maxLength: 3 + pattern: ^[\w]{3}$ + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + + + This field must be returned when the `type` is `PASSPORT`. + example: CAN + additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + description: | + Additional information about the ID document. + example: The document has water damage + OwnerNationalities: + type: object + required: + - info + - documents + description: Detailed information regarding the individual's nationalities. + properties: + info: + type: string + nullable: true + pattern: ^\S[\s\S]*$ + maxLength: 40 + description: | + The nationality of the individual. + example: CAN + documents: + type: array + items: + $ref: '#/components/schemas/OwnerIndividualNationalityDocumentId' + OwnerEmails: + type: object + nullable: true + required: + - is_main + - email + description: Additional list of emails the owner provided. + properties: + is_main: + type: boolean + description: > + Boolean to indicate if this is the user's main email address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: true + email: + type: string + maxLength: 320 + pattern: ^[\w\W\s]{0,320}$ + description: > + The user's email address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: homen_morcego@gmail.com + OwnerAddresses: + type: object + nullable: true + required: + - is_main + - address + - additional_info + - district_name + - town + - town_code + - state + - postcode + - country_name + - country_code + - latitude + - longitude + description: Detailed information regarding the owner's addresses. + properties: + is_main: + type: boolean + description: > + Boolean to indicate if this is the user's main address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: true + address: + type: string + maxLength: 150 + pattern: ^[\w\W\s]{0,150}$ + description: > + The user's address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Av Naburo Ykesaki, 1270 + additional_info: + type: string + nullable: true + maxLength: 150 + pattern: ^[\w\W\s]{0,150}$ + description: | + Additional information regarding the user's address. + example: In between two palm trees + district_name: + type: string + nullable: true + maxLength: 50 + pattern: ^[\w\W\s]{0,50}$ + description: | + The distrct of the address. + example: CENTRO + town: + type: string + maxLength: 50 + pattern: ^[\w\W\s]{0,50}$ + description: > + The user's town. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Brasilia + town_code: + type: string + nullable: true + maxLength: 7 + pattern: \d{7}$ + description: | + The seven-digit code for the town, if applicable. + + For Brazil, this is the IBGE town code. + example: '3550308' + state: + type: string + nullable: true + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + description: | + The state that the address is located in. + example: SP + postcode: + type: string + maxLength: 8 + pattern: ^\d{8}$ + description: > + The postcode of the address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '17500001' + country_name: + type: string + maxLength: 80 + pattern: ^[\w\W\s]{0,80}$ + description: > + The name of the country. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Brasil + country_code: + type: string + nullable: true + maxLength: 3 + pattern: ^([A-Z]{3})$ + description: | + The three-letter country code (ISO-3166 Alpha 3 compliant). + example: BRA + latitude: + type: string + nullable: true + maxLength: 13 + pattern: ^-?\d{1,2}\.\d{1,9}$ + description: | + The geographic latitude coordinate. + example: '-23.5475000' + longitude: + type: string + nullable: true + maxLength: 13 + pattern: ^-?\d{1,3}\.\d{1,8}$ + description: | + The geographic longitude coordinate. + example: '-46.6361100' + EnumOwnerPhoneNumberType: + type: string + nullable: true + enum: + - LANDLINE + - MOBILE + - OTHER + - null + description: | + The type of phone number. We return one of the following values: + + - `LANDLINE` + - `MOBILE` + - `OTHER` + - `null` + example: MOBILE + OwnerPhoneNumbers: + type: object + nullable: true + required: + - is_main + - type + - additional_info + - number + - country_code + - area_code + - extension + description: Detailed information regarding the owners's `phone_number`s. + properties: + is_main: + type: boolean + description: > + Boolean to indicate if this is the user's main phone number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: true + type: + $ref: '#/components/schemas/EnumOwnerPhoneNumberType' + additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + description: | + Additional information about the phone number. + example: This is their work mobile number. + number: + type: string + maxLength: 11 + pattern: ^([0-9]{8,11})$ + description: > + The phone number (not including the country, area, or extension + codes). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '29875132' + country_code: + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + description: | + The country dialling code. For example: `351` (no `+`). + example: '351' + area_code: + type: string + nullable: true + maxLength: 2 + pattern: ^\d{1,2}$ + description: | + The area dialling code. + example: '21' + extension: + type: string + nullable: true + maxLength: 5 + pattern: ^\d{1,5}$ + description: | + The extension code. + example: '932' + EnumOwnerFiliationType: + type: string + nullable: true + enum: + - MOTHER + - FATHER + - null + description: | + The familial relationship. We return one of the following values: + + - `MOTHER` + - `FATHER` + - `null` + + example: MOTHER + OwnerFiliations: + type: object + required: + - type + - civil_name + - social_name + description: Information regarding any familial relationships of the individual. + properties: + type: + $ref: '#/components/schemas/EnumOwnerFiliationType' + civil_name: + type: string + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + description: > + The person's full name. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Bruce Wayne + social_name: + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + description: | + The person's social name. + example: The Dark Knight + EnumOwnerIndividualFinancialProfileOccupationCode: + type: string + nullable: true + enum: + - BRAZIL_PUBLIC_OFFICE + - BRAZIL_OCCUPATION_CODE + - OTHER + - null + description: > + The area of employment of the individual. We return one of the following + values: + + - `BRAZIL_PUBLIC_OFFICE` + - `BRAZIL_OCCUPATION_CODE` + - `OTHER` + - `null` + example: BRAZIL_OCCUPATION_CODE + EnumOwnerInformedIncomeFrequency: + type: string + nullable: true + enum: + - DAILY + - WEEKLY + - FORTNIGHTLY + - MONTHLY + - BIMONTHLY + - QUARTERLY + - BIANNUALLY + - ANNUALLY + - OTHERS + description: > + Indicates how often the individual receives their salary. We return one + of the following values: + + - `DAILY` + - `WEEKLY` + - `FORTNIGHTLY` + - `MONTHLY` + - `BIMONTHLY` + - `QUARTERLY` + - `BIANNUALLY` + - `ANNUALLY` + - `OTHERS` + example: MONTHLY + OwnerIndividualInformedIncome: + type: object + required: + - frequency + - amount + - currency + - date + description: > + Information regarding the individual's reported income. + + + > **Non-nullable:** A value must be returned by Brazil's open finance + network. + properties: + frequency: + $ref: '#/components/schemas/EnumOwnerInformedIncomeFrequency' + amount: + type: number + format: float + minLength: 1 + maxLength: 20 + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The reported income that the individual receives. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: 45391.89 + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: BRL + date: + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + Date when the individual last received their salary. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '2020-03-19' + OwnerIndividualPatrimony: + type: object + nullable: true + required: + - amount + - currency + - year + description: Information regarding the individual's reported assets (if available). + properties: + amount: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The reported assets of the individual. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `patrimony` object is available. + example: 45391.89 + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `patrimony` object is available. + example: BRL + year: + type: integer + format: int32 + maximum: 2090 + minimum: 1700 + description: > + The year that the reported assets applied. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network when the `patrimony` object is available. + example: 2020 + OwnerIndividualFinancialProfile: + type: object + nullable: true + required: + - company_id + - occupation_code + - occupation_description + - informed_income + - patrimony + description: Information regarding the financial profile of the individual. + properties: + company_id: + type: string + nullable: true + maxLength: 14 + pattern: ^\d{14}$ + description: | + The identifier of the company where the individual is employed. + example: '50685362000135' + occuptation_code: + $ref: >- + #/components/schemas/EnumOwnerIndividualFinancialProfileOccupationCode + occupation_description: + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + description: | + Information regarding the individual's occupation. + example: '01' + informed_income: + $ref: '#/components/schemas/OwnerIndividualInformedIncome' + patrimony: + $ref: '#/components/schemas/OwnerIndividualPatrimony' + EnumOwnerProcuratorType: + type: string + nullable: true + enum: + - LEGAL_REPRESENTATIVE + - ATTORNEY + - null + description: > + The type of representative that can access and make changes to the + account. We return one of the following values: + + - `LEGAL_REPRESENTATIVE` + - `ATTORNEY` + - `null` + + example: LEGAL_REPRESENTATIVE + OwnerProcurators: + type: object + nullable: true + required: + - type + - civil_name + - social_name + - document_number + description: >- + Information regarding any individuals or companies that can act on + behalf of the owner. + properties: + type: + $ref: '#/components/schemas/EnumOwnerProcuratorType' + civil_name: + type: string + maxLength: 70 + pattern: ^[\w\W]*$ + description: > + The representatives's full name. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `procurators` field is available. + example: Alfred Thaddeus Pennyworth + social_name: + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W]*$ + description: | + The person's social name. + example: Alfred Pennyworth + document_number: + type: string + maxLength: 11 + pattern: ^\d{11}$ + description: > + The document number of the representative. + + + **Note**: For individuals, this is Brazil's CPF number. For + businesses, this is Brazil's CNPJ number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `procurators` field is available. + example: '73677831148' + EnumOwnerIndividualProductType: + type: string + nullable: true + enum: + - SAVINGS_ACCOUNT + - CHECKING_ACCOUNT + - null + description: > + The additional products the individual has at the institution. We return + one of the following values: + + - `SAVINGS_ACCOUNT` + - `CHECKING_ACCOUNT` + - `null` + example: SAVINGS_ACCOUNT + OwnerIndividualProducts: + type: object + nullable: true + required: + - type + - subtype + - agency + - clearing_code + - number + - check_digit + description: >- + Details regarding any additional products that the individual has with + the institution. + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualProductType' + subtype: + type: string + nullable: true + description: > + The subtype of the product that the individual has at the + institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: CONJUNTA_SIMPLES + agency: + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + description: | + The branch code where the product was opened. + example: '6272' + clearing_code: + type: string + maxLength: 3 + pattern: ^\d{3}$ + description: > + The banking clearing code for the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: '001' + number: + type: string + maxLength: 20 + pattern: ^\d{8,20}$ + description: > + The account number of the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `procurators` field is available. + example: '24550245' + check_digit: + type: string + maxLength: 2 + pattern: '[\w\W\s]*' + description: > + The check digit of the product's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: '7' + OwnerIndividualFinancialRelation: + type: object + nullable: true + required: + - start_date + - product_services + - product_services_additional_info + - procurators + - products + description: >- + Details regarding any additional relationship the individual has with + the institution (for example, other accounts or products they have with + the institution). + properties: + start_date: + type: string + format: date-time + maxLength: 20 + pattern: >- + ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$ + description: > + The ISO-8601 timestamp when the financial relationship between the + individual and the institution started. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '2021-05-21T08:30:00Z' + product_services: + type: array + minItems: 1 + description: > + A list of products that the individual has with the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + type: string + description: | + The name of the product, according to the institution. + example: CONTA_DEPOSITO_A_VISTA + product_services_additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W]*$ + description: > + Additional information regarding the products that the individual + has. + example: Joint account with Robin + procurators: + type: array + description: >- + Information regarding any individuals or companies that can act on + behalf of the owner. + items: + $ref: '#/components/schemas/OwnerProcurators' + products: + type: array + description: >- + Details regarding any additional products that the individual has + with the institution. + items: + $ref: '#/components/schemas/OwnerIndividualProducts' + OwnerIndividualOpenFinanceBrazil: + type: object + title: Owner Individual (OFDA Brazil) + required: + - id + - link + - internal_identification + - collected_at + - created_at + - display_name + - social_name + - birth_date + - marital_status + - marital_status_additional_info + - gender + - companies_id + - is_local_resident + - document_id + - additional_documents + - nationalities + - email + - emails + - address + - addresses + - phone_number + - phone_numbers + - filiations + - financial_profile + - financial_relation + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier used to reference the current owner. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + format: uuid + description: Belvo's unique ID for the current Link. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: + type: string + nullable: true + description: The institution's internal identifier for the owner. + example: 7e5838e4 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + display_name: + type: string + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The full name of the individual, as provided by the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Jack Oswald White + social_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The social name of the individual, as generally accepted by the + country. + example: O Piadista + birth_date: + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The individual's date of birth, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '1988-07-15' + marital_status: + $ref: '#/components/schemas/EnumOwnerMaritalStatus' + marital_status_additional_info: + type: string + nullable: true + maxLength: 50 + pattern: ^[\w\W]{0,50}$ + description: | + Additional information about the individual's marital status. + example: It's complicated + gender: + $ref: '#/components/schemas/EnumOwnerGender' + companies_id: + type: array + minItems: 1 + description: > + The institutions responsible for the creation and verification of + the owner. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + type: string + maxLength: 14 + pattern: ^\d{14}$ + description: > + The institutions responsible for the creation and verification of + the owner. + example: '01773247000103' + is_local_resident: + type: boolean + description: > + Boolean to indicate if the individual is a local resident of the + country. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: true + document_id: + $ref: '#/components/schemas/OwnerDocumentIdOpenFinanceBrazil' + additional_documents: + type: array + description: > + Detailed information regarding additional documents provided to + prove the individuals ID. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + minItems: 1 + items: + $ref: '#/components/schemas/OwnerIndividualDocumentIds' + nationalities: + type: array + nullable: true + minItems: 1 + description: > + Detailed information regarding the individual's nationalities. + + + Only required to be returned when `is_local_resident` is set to + `false`. + items: + $ref: '#/components/schemas/OwnerNationalities' + email: + type: string + nullable: true + format: email + maxLength: 320 + description: > + The account owner's registered email address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: johndoe@belvo.com + emails: + type: array + minItems: 0 + description: > + Additional list of emails the owner provided. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerEmails' + address: + type: string + nullable: true + description: > + The account owner's registered address. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + type: array + minItems: 1 + description: > + Detailed information regarding the owner's addresses. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerAddresses' + phone_number: + type: string + nullable: true + description: > + The account owner's registered phone number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: +52-XXX-XXX-XXXX + phone_numbers: + type: array + minItems: 0 + description: > + Detailed information regarding the owner's phone numbers. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerPhoneNumbers' + filiations: + type: array + minItems: 1 + description: > + Information regarding any familial relationships of the individual. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerFiliations' + financial_profile: + $ref: '#/components/schemas/OwnerIndividualFinancialProfile' + financial_relation: + $ref: '#/components/schemas/OwnerIndividualFinancialRelation' + OwnersIndividualPaginatedResponseOpenFinanceBrazil: + type: object + title: Owner Individual (OFDA Brazil) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of owner objects. + items: + $ref: '#/components/schemas/OwnerIndividualOpenFinanceBrazil' + OwnerBusinessDocumentIds: + type: object + nullable: true + required: + - type + - type_additional_info + - number + - check_digit + - issue_date + - expiration_date + - country_of_issuance + - additional_info + description: >- + Detailed information regarding additional documents provided to prove + the business's ID. + properties: + type: + $ref: '#/components/schemas/EnumOwnerIndividualDocumentIdType' + type_additional_info: + type: string + nullable: true + maxLength: 70 + pattern: ^[\w\W\s]{0,70}$ + description: > + Additional information regarding the document type. + + + > Note: For Business ID documents, this field must return a value + from Brazil's open finance network. + example: EIN + number: + type: string + maxLength: 40 + pattern: ^[\w\W]{0,40}$ + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: DL-7896829-7 + check_digit: + type: string + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + description: > + The check digit of the ID document. + + + > **Note**: This field is not applicable for Business ID documents + and will return `null`. + example: null + issue_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date the the ID document was issued, in `YYYY-MM-DD` format. + + + > **Note**: This field is not applicable for Business ID documents + and will return `null`. + example: null + expiration_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + example: '2019-01-01' + country_of_issuance: + type: string + nullable: true + maxLength: 3 + pattern: ^(\w{3}){1}$ + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: CAN + additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + description: > + Additional information about the ID document. + + + > **Note**: This field is not applicable for Business ID documents + and will return `null`. + example: null + EnumOwnerPartyPersonType: + type: string + nullable: true + enum: + - INDIVIDUAL + - COMPANY + description: > + The type of person that is an ownership party of the account. We return + one of the following values: + + - `INDIVIDUAL` + - `COMPANY` + + example: INDIVIDUAL + EnumOwnerPartyType: + type: string + nullable: true + enum: + - MEMBER + - ADMINISTRATOR + description: > + The access type that the `person_type` has to the account. We return one + of the following values: + + + - `MEMBER` indicates that the `person_type` has read access to the + account. + + - `ADMINISTRATOR` indicates that the `person_type` can perform all + actions for the account (including transfers). + example: MEMBER + EnumOwnerPartyDocumentType: + type: string + nullable: true + enum: + - CPF + - CNPJ + - OTHER_TRAVEL_DOCUMENT + - PASSPORT + description: > + The type of ID document the party provided when being added to the + account. We return one of the following values: + + - `CPF` + - `CNPJ` + - `OTHER_TRAVEL_DOCUMENT` + - `PASSPORT` + example: CPF + OwnerParties: + type: object + nullable: true + required: + - person_type + - type + - display_name + - social_name + - trade_name + - start_date + - percentage_type + - document_type + - document_number + - document_issue_date + - document_expiration_date + - document_country + - document_additional_info + description: >- + Detailed information regarding the parties allowed to act on the owner's + behalf. + properties: + person_type: + $ref: '#/components/schemas/EnumOwnerPartyPersonType' + type: + $ref: '#/components/schemas/EnumOwnerPartyType' + display_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The full name of the individual, as provided by the institution. + Only applicable if the `person_type` is `INDIVIDUAL`. + example: Jack Oswald White + social_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The social name of the individual, as generally accepted by the + country. Only applicable if the `person_type` is `INDIVIDUAL`. + example: O Piadista + company_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The full (official) name of the business. Only applicable if the + `person_type` is `COMPANY`. + example: Wayne Enterprises + trade_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The trade name of the business. Only applicable if the `person_type` + is `COMPANY`. + example: WayneCorp + start_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date that the party was added to the account, in `YYYY-MM-DD` + format. + example: '2021-07-15' + percentage_type: + type: number + nullable: true + format: float + minLength: 8 + maxLength: 8 + pattern: ^[01]\.\d{6}$ + description: | + The party's equity interest. + example: 0.51 + document_type: + $ref: '#/components/schemas/EnumOwnerPartyDocumentType' + document_number: + type: string + maxLength: 40 + pattern: ^[\w\W\s]{0,40}$ + description: > + The ID document's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: DL-7896829-7 + document_issue_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document was issued, in `YYYY-MM-DD` format. + example: '2019-01-01' + document_expiration_date: + type: string + nullable: true + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: | + The date the the ID document expires, in `YYYY-MM-DD` format. + example: '2019-01-01' + document_country: + type: string + nullable: true + maxLength: 3 + pattern: ^(\w{3}){1}$ + description: > + The three-letter country code that issued the document (in ISO-3166 + Alpha 3 format). + example: CAN + document_additional_info: + type: string + nullable: true + maxLength: 100 + pattern: ^[\w\W\s]{0,100}$ + description: | + Additional information regarding the document. + example: Confirmed CPF with their driver's licence. + OwnerBusinessEconomicActivies: + type: object + nullable: true + required: + - is_main + - code + description: Details regarding the reported economic activities of the business. + properties: + is_main: + type: boolean + description: > + Boolean to indicate whether this is the business's main economic + activity. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `economic_activities` field is available. + example: true + code: + type: string + minLength: 2 + maxLength: 7 + pattern: ^\d{2,7}$ + description: > + The code of the economic activity, as given by the country. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `economic_activities` field is available. + example: '8599604' + EnumOwnerBusinessInformedRevenueFrequency: + type: string + nullable: true + enum: + - DAILY + - WEEKLY + - FORTNIGHTLY + - MONTHLY + - BIMONTHLY + - QUARTERLY + - BIANNUALLY + - ANNUALLY + - OTHERS + - null + description: > + Indicates how often the business declares their revenue. We return one + of the following values: + + - `DAILY` + - `WEEKLY` + - `FORTNIGHTLY` + - `MONTHLY` + - `BIMONTHLY` + - `QUARTERLY` + - `BIANNUALLY` + - `ANNUALLY` + - `OTHERS` + - `null` + example: MONTHLY + OwnerBusinessInformedRevenue: + type: object + nullable: true + required: + - frequency + - frequency_additional_info + - amount + - currency + - year + description: Information regarding the business's reported revenue. + properties: + frequency: + $ref: '#/components/schemas/EnumOwnerBusinessInformedRevenueFrequency' + frequency_additional_info: + type: string + nullable: true + maxLength: 100 + pattern: '[\w\W\s]*' + description: | + Additional information regarding the frequency. + example: Recently switched from weekly to monthly. + amount: + type: number + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The reported revenue of the business. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `informed_revenue` field is available. + example: 45391.89 + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `informed_revenue` field is available. + example: BRL + year: + type: integer + maxLength: 4 + minimum: 1700 + maximum: 2090 + description: > + The year when revenue was last declared. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `informed_revenue` field is available. + example: 2022 + OwnerBusinessPatrimony: + type: object + nullable: true + required: + - amount + - currency + - date + description: Information regarding the individual's reported assets. + properties: + amount: + type: number + format: float + pattern: ^\d{1,15}\.\d{2,4}$ + description: > + The reported assets of the business. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `patrimony` field is available. + example: 45391.89 + currency: + type: string + maxLength: 3 + pattern: ^[A-Z]{3}$ + description: > + The three-letter currency code (ISO-4217). + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `patrimony` field is available. + example: BRL + date: + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date that the reported assets applied, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `patrimony` field is available. + example: '2022-12-12' + OwnerBusinessFinancialProfile: + type: object + nullable: true + required: + - economic_activities + - informed_revenue + - patrimony + description: Information regarding the financial profile of the individual. + properties: + economic_activities: + type: array + description: Details regarding the reported economic activities of the business. + items: + $ref: '#/components/schemas/OwnerBusinessEconomicActivies' + informed_revenue: + $ref: '#/components/schemas/OwnerBusinessInformedRevenue' + patrimony: + $ref: '#/components/schemas/OwnerBusinessPatrimony' + EnumOwnerBusinessProductType: + type: string + nullable: true + enum: + - SAVINGS_ACCOUNT + - CHECKING_ACCOUNT + - null + description: > + The additional products the business has at the institution. We return + one of the following values: + + - `SAVINGS_ACCOUNT` + - `CHECKING_ACCOUNT` + - `null` + + example: SAVINGS_ACCOUNT + OwnerBusinessProducts: + type: object + nullable: true + required: + - type + - subtype + - agency + - clearing_code + - number + - check_digit + description: >- + Details regarding any additional products that the individual has with + the institution. + properties: + type: + $ref: '#/components/schemas/EnumOwnerBusinessProductType' + subtype: + type: string + description: > + The subtype of the product that the business has at the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: CONJUNTA_SIMPLES + agency: + type: string + nullable: true + maxLength: 4 + pattern: ^\d{1,4}$ + description: | + The branch code where the product was opened. + example: '6272' + clearing_code: + type: string + maxLength: 3 + pattern: ^\d{3}$ + description: > + The banking clearing code for the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: '001' + number: + type: string + maxLength: 20 + pattern: ^\d{8,20}$ + description: > + The account number of the product. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: '24550245' + check_digit: + type: string + maxLength: 2 + pattern: ^[\w\W\s]{0,2}$ + description: > + The check digit of the product's number. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network if the `products` field is available. + example: '7' + OwnerBusinessFinancialRelation: + type: object + nullable: true + required: + - start_date + - product_services + - procurators + - products + description: >- + Details regarding any additional relationship the business has with the + institution (for example, other accounts or products they have with the + institution). + properties: + start_date: + type: string + format: date-time + maxLength: 20 + pattern: >- + ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$ + description: > + The ISO-8601 timestamp when the financial relationship between the + business and the institution started. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '2021-05-21T08:30:00Z' + product_services: + type: array + minItems: 1 + description: > + A list of products that the business has with the institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + type: string + description: | + The name of the product, according to the institution. + example: CONTA_DEPOSITO_A_VISTA + procurators: + type: array + description: >- + Information regarding any individuals or companies that can act on + behalf of the owner. + items: + $ref: '#/components/schemas/OwnerProcurators' + products: + type: array + description: >- + Details regarding any additional products that the business has with + the institution. + items: + $ref: '#/components/schemas/OwnerBusinessProducts' + OwnerBusinessOpenFinanceBrazil: + type: object + title: Owner Business (OFDA Brazil) + required: + - id + - link + - internal_identification + - collected_at + - created_at + - company_name + - trade_name + - incorporation_date + - companies_id + - document_id + - additional_documents + - email + - emails + - address + - addresses + - phone_number + - phone_numbers + - parties + - financial_profile + - financial_relation + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier used to reference the current owner. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + format: uuid + description: Belvo's unique ID for the current Link. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: + type: string + nullable: true + description: The institution's internal identifier for the owner. + example: 7e5838e4 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + company_name: + type: string + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: > + The full (official) name of the business, as provided by the + institution. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: Wayne Enterprises + trade_name: + type: string + nullable: true + maxLength: 128 + pattern: ^[\w\W]{0,128}$ + description: | + The trade name of the business. + example: WayneCorp + incorporation_date: + type: string + format: date + maxLength: 10 + pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$ + description: > + The date that the business was incorporated, in `YYYY-MM-DD` format. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + example: '1988-07-15' + companies_id: + type: array + minItems: 1 + description: > + The institutions responsible for the creation and verification of + the owner. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + type: string + maxLength: 14 + pattern: ^\d{14}$ + description: > + The institutions responsible for the creation and verification of + the owner. + example: '01773247000103' + document_id: + $ref: '#/components/schemas/OwnerDocumentIdOpenFinanceBrazil' + additional_documents: + type: array + minItems: 1 + description: > + Detailed information regarding additional documents provided to + prove the business's ID. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerBusinessDocumentIds' + email: + type: string + nullable: true + format: email + maxLength: 256 + description: The account owner's registered email address. + example: johndoe@belvo.com + emails: + type: array + minItems: 0 + description: Additional list of emails the owner provided. + items: + $ref: '#/components/schemas/OwnerEmails' + address: + type: string + nullable: true + description: The accounts owners registered address. + example: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + type: array + minItems: 1 + description: Detailed information regarding the owner's addresses. + items: + $ref: '#/components/schemas/OwnerAddresses' + phone_number: + type: string + nullable: true + description: The account owner's registered phone number. + example: +52-XXX-XXX-XXXX + phone_numbers: + type: array + minItems: 0 + description: Detailed information regarding the owner's `phone_number`s. + items: + $ref: '#/components/schemas/OwnerPhoneNumbers' + parties: + type: array + minItems: 1 + description: > + Detailed information regarding the parties allowed to act on the + owner's behalf. + + + > **Non-nullable:** A value must be returned by Brazil's open + finance network. + items: + $ref: '#/components/schemas/OwnerParties' + financial_profile: + $ref: '#/components/schemas/OwnerBusinessFinancialProfile' + financial_relation: + $ref: '#/components/schemas/OwnerBusinessFinancialRelation' + OwnersBusinessPaginatedResponseOpenFinanceBrazil: + type: object + title: Owner Business (OFDA Brazil) + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of owner business (OFDA Brazil) objects. + items: + $ref: '#/components/schemas/OwnerBusinessOpenFinanceBrazil' + EnumInvoiceSatInvoiceType: + type: string + nullable: true + enum: + - Egreso + - Ingreso + - Nómina + - Pago + - Traslado + description: | + The fiscal institution's classification of the invoice. + + For Mexico's SAT, we return one of the following values: + + - `Egreso` + - `Ingreso` + - `Nómina` + - `Pago` + - `Traslado` + example: Ingreso + EnumInvoiceType: + type: string + nullable: true + enum: + - OUTFLOW + - INFLOW + - null + description: | + The direction of the invoice (from the perspective of the Link owner). + - `OUTFLOW` indicates a sent invoice. + - `INFLOW` indicates a received invoice. + example: INFLOW + EnumInvoiceSatPaymentMethod: + type: string + nullable: true + enum: + - PUE + - PIP + - PPD + - null + description: > + The payment method code used for this invoice, as defined by the legal + entity of the country. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payment-method). + For Mexico, we return `PUE`, `PIP`, `PPD`, or `null`. + example: PUE + InvoiceDetailRetainedTaxSat: + type: object + required: + - tax + - tax_percentage + - retained_tax_amount + properties: + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + tax_type: + type: string + nullable: true + description: > + **Note**: This field is not applicable for SAT Mexico and will + return `null`. + example: null + tax: + type: string + nullable: true + description: The type of retained tax (for example, ISR, IVA or IEPS). + example: ISR + tax_percentage: + type: number + nullable: true + format: float + description: The percentage of tax retained. + example: 10 + retained_tax_amount: + type: number + nullable: true + format: float + description: The amount of retained tax. + example: 209.79 + InvoiceDetailSat: + type: object + required: + - description + - product_identification + - quantity + - unit_amount + - unit_description + - unit_code + - pre_tax_amount + - tax_percentage + - tax_amount + - total_amount + properties: + description: + type: string + nullable: true + description: > + The description of the invoice item (an invoice can have one or more + items). + example: December 2019 accounting fees + product_identification: + type: string + nullable: true + description: > + The identification code of the product or the service, as defined by + the legal entity in the country. + + - 🇲🇽 [Mexico](http://200.57.3.89/Pys/catPyS.aspx) + example: '84101600' + quantity: + type: number + nullable: true + format: float + description: The quantity of this invoice item. + example: 10 + unit_code: + type: string + nullable: true + description: > + The unit of measure, as defined by the legal entity in the country. + + - 🇲🇽 Mexico [SAT catalog + reference](https://developers.belvo.com/docs/sat-catalogs#unit-code) + example: E48 + unit_description: + type: string + nullable: true + description: > + The description of the item, as defined by the legal entity in the + country. + + - 🇲🇽 Mexico [SAT catalog + reference](https://developers.belvo.com/docs/sat-catalogs#unit-code) + example: Unidad de servicio + unit_amount: + type: number + nullable: true + format: float + description: The price of one a singular item. + example: 200 + tax_type: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + pre_tax_amount: + type: number + nullable: true + format: float + description: | + The total price for this item before tax is applied (`quantity` x + `unit_amount`). + example: 400 + tax_percentage: + type: number + nullable: true + format: float + description: The tax percentage to apply. + example: 16 + tax_amount: + type: number + nullable: true + format: float + description: | + The amount of tax for this invoice item (`pre_tax_amount` x + `tax_percentage`). + example: 64 + total_amount: + type: number + nullable: true + format: float + description: >- + The total price for this invoice item (`pre_tax_amount` + + `tax_amount`). + example: 464 + retained_taxes: + type: array + description: The retained tax on the invoice item. + items: + $ref: '#/components/schemas/InvoiceDetailRetainedTaxSat' + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + InvoicesPaymentsRelatedDocumentsSat: + type: object + required: + - invoice_identification + - currency + - payment_method + - previous_balance + - amount_paid + - outstanding_balance + description: List of all the related deferred invoices affected by the payment. + properties: + invoice_identification: + type: string + nullable: true + description: | + The fiscal institution's unique ID for the related deferred invoice. + example: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: + type: string + nullable: true + description: | + The currency of the related invoice. For example: + + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + + Please note that other currencies other than in the list above may be returned. + example: MXN + payment_method: + type: string + nullable: true + description: | + The payment method of the related invoice. + example: PPD + partiality_number: + type: integer + format: int32 + description: | + The payment installment number. + example: 1 + previous_balance: + type: number + nullable: true + format: float + description: | + The invoice amount before the payment. + example: 18877.84 + amount_paid: + type: number + nullable: true + format: float + description: | + The amount paid in this installment. + example: 8000 + outstanding_balance: + type: number + nullable: true + format: float + description: | + The amount remaining to be paid. + example: 10877.84 + InvoicesPaymentsSat: + type: object + required: + - date + - payment_type + - currency + - exchange_rate + - amount + - operation_number + - beneficiary_account_number + - payer_rfc + - payer_account_number + - payer_bank_name + - related_documents + properties: + date: + type: string + nullable: true + format: date-time + description: | + ISO-8601 timestamp when the payment was made. + example: '2020-03-17T12:00:00.000Z' + payment_type: + type: string + nullable: true + description: > + Payment type code used for this invoice, as defined by the country's + legal entity. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payment-type) + example: '03' + currency: + type: string + nullable: true + description: > + The currency of the payment. For example: + + + - 🇧🇷 BRL (Brazilian Real) + + - 🇨🇴 COP (Colombian Peso) + + - 🇲🇽 MXN (Mexican Peso) + + + Please note that other currencies other than in the list above may + be returned. + example: BRL + exchange_rate: + type: string + nullable: true + description: > + The `currency` to MXN currency exchange rate when the payment was + made. + example: '3.75' + amount: + type: number + nullable: true + format: float + description: | + The invoice amount, in the currency of the original invoice. + example: 8000.5 + operation_number: + type: string + nullable: true + description: | + The fiscal institution's internal identifier for the operation. + example: '831840' + beneficiary_rfc: + type: string + nullable: true + description: | + The fiscal ID of the payment beneficiary. + example: BNM840515VB1 + beneficiary_account_number: + type: string + nullable: true + description: | + The bank account number of the payment beneficiary. + example: '12343453245633' + payer_rfc: + type: string + nullable: true + description: | + The fiscal ID of the payment issuer. + example: BKJM840515VB1 + payer_account_number: + type: string + nullable: true + description: | + The bank account number of the payment issuer. + example: '13343663245699' + payer_bank_name: + type: string + nullable: true + description: | + The banking institution that was used by the payment issuer. + example: CITI BANAMEX + related_documents: + type: array + description: | + A list of all the related deferred invoices affected by the payment. + items: + $ref: '#/components/schemas/InvoicesPaymentsRelatedDocumentsSat' + InvoicesPayrollSat: + type: object + nullable: true + required: + - version + - type + - payment_date + - date_from + - date_to + - days + - amount + description: > + Details regarding the payroll payment. Only applicable for payroll + invoices. + properties: + days: + type: integer + nullable: true + format: int32 + description: | + The number of days covered by the payment. + example: 30 + type: + type: string + nullable: true + description: > + The payroll type, as defined by the legal entity of the country. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payroll-type) + example: O + amount: + type: number + format: float + description: | + The total amount of the payroll payment. + example: 20400.1 + version: + type: string + description: | + The version of the payroll object. + example: '1.2' + date_from: + type: string + nullable: true + format: date + description: | + The start date of the payment period, in `YYYY-MM-DD` format. + example: '2018-07-01' + date_to: + type: string + nullable: true + format: date + description: | + The end date of the payment period, in `YYYY-MM-DD` format. + example: '2018-07-31' + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + payment_date: + type: string + format: date + description: | + The payment date, in `YYYY-MM-DD` format. + InvoiceWarningsSat: + type: object + nullable: true + required: + - code + - message + description: > + Object containing information about any warnings related to this + invoice. + properties: + code: + type: string + nullable: true + description: | + The warning code. Can be one of: + + - `sat_xml_limit_reached` + - `sat_service_unavailable` + - `null` + example: sat_xml_limit_reached + message: + type: string + nullable: true + description: > + The description of the warning. + + + The message will depend on the warning code: + + + `sat_xml_limit_reached`
+ + The daily limit for XML downloads set by SAT was reached so this + invoice might be missing data. Please check + https://tinyurl.com/yydzhy5d for more information on this error. + + + `sat_service_unavailable`
+ + Downloading invoices details is not available. The SAT portal raised + a 503 error. + example: > + The daily limit for XML downloads set by SAT was reached so this + invoice + + might be missing data. Please check https://tinyurl.com/yydzhy5d for + more + + information on this error. + InvoiceWithIdSat: + type: object + title: 🇲🇽 SAT Mexico + required: + - type + - invoice_identification + - invoice_date + - invoice_type + - subtotal_amount + - tax_amount + - discount_amount + - total_amount + - currency + - exchange_rate + - status + - sender_name + - sender_id + - receiver_name + - receiver_id + - certification_authority + - certification_date + - cancelation_status + - cancelation_update_date + - payment_type + - payment_type_description + - invoice_details + - payroll + - payments + - collected_at + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier used to reference the current invoice. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + description: The `link.id` the invoice belongs to. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + invoice_identification: + type: string + nullable: true + description: The fiscal institution's unique ID for the invoice. + example: A1A1A1A1-2B2B-3C33-D44D-555555E55EE + invoice_date: + type: string + nullable: true + description: The date of the invoice, in `YYYY-MM-DD` format. + example: '2019-12-01' + status: + type: string + nullable: true + description: > + The status of the invoice. Can be either *Vigente* (valid) or + *Cancelado* + + (cancelled). + example: Vigente + invoice_type: + $ref: '#/components/schemas/EnumInvoiceSatInvoiceType' + type: + $ref: '#/components/schemas/EnumInvoiceType' + sender_id: + type: string + nullable: true + description: The fiscal ID of the invoice sender + example: AAA111111AA11 + sender_name: + type: string + nullable: true + description: The name of the invoice sender. + example: ACME CORP + sender_tax_fraud_status: + type: string + nullable: true + description: > + Indicates whether or not the sender is on SAT's tax fraud list for + having submitted incorrect data, having outstanding payments, or + having conducted business that is in violation of the fiscal + institution's regulations.

+ + + SAT updates the tax fraud list every three months.

+ + + For more information regarding the reason's a taxpayer can be put on + the tax fraud list, please see [Article + 69](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69.html) + and [Article + 69-B](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69B.html) + of Mexico's Código Fiscal de la Federación. + +

+ + + Possible statuses are: + + + - `INVESTIGATING`
+ + The fiscal institution has identified irregularities and open an + investigation regarding the taxpayer. + +
+ + - `DISMISSED`
+ + The fiscal institution has investigated the taxpayer and declared + them innocent. + +
+ + - `CONFIRMED`
+ + The fiscal institution has confirmed that the taxpayer is guilty. + +
+ + - `OVERTURNED`
+ + The fiscal institution has reassessed a previously confirmed + taxpayer and, based on new evidence, has taken the taxpayer off the + tax fraud list. + +
+ + - `NO_TAX_FRAUD_STATUS`
+ + The receiver or sender is not found in the list (in other words, + they are complying with the fiscal institution's regulations). + example: NO_TAX_FRAUD_STATUS + receiver_id: + type: string + nullable: true + description: The fiscal ID of the invoice receiver. + example: BBB222222BB22 + receiver_name: + type: string + nullable: true + description: The name of the invoice receiver. + example: BELVO CORP + receiver_tax_fraud_status: + type: string + nullable: true + description: > + Indicates whether or not the receiver is on SAT's tax fraud list for + having submitted incorrect data, having outstanding payments, or + having conducted business that is in violation of the fiscal + institution's regulations.

+ + + SAT updates the tax fraud list every three months.

+ + + For more information regarding the reason's a taxpayer can be put on + the tax fraud list, please see [Article + 69](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69.html) + and [Article + 69-B](http://omawww.sat.gob.mx/cifras_sat/Paginas/datos/vinculo.html?page=ListCompleta69B.html) + of Mexico's Código Fiscal de la Federación. + +

+ + + Possible statuses are: + + + - `INVESTIGATING`
+ + The fiscal institution has identified irregularities and open an + investigation regarding the taxpayer. + +
+ + - `DISMISSED`
+ + The fiscal institution has investigated the taxpayer and declared + them innocent. + +
+ + - `CONFIRMED`
+ + The fiscal institution has confirmed that the taxpayer is guilty. + +
+ + - `OVERTURNED`
+ + The fiscal institution has reassessed a previously confirmed + taxpayer and, based on new evidence, has taken the taxpayer off the + tax fraud list. + +
+ + - `NO_TAX_FRAUD_STATUS`
+ + The receiver or sender is not found in the list (in other words, + they are complying with the fiscal institution's regulations). + example: NO_TAX_FRAUD_STATUS + cancelation_status: + type: string + nullable: true + description: > + If the invoice is cancelled, this field indicates the status of the + cancellation. + cancelation_update_date: + type: string + nullable: true + format: date + description: | + The date of the invoice cancelation, in `YYYY-MM-DD` format. + example: '2019-12-02' + certification_date: + type: string + nullable: true + format: date + description: | + The date of the fiscal certification, in `YYYY-MM-DD` format. + example: '2019-12-01' + certification_authority: + type: string + nullable: true + description: | + The fiscal ID of the certification provider. + example: CCC333333CC33 + payment_type: + type: string + nullable: true + description: > + The payment type code used for this invoice, as defined by the + country legal entity. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#payment-type) + example: '99' + payment_type_description: + 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.* + example: null + payment_method: + $ref: '#/components/schemas/EnumInvoiceSatPaymentMethod' + payment_method_description: + 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.* + + + *The description of the payment method used for this invoice.* + example: null + usage: + type: string + nullable: true + description: > + The invoice's usage code, as defined by the legal entity of the + country. + + + - 🇲🇽 Mexico [SAT catalog reference + article](https://developers.belvo.com/docs/sat-catalogs#usage) + example: P01 + version: + type: string + nullable: true + description: | + The CFDI version of the invoice. + example: '3.3' + place_of_issue: + type: string + nullable: true + description: | + The postcode of where the invoice was issued. + example: '01165' + invoice_details: + type: array + description: > + A list of descriptions for each item (purchased product or service + provided) in the invoice. + items: + $ref: '#/components/schemas/InvoiceDetailSat' + currency: + type: string + nullable: true + description: | + The currency of the invoice. For example: + + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + - 🇺🇸 USD (United States Dollar) + example: MXN + subtotal_amount: + type: number + nullable: true + format: float + description: > + The pretax amount of this invoice (sum of each item's + `pre_tax_amount`). + example: 400 + exchange_rate: + type: number + nullable: true + format: float + description: | + The exchange rate used in this invoice for the currency. + example: 0.052 + tax_amount: + type: number + nullable: true + format: float + description: > + The amount of tax for this invoice (sum of each item's + `tax_amount`). + example: 64 + discount_amount: + type: number + nullable: true + format: float + description: | + The total amount discounted in this invoice. + example: 10 + total_amount: + type: number + nullable: true + format: float + description: | + The total amount of the invoice (`subtotal_amount` + `tax_amount` - + `discount_amount`) + example: 454 + payments: + type: array + description: | + A list detailing all the invoice payments. + items: + $ref: '#/components/schemas/InvoicesPaymentsSat' + payroll: + $ref: '#/components/schemas/InvoicesPayrollSat' + folio: + type: string + nullable: true + description: > + The internal control number that the taxpayer assigns to the + invoice. + example: '26' + xml: + type: string + nullable: true + description: | + XML of the invoice document. + warnings: + $ref: '#/components/schemas/InvoiceWarningsSat' + sender_blacklist_status: + 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.* + + Please use `sender_tax_fraud_status` instead. + example: null + receiver_blacklist_status: + 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.* + + Please use `receiver_tax_fraud_status` instead. + example: null + EnumInvoiceDianInvoiceType: + type: string + nullable: true + enum: + - Factura Electrónica de Venta + description: | + The fiscal institution's classification of the invoice. + + For Colombia's DIAN, we return one of the following values: + + - `Factura Electrónica de Venta` + example: Factura Electrónica de Venta + InvoiceSenderDetailsDian: + type: object + nullable: true + description: | + Details regarding the sender. + properties: + collected_at: + type: string + nullable: true + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + tax_payer_type: + type: string + nullable: true + description: > + Indicates if the sender is a business or an individual. Can be + either: + + - `Persona Jurídica` + - `Persona Natural` + example: Persona Natural + regimen: + type: string + nullable: true + description: > + The sender's regimen type. + + + For detailed information regarding DIAN's regimens, please see their + [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: Régimen Simple de Tributación - SIMPLE + tax_scheme: + type: string + nullable: true + description: > + The sender's fiscal responsibilities. + + + For detailed information regarding DIAN's tax schemes, please see + their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: 01-IVA + country: + type: string + nullable: true + description: | + The country where the sender pays their taxes. + example: Colombia + address: + type: string + nullable: true + description: | + The sender's address. + example: Calle 144 No. 12-09 + phone_number: + type: string + nullable: true + description: | + The sender's phone number. + example: '576606522566' + email: + type: string + nullable: true + description: | + The sender's email address. + example: acme_colombia@gmail.com + InvoicesReceiverDetailsDian: + type: object + nullable: true + description: | + Details regarding the receiver. + properties: + collected_at: + type: string + nullable: true + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + tax_payer_type: + type: string + nullable: true + description: > + Indicates if the receiver is a business or an individual. Can be + either: + + - `Persona Jurídica` + - `Persona Natural` + example: Persona Natural + regimen: + type: string + nullable: true + description: > + The receiver's regimen type. + + + For detailed information regarding DIAN's regimens, please see their + [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: Régimen Simple de Tributación - SIMPLE + tax_scheme: + type: string + nullable: true + description: > + The receiver's fiscal responsibilities. + + + For detailed information regarding DIAN's tax schemes, please see + their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: 01-IVA + country: + type: string + nullable: true + description: | + The country where the receiver pays their taxes. + example: Colombia + address: + type: string + nullable: true + description: | + The receiver's address. + example: Calle 144 No. 12-09 + phone_number: + type: string + nullable: true + description: | + The receiver's phone number. + example: 576606522566| + email: + type: string + nullable: true + description: | + The receiver's email address. + example: acme_colombia@gmail.com + EnumInvoiceDianPaymentMethod: + type: string + nullable: true + enum: + - Contado + - Crédito + - null + description: > + The payment method used for this invoice, as defined by the legal entity + of the country. + + + For DIAN Colombia, we return one of the following values: + + - `Contado` + - `Crédito` + - `null` + example: Contado + InvoiceDetailDian: + type: object + required: + - description + - product_identification + - quantity + - unit_amount + - unit_description + - unit_code + - pre_tax_amount + - tax_percentage + - tax_amount + - total_amount + properties: + description: + type: string + nullable: true + description: | + The description of the invoice item (an invoice can have one or more + items). + example: December 2019 accounting fees + product_identification: + type: string + nullable: true + description: > + The identification code of the product or the service, as defined by + the legal entity in the country. + example: AE001 + quantity: + type: number + nullable: true + format: float + description: The quantity of this invoice item. + example: 1 + unit_code: + type: string + nullable: true + description: | + The unit of measure, as defined by the legal entity in the country. + example: EA + unit_description: + type: string + nullable: true + description: > + The description of the item, as defined by the legal entity in the + country. + example: cada + unit_amount: + type: number + nullable: true + format: float + description: The price of one singular item. + example: 5900 + tax_type: + type: string + nullable: true + description: The item's tax type. + example: IVA + pre_tax_amount: + type: number + nullable: true + format: float + description: | + The total price for this item before tax is applied (`quantity` x + `unit_amount`). + example: 5900 + tax_percentage: + type: number + nullable: true + format: float + description: The tax percentage to apply. + example: 16 + tax_amount: + type: number + nullable: true + format: float + description: | + The amount of tax for this invoice item (`pre_tax_amount` x + `tax_percentage`). + example: 64 + total_amount: + type: number + nullable: true + format: float + description: >- + The total price for this invoice item (`pre_tax_amount` + + `tax_amount`). + example: 464 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + InvoicesPaymentsRelatedDocumentsDian: + type: object + required: + - invoice_identification + - currency + - payment_method + - previous_balance + - amount_paid + - outstanding_balance + description: List of all the related deferred invoices affected by the payment. + properties: + invoice_identification: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + currency: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payment_method: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + partiality_number: + type: integer + nullable: true + format: int32 + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + previous_balance: + type: number + nullable: true + format: float + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + amount_paid: + type: number + nullable: true + format: float + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + outstanding_balance: + type: number + nullable: true + format: float + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + InvoicesPaymentsDian: + type: object + required: + - date + - payment_type + - currency + - exchange_rate + - amount + - operation_number + - beneficiary_account_number + - payer_rfc + - payer_account_number + - payer_bank_name + - related_documents + properties: + date: + type: string + nullable: true + format: date-time + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payment_type: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + currency: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + exchange_rate: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + amount: + type: number + nullable: true + format: float + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + operation_number: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + beneficiary_rfc: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + beneficiary_account_number: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payer_rfc: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payer_account_number: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payer_bank_name: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + related_documents: + type: array + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + items: + $ref: '#/components/schemas/InvoicesPaymentsRelatedDocumentsDian' + InvoicesPayrollDian: + type: object + nullable: true + required: + - version + - type + - payment_date + - date_from + - date_to + - days + - amount + description: > + **Note**: This field is not applicable for DIAN Colombia and will return + `null`. + properties: + days: + type: integer + nullable: true + format: int32 + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + type: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + amount: + type: number + nullable: true + format: float + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + version: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + date_from: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + date_to: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + collected_at: + type: string + nullable: true + format: date-time + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payment_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + InvoiceWarningsDian: + type: object + nullable: true + required: + - code + - message + description: > + **Note**: This field is not applicable for DIAN Colombia and will return + `null`. + properties: + code: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + message: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + InvoiceDian: + type: object + title: 🇨🇴 DIAN Colombia + required: + - type + - invoice_identification + - invoice_date + - invoice_type + - subtotal_amount + - tax_amount + - discount_amount + - total_amount + - currency + - exchange_rate + - status + - sender_name + - sender_id + - receiver_name + - receiver_id + - certification_authority + - certification_date + - cancelation_status + - cancelation_update_date + - payment_type + - payment_type_description + - invoice_details + - payroll + - payments + - collected_at + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier for the current invoice. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + description: The `link.id` the invoice belongs to. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + invoice_identification: + type: string + nullable: true + description: The fiscal institution's unique ID for the invoice. + example: >- + 89868fda605e6250a7ecb910dc57ed6f8147c6dc39ec90805bb655a0646e6cc3f991f93463f62e03d236b9cc9c293edc + invoice_date: + type: string + nullable: true + description: The date of the invoice, in `YYYY-MM-DD` format. + example: '2019-12-01' + status: + type: string + nullable: true + description: | + The status of the invoice. Can be one of: + + - *Aprobado* (approved) + - *Aprobado con notificación* (approved with notification) + example: Aprobado + expiration_date: + type: string + nullable: true + format: date + description: > + The date when the invoice is set to expire, in `YYYY-MM-DD` format. + + + For example: If the invoice is paid in installments, this field + indicates the date when the installment is to be paid. + example: '2022-08-19' + invoice_type: + $ref: '#/components/schemas/EnumInvoiceDianInvoiceType' + type: + $ref: '#/components/schemas/EnumInvoiceType' + sender_id: + type: string + nullable: true + description: The fiscal ID of the invoice sender. + example: YHS922233648 + sender_name: + type: string + nullable: true + description: The name of the invoice sender. + example: ACME Corp Colombia + sender_details: + $ref: '#/components/schemas/InvoiceSenderDetailsDian' + sender_tax_fraud_status: + type: string + nullable: true + description: > + Indicates whether or not the sender is on a tax fraud list for + having submitted incorrect data, having outstanding payments, or + having conducted business that is in violation of the fiscal + institution's regulations. + + + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + receiver_id: + type: string + nullable: true + description: The fiscal ID of the invoice receiver. + example: BBB222222BB22 + receiver_name: + type: string + nullable: true + description: The name of the invoice receiver. + example: Roadrunner Traps Colombia + receiver_details: + $ref: '#/components/schemas/InvoicesReceiverDetailsDian' + receiver_tax_fraud_status: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + cancelation_status: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + cancelation_update_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + certification_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + certification_authority: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + payment_type: + type: string + nullable: true + description: > + The payment type code used for this invoice, as defined by the + country legal entity. + + + For detailed information regarding DIAN's payment types, please see + their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: '47' + payment_type_description: + type: string + nullable: true + description: | + The description of the payment method used for this invoice. + example: null + payment_method: + $ref: '#/components/schemas/EnumInvoiceDianPaymentMethod' + payment_method_description: + 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.* + + + *The description of the payment method used for this invoice.* + example: null + usage: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + version: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + place_of_issue: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + invoice_details: + type: array + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + items: + $ref: '#/components/schemas/InvoiceDetailDian' + currency: + type: string + nullable: true + description: | + The currency of the invoice. For example: + + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + - 🇺🇸 USD (United States Dollar) + example: COP + subtotal_amount: + type: number + nullable: true + format: float + description: > + The pretax amount of this invoice (sum of each item's + `pre_tax_amount`). + example: 400 + exchange_rate: + type: number + nullable: true + format: float + description: | + The exchange rate used in this invoice for the currency. + example: 0.053 + tax_amount: + type: number + nullable: true + format: float + description: > + The amount of tax for this invoice (sum of each item's + `tax_amount`). + example: 64 + discount_amount: + type: number + nullable: true + format: float + description: | + The total amount discounted in this invoice. + example: 10 + total_amount: + type: number + nullable: true + format: float + description: | + The total amount of the invoice (`subtotal_amount` + `tax_amount` - + `discount_amount`) + example: 454 + payments: + type: array + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + items: + $ref: '#/components/schemas/InvoicesPaymentsDian' + payroll: + $ref: '#/components/schemas/InvoicesPayrollDian' + folio: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + xml: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + warnings: + $ref: '#/components/schemas/InvoiceWarningsDian' + InvoicesResponsePaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of invoice objects. + items: + oneOf: + - $ref: '#/components/schemas/InvoiceWithIdSat' + - $ref: '#/components/schemas/InvoiceDian' + InvoicesRequest: + type: object + required: + - date_from + - date_to + - link + - type + properties: + link: + type: string + format: uuid + description: The fiscal `link.id` to use. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting invoices for, in + `YYYY-MM-DD` format. + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2020-01-01' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting invoices for, in `YYYY-MM-DD` + format. + + + ⚠️ The number of days between `date_from` and `date_to` cannot be + over 365. + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2020-02-01' + type: + $ref: '#/components/schemas/EnumInvoiceType' + attach_xml: + type: boolean + default: false + description: | + When set to `true`, you will receive the XML invoice in the + response. + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + TaxReturnPersonal: + type: object + additionalProperties: true + title: Tax Return Personal + required: + - informacion_general + - sueldos_salarios + - servicios_profesionales + - dividendos + - deducciones_personales + - retenciones + - determinacion_impuesto + - pdf + - receipt_pdf + - collected_at + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: + type: string + format: uuid + description: The `link.id` the statement belongs to + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + type: object + nullable: true + description: | + General information on the tax return (year, RFC, return type, + person/company name, and so on). + sueldos_salarios: + type: object + nullable: true + description: > + Details regarding the income information together combined with + withheld + + taxes. + servicios_profesionales: + type: object + nullable: true + description: | + Details regarding the income and tax information from professional + services provided. + deducciones_personales: + type: object + nullable: true + description: List of all personal tax deductions. + determinacion_impuesto: + type: object + nullable: true + description: Details regarding the final tax return. + retenciones: + type: object + nullable: true + description: Details on the already withheld taxes. + dividendos: + type: object + nullable: true + description: Details regarding dividends. + datos_informativos: + type: object + nullable: true + description: Extra informative data on the tax return. + pdf: + type: string + nullable: true + format: binary + description: Tax return PDF as a binary. + example: '=PDF-STRING=' + receipt_pdf: + type: string + nullable: true + format: binary + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + example: '=PDF-STRING=' + TaxReturnsPersonalPaginated: + type: object + title: Tax Return Personal + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Personal Tax Return objects. + items: + $ref: '#/components/schemas/TaxReturnPersonal' + TaxReturnPersonalMonthly: + type: object + additionalProperties: true + title: Tax Return Personal Monthly + required: + - informacion_general + - pdf + - type + - isr + - iva + - collected_at + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2022-02-09T08:45:50.406032Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + type: object + nullable: true + description: > + General information regarding the tax return (year, RFC, return + type, + + person/company name, and so on). + isr: + type: object + nullable: true + description: > + Information used to calculate the monthly provisional payments of + the + + income tax. + iva: + type: object + nullable: true + description: > + Information used to calculate the monthly provisional payments of + the VAT + + tax. + pdf: + type: string + nullable: true + format: binary + description: Tax return PDF as a binary. + example: '=PDF-STRING=' + receipt_pdf: + type: string + nullable: true + format: binary + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + example: '=PDF-STRING=' + type: + type: string + description: The type of tax return. Can be either monthly or annual. + example: monthly + TaxReturnsPersonalMonthlyPaginated: + type: object + title: Tax Return Personal Monthly + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Monthly Personal Tax Return objects. + items: + $ref: '#/components/schemas/TaxReturnPersonalMonthly' + TaxReturnBusiness: + type: object + additionalProperties: true + title: Tax Return Business + required: + - id + - collected_at + - created_at + - informacion_general + - datos_adicionales + - estado_resultados + - estado_posicion_financiera_balance + - conciliacion_entre_resultado_contable_fiscal + - deducciones_autorizadas + - cifras_cierre_ejercicio + - determinacion_del_impuesto_sobre_la_renta + - dividendos_o_utilidades_distribuidos + - detalle_pago_r1_isr_personas_morales + - pdf + - receipt_pdf + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + type: object + nullable: true + description: > + General information regarding the tax return (year, RFC, return + type, + + person/company name, and so on). + datos_adicionales: + type: object + nullable: true + description: Additional data regarding the tax return. + estado_resultados: + type: object + nullable: true + description: > + Detailed information about the legal entity's yearly profit and + loss. + + + > **Note**: For tax returns submitted for the 2022 tax year and + later, this field will return null as it is no longer a required + field when submitting your tax return. + estado_posicion_financiera_balance: + type: object + nullable: true + description: > + Details regarding balance sheet of the legal entity. + + + > **Note**: For tax returns submitted for the 2022 tax year and + later, this field will return null as it is no longer a required + field when submitting your tax return. + conciliacion_entre_resultado_contable_fiscal: + type: object + nullable: true + description: > + Details regarding the accounting reconciliation. + + + > **Note**: For tax returns submitted for the 2022 tax year and + later, this field will return null as it is no longer a required + field when submitting your tax return. + deducciones_autorizadas: + type: object + nullable: true + description: Details regarding the legal entity's deductions. + cifras_cierre_ejercicio: + type: object + nullable: true + description: Details regarding key numbers at the end of the fiscal exercise. + determinacion_del_impuesto_sobre_la_renta: + type: object + nullable: true + description: Details regarding the final tax return. + dividendos_o_utilidades_distribuidos: + type: object + nullable: true + description: Details regarding distributed dividends. + detalle_pago_r1_isr_personas_morales: + type: object + nullable: true + description: Details of the tax payment. + ingressos: + type: object + nullable: true + description: > + > **Note**: Only applicable for tax return filed on or after 2022. + For tax returns filed before 2022, this field will return `null`. + + + Details regarding the total amounts earned in the fiscal year. + determinacion: + type: object + nullable: true + description: > + > **Note**: Only applicable for tax return filed on or after 2022. + For tax returns filed before 2022, this field will return `null`. + + + Details regarding the tax due or tax credit. + pdf: + type: string + nullable: true + format: binary + description: Tax return PDF as a binary. + example: '=PDF-STRING=' + receipt_pdf: + type: string + nullable: true + format: binary + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + example: '=PDF-STRING=' + TaxReturnsBusinessPaginated: + type: object + title: Tax Return Personal Business + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Business Tax Return objects. + items: + $ref: '#/components/schemas/TaxReturnBusiness' + TaxReturnBusinessMonthly: + type: object + additionalProperties: true + title: Tax Return Business Monthly + required: + - informacion_general + - determinacion_isr + - pdf + - type + - collected_at + - detalle_pago_isr + - determinacion_iva + - detalle_pago_iva + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Return. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2019-09-27T13:01:41.941Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + informacion_general: + type: object + nullable: true + description: > + General information regarding the tax return (year, RFC, return + type, + + person/company name, and so on). + determinacion_isr: + type: object + nullable: true + description: >- + Information used to calculate the provisional income tax for the + period. + detalle_pago_isr: + type: object + nullable: true + description: Information on the monthly provisional payments for the income tax. + determinacion_iva: + type: object + nullable: true + description: >- + Information used to calculate the provisional VAT tax for the + period. + detalle_pago_iva: + type: object + nullable: true + description: Information on the monthly provisional payments for the VAT tax. + pdf: + type: string + nullable: true + format: binary + description: Tax return PDF as a binary. + example: '=PDF-STRING=' + receipt_pdf: + type: string + nullable: true + format: binary + description: > + The acknowledgement receipt from the fiscal institution confirming + that + + they received the tax return. + example: '=PDF-STRING=' + type: + type: string + nullable: true + description: The type of tax return. Can be either monthly or annual. + example: monthly + TaxReturnsBusinessMonthlyPaginated: + type: object + title: Tax Return Personal Business Monthly + additionalProperties: true + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Monthly Business Tax Return objects. + items: + $ref: '#/components/schemas/TaxReturnBusinessMonthly' + TaxReturnsMonthlyRequest: + type: object + title: Monthly Tax Returns + description: Request body for monthly tax returns + required: + - link + - type + - date_from + - date_to + properties: + link: + type: string + format: uuid + description: The fiscal `link.id` you want specific tax return information for. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + type: boolean + default: false + description: > + When this is set to `true`, you will receive the PDF as a binary + string in + + the response. + example: false + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + type: + type: string + default: monthly + description: > + The type of tax return to return. For monthly tax returns, this + field must be set to `monthly`. + date_from: + type: string + description: > + The starting date you want to get tax returns for, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2018-01-01' + date_to: + type: string + description: > + The date you want to stop getting tax returns for, in `YYYY-MM-DD` + format. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2019-01-01' + TaxReturnsYearlyRequest: + type: object + title: Yearly Tax Returns + description: Request body for yearly tax returns + required: + - link + - type + - year_to + - year_from + properties: + link: + type: string + format: uuid + description: The fiscal `link.id` you want specific tax return information for. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + type: boolean + default: false + description: > + When this is set to `true`, you will receive the PDF as a binary + string in + + the response. + example: false + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + type: + type: string + default: yearly + description: > + The type of tax return to return. For yearly tax returns this must + be set to `yearly`. + + + By default, Belvo returns the yearly (annual) tax returns. + year_from: + type: string + description: | + The starting year you want to get tax returns for, in `YYYY` format. + example: '2018' + year_to: + type: string + description: | + The year you want to stop getting tax returns for, in `YYYY` format. + example: '2019' + TaxStatusTaxPayerInformationSat: + type: object + nullable: true + required: + - rfc + - start_operations_date + - status_padron + - last_status_change_date + description: Details regarding the taxpayer. + properties: + rfc: + type: string + nullable: true + description: > + The tax payers's identification number (For Mexico, this is the + RFC). + example: BEMP12345G58 + curp: + type: string + nullable: true + description: > + The tax payers's *Clave Única de Registro de Población* (CURP) + number. + example: null + name: + type: string + nullable: true + description: The tax payers's first name. + example: JOHN + first_last_name: + type: string + nullable: true + description: The tax payers's first last name. + example: DOE + second_last_name: + type: string + nullable: true + description: The tax payers's second last name. + example: SCHMOE + start_operations_date: + type: string + nullable: true + format: date + description: > + Date when the tax payer commenced taxable commercial activities, in + `YYYY-MM-DD` format. + example: null + status_padron: + type: string + nullable: true + description: > + Status of the taxpayer in the Federal Register of Taxpayers (RFC). + Can be `ACTIVO` or `INACTIVO`. + example: null + last_status_change_date: + type: string + nullable: true + format: date + description: > + Date when `status_padron` was most recently updated, in `YYYY-MM-DD` + format. + example: null + commercial_name: + type: string + nullable: true + description: > + The name of the business designated for consumers and the general + public. + + + **Note**: Only applicable for businesses. + example: Jar Jar Transport + social_name: + type: string + nullable: true + description: > + The unique and exclusive name within the national territory that + companies + + receive for legal or administrative purposes. + + + **Note**: Only applicable for businesses. + example: John Doe SA DE CV + email: + type: string + nullable: true + description: Contact email address for the tax payer. + example: john_doe@gmail.com + phone: + type: string + nullable: true + description: Contact phone number for the tax payer. + example: '1234567890' + TaxStatusAddressBetweenStreetSat: + type: object + properties: + street_one: + type: string + nullable: true + description: The first street that `street` is located between. + example: CALLE PRINCIPE + street_two: + type: string + nullable: true + description: The second street that `street` is located between. + example: CALLE NUEVA ROMA + TaxStatusAddressSat: + type: object + nullable: true + required: + - postal_code + description: The tax payer's address details. + properties: + postal_code: + type: string + nullable: true + description: | + The postcode of the address. + example: '21255' + street_type: + type: string + nullable: true + description: The `street` type. + example: CALLE + street: + type: string + nullable: true + description: The tax payers street. + example: LA MALINCHE + exterior_number: + type: string + nullable: true + description: The street number. + example: '432' + interior_number: + type: string + nullable: true + description: Additional address information. + example: PLANTA BAJA + suburb: + type: string + nullable: true + description: | + The suburb of the tax payer. + example: BUENAVENTURA + locality: + type: string + nullable: true + description: | + The locality of the address. + example: none + municipality: + type: string + nullable: true + description: The municipality of the address. + example: CDMX DC + state: + type: string + nullable: true + description: The state that the address is in. + example: Federal + between_street: + type: array + nullable: true + description: | + Additional information about where the `street` is located. + items: + $ref: '#/components/schemas/TaxStatusAddressBetweenStreetSat' + TaxStatusEconomicActivitySat: + type: object + properties: + economic_activity: + type: string + nullable: true + description: The description of the economic activity. + example: Asalariado + initial_date: + type: string + nullable: true + description: The start date of the economic activity, in `YYYY-MM-DD` format. + example: '2020-12-06' + end_date: + type: string + nullable: true + format: date + description: | + The end date of the economic activity, in `YYYY-MM-DD` format. + example: null + order: + type: string + nullable: true + description: The order of the economic activity. + example: '2' + percentage: + type: string + nullable: true + description: | + The percentage of the economic activity. + example: '1' + TaxStatusRegimensSat: + type: object + required: + - regimen + - initial_date + - end_date + properties: + end_date: + type: string + nullable: true + format: date + description: | + The end date of the regimen, in `YYYY-MM-DD` format. + example: null + initial_date: + type: string + nullable: true + format: date + description: | + The start date of the regimen, in `YYYY-MM-DD` format. + example: '2020-12-06' + regimen: + type: string + nullable: true + description: The description of the regimen. + example: Régimen de Ingresos por Dividendos (socios y accionistas) + TaxStatusObligationsSat: + type: object + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + properties: + obligation: + type: string + nullable: true + description: | + The description of the obligation. + example: Declaración informativa de IVA con la anual de ISR + expiration: + type: string + nullable: true + description: > + The deadline to fulfill the obligation, as imposed by the tax + authority. + example: Conjuntamente con la declaración anual del ejercicio. + initial_date: + type: string + nullable: true + format: date + description: | + The date when obligation started, in `YYYY-MM-DD` format. + example: '2020-12-06' + end_date: + type: string + nullable: true + format: date + description: | + The date when obligation ended, in `YYYY-MM-DD` format. + example: null + TaxStatusSat: + type: object + title: SAT 🇲🇽 Mexico + required: + - id + - link + - collected_at + - created_at + - place_and_date_of_issuance + - official_name + - id_cif + - tax_payer_information + - address + - economic_activity + - regimes + - obligations + - digital_stamp + - digital_stamp_chain + - pdf + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Status. + example: 21e9e25b-10a8-48a5-9e6a-4072b364b53f + link: + type: string + format: uuid + description: The `link.id` that the tax status is associated with. + example: c2280c05-cbeb-4a29-ae53-8f837a77995b + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + place_and_date_of_issuance: + type: string + nullable: true + description: The place and date of that the tax status was issued. + example: TLALPAN , CIUDAD DE MEXICO A 19 DE MARZO DE 2020 + official_name: + type: string + nullable: true + description: The name of the person or business. + example: John Doe + id_cif: + type: string + nullable: true + description: | + The taxpayer's *Cédula de Identificación Fiscal* (CIF) ID. + example: '12345678901' + tax_payer_information: + $ref: '#/components/schemas/TaxStatusTaxPayerInformationSat' + address: + $ref: '#/components/schemas/TaxStatusAddressSat' + economic_activity: + type: array + nullable: true + description: | + A list of economic activity objects. + items: + $ref: '#/components/schemas/TaxStatusEconomicActivitySat' + regimes: + type: array + nullable: true + description: | + A list of regimen objects. + items: + $ref: '#/components/schemas/TaxStatusRegimensSat' + obligations: + type: array + nullable: true + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + items: + $ref: '#/components/schemas/TaxStatusObligationsSat' + digital_stamp: + type: string + nullable: true + description: The validation certificate of the document. + example: | + ||2020/04/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: + type: string + nullable: true + description: > + A data chain containing the basic structure of a fiscal digital + check. For Mexico, this is the *Comprobante Fiscal Digital por + Internet* (CFDI). + example: > + EtenSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjow= + pdf: + type: string + nullable: true + format: binary + description: Tax status PDF as a binary string. + example: '=PDF-STRING=' + TaxStatusTaxPayerInformationDian: + type: object + nullable: true + required: + - rfc + - start_operations_date + - status_padron + - last_status_change_date + description: Details regarding the taxpayer. + properties: + rfc: + type: string + nullable: true + description: | + The tax payers's identification number (NIT). + example: BEMP12345G58 + curp: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + name: + type: string + nullable: true + description: The tax payers's first name. + example: JOHN + first_last_name: + type: string + nullable: true + description: The tax payers's first last name. + example: DOE + second_last_name: + type: string + nullable: true + description: The tax payers's second last name. + example: SCHMOE + start_operations_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + status_padron: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + last_status_change_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + commercial_name: + type: string + nullable: true + description: > + The name of the business designated for consumers and the general + public. + + + **Note**: Only applicable for businesses. + example: Jar Jar Transport + social_name: + type: string + nullable: true + description: > + The unique and exclusive name within the national territory that + companies + + receive for legal or administrative purposes. + + + **Note**: Only applicable for businesses. + example: John Doe SA DE CV + email: + type: string + nullable: true + description: Contact email address for the tax payer. + example: john_doe@gmail.com + phone: + type: string + nullable: true + description: Contact phone number for the tax payer. + example: '1234567890' + TaxStatusAddressBetweenStreetDian: + type: object + properties: + street_one: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + street_two: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + TaxStatusAddressDian: + type: object + nullable: true + required: + - postal_code + description: The tax payer's address details. + properties: + postal_code: + type: string + nullable: true + description: | + The postcode of the address. + example: 332-55 + street_type: + type: string + nullable: true + description: The `street` type. + example: CALLE + street: + type: string + nullable: true + description: The tax payers street. + example: LA MALINCHE + exterior_number: + type: string + nullable: true + description: The street number. + example: '432' + interior_number: + type: string + nullable: true + description: Additional address information. + example: AP 306 + suburb: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + locality: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + municipality: + type: string + nullable: true + description: The municipality of the address. + example: Bogota DC + state: + type: string + nullable: true + description: The state that the address is in. + example: Bogota DC + between_street: + type: array + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + items: + $ref: '#/components/schemas/TaxStatusAddressBetweenStreetDian' + TaxStatusEconomicActivityDian: + type: object + properties: + economic_activity: + type: string + nullable: true + description: > + The economic activity code, according to the fiscal institution. + + + For detailed information regarding DIAN's economic activities, + please see their [official + PDF](https://www.dian.gov.co/impuestos/factura-electronica/Documents/Anexo_tecnico_factura_electronica_vr_1_7_2020.pdf). + example: '112' + initial_date: + type: string + nullable: true + description: The start date of the economic activity, in `YYYY-MM-DD` format. + example: '2020-12-06' + end_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + order: + type: string + nullable: true + description: The order of the economic activity. + example: '1' + percentage: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + TaxStatusRegimensDian: + type: object + required: + - regimen + - initial_date + - end_date + properties: + end_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + initial_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + regimen: + type: string + nullable: true + description: The description of the regimen. + example: 49-No responsable de IVA + TaxStatusObligationsDian: + type: object + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + properties: + obligation: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + expiration: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + initial_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + end_date: + type: string + nullable: true + format: date + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + TaxStatusDian: + type: object + title: DIAN 🇨🇴 Colombia + required: + - id + - link + - collected_at + - created_at + - place_and_date_of_issuance + - official_name + - id_cif + - tax_payer_information + - address + - economic_activity + - regimes + - obligations + - digital_stamp + - digital_stamp_chain + - pdf + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Status. + example: 21e9e25b-10a8-48a5-9e6a-4072b364b53f + link: + type: string + format: uuid + description: The `link.id` that the tax status is associated with. + example: c2280c05-cbeb-4a29-ae53-8f837a77995b + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + place_and_date_of_issuance: + type: string + nullable: true + description: >- + The date when the tax status was issued. For example, + `2020-08-05/18:55:16`. + example: 2020-08-05/18:55:16 + official_name: + type: string + nullable: true + description: | + The name of the business. + + Note: For individuals in Colombia, this field will return `null`. + example: Jar Jar Transport + id_cif: + type: string + nullable: true + description: > + The taxpayer's *Cédula de ciudadanía* (CC) ID. Only applicable for + individuals. + example: '12345678901' + tax_payer_information: + $ref: '#/components/schemas/TaxStatusTaxPayerInformationDian' + address: + $ref: '#/components/schemas/TaxStatusAddressDian' + economic_activity: + type: array + nullable: true + description: | + A list of economic activity objects. + items: + $ref: '#/components/schemas/TaxStatusEconomicActivityDian' + regimes: + type: array + nullable: true + description: | + A list of regimen objects. + items: + $ref: '#/components/schemas/TaxStatusRegimensDian' + obligations: + type: array + nullable: true + description: | + Details regarding a business's obligations. + + ℹ️ For non-business accounts, this field will return empty. + items: + $ref: '#/components/schemas/TaxStatusObligationsDian' + digital_stamp: + type: string + nullable: true + description: The validation certificate of the document. + example: | + "44701362691" + digital_stamp_chain: + type: string + nullable: true + description: > + **Note**: This field is not applicable for DIAN Colombia and will + return `null`. + example: null + pdf: + type: string + nullable: true + format: binary + description: Tax status PDF as a binary string. + example: '=PDF-STRING=' + TaxStatusPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of tax status objects. + items: + anyOf: + - $ref: '#/components/schemas/TaxStatusSat' + - $ref: '#/components/schemas/TaxStatusDian' + TaxStatusRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The fiscal `link.id` to use. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + type: boolean + default: false + description: | + When set to `true`, you will receive the PDF in binary format in + the response. + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + EnumTaxComplianceStatusOutcome: + type: string + nullable: true + enum: + - POSITIVE + - NEGATIVE + - NO_OBLIGATIONS + description: | + Indicates whether the taxpayer is complying to all their tax obligations + (`POSITIVE`), if they are not (`NEGATIVE`), or have none to comply to + (`NO_OBLIGATIONS`). + example: NEGATIVE + TaxComplianceStatus: + type: object + required: + - pdf + - collected_at + properties: + id: + type: string + format: uuid + description: | + Unique identifier created by Belvo used to reference the current Tax + Compliance Status. + example: 91106968-1abd-4d64-85c1-4e73d96fb997 + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp when the data point was collected. + example: '2022-02-09T08:45:50.406032Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:45:50.406032Z' + internal_identification: + type: string + nullable: true + description: The institution’s internal identification number for the document. + example: 20NE1234567 + pdf: + type: string + nullable: true + format: binary + description: Tax compliance status PDF as a binary. + example: '=PDF-STRING=' + rfc: + type: string + nullable: true + description: >- + The account holder's RFC (Registro Federal de Contribuyentes) + number. + example: KDFC211118IS0 + outcome: + $ref: '#/components/schemas/EnumTaxComplianceStatusOutcome' + TaxComplianceStatusPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of tax compliance status objects. + items: + $ref: '#/components/schemas/TaxComplianceStatus' + TaxComplianceStatusRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The fiscal `link.id` to use. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + attach_pdf: + type: boolean + default: false + description: | + When set to `true`, you will receive the PDF in binary format in + the response. + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + EnumIncomeStreamType: + type: string + enum: + - SALARY + - GOVERNMENT + - INTEREST + - RENT + - RETIREMENT + - FREELANCE + - ALTERNATIVE_INCOME + - TRANSFER + - DEPOSIT + - UNKNOWN + description: | + The type of income used in the calculations. + + We return one of the following enum values: + + - `SALARY` + - `GOVERNMENT` + - `INTEREST` + - `RENT` + - `RETIREMENT` + - `FREELANCE` + - `ALTERNATIVE_INCOME` + - `TRANSFER` + - `DEPOSIT` + - `UNKNOWN` + example: SALARY + EnumIncomeStreamFrequency: + type: string + enum: + - MONTHLY + - FORTNIGHTLY + - WEEKLY + - IRREGULAR + - SINGLE + description: | + How often the income is received. + + We return one of the following enum values: + + - `MONTHLY` - For transactions that occur once per month. + - `FORTNIGHTLY` - For transactions that occur once every two weeks. + - `WEEKLY` - For transactions that occur once per week. + - `IRREGULAR` - For transactions that do not occur on a defined frequency pattern. + - `SINGLE` - For transactions that occur only once and do not repeat. + example: MONTHLY + EnumIncomeStreamConfidence: + type: string + enum: + - HIGH + - MEDIUM + - LOW + description: | + Belvo's level of confidence for future incomes. + + We return one of the following enum values: + + - `HIGH` + - `MEDIUM` + - `LOW` + example: HIGH + IncomeStreamsBody: + type: object + required: + - account_id + - income_type + - frequency + - monthly_average + - average_income_amount + - last_income_amount + - currency + - last_income_description + - last_income_date + - stability + - regularity + - trend + - lookback_periods + - full_periods + - periods_with_income + - number_of_incomes + - confidence + description: | + A list of income streams for the account. + + For each income stream, we provide additional insights such as: + - Frequency, stability, and confidence level of the income transactions. + - Key metrics about the transaction amounts. + ℹ️ If no income sources are found, we return an empty array. + properties: + account_id: + type: string + description: Unique ID for the bank account to be verified for income streams. + example: EBACA-89077589 + income_type: + $ref: '#/components/schemas/EnumIncomeStreamType' + frequency: + $ref: '#/components/schemas/EnumIncomeStreamFrequency' + monthly_average: + type: number + format: float + description: > + The average amount of income received from the source over + `lookback_periods`. + example: 2500 + average_income_amount: + type: number + format: float + description: | + The average income transaction amount from the source. + example: 2500 + last_income_amount: + type: number + format: float + description: | + The amount of the most recent income received from the source. + example: 2500 + currency: + type: string + description: | + The three-letter currency code of the income. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + example: BRL + last_income_description: + type: string + description: | + The description of the most recent income from the stream. + example: Salário + last_income_date: + type: string + format: date + description: > + The date when the most recent income from the stream was received, + in `YYYY-MM-DD` format. + example: '2023-02-09' + stability: + type: number + nullable: true + format: float + description: > + The stability of the income based on its amount, with a range from 0 + to 1, where 1 represents perfect stability. + + + **Note:** For transactions with `frequency`=`SINGLE`, this value + returns `null`. + example: 1 + regularity: + type: number + nullable: true + format: float + description: > + The regularity of the income based in its frequency, with a range + from 0 to 1, where 1 represents perfect regularity. + + + **Note:** For transactions with `frequency`=`SINGLE`, this value + returns `null`. + example: 1 + trend: + type: number + nullable: true + format: float + description: > + The income trend during a period of time calculated between last + income and first income received, where: + - a negative float means that the income trend is decreasing during the time period. + - a positive float means that the income trend is increasing during the time period. + + **Note:** For transactions with `frequency`=`SINGLE`, this value + returns `null`. + example: 0 + lookback_periods: + type: integer + format: int32 + description: > + Number of period units (based on *rolling months*) used to generate + insights and calculations. + + + **Note:** A *rolling month* is a period of 30 days. For example, + 2023-01-15 to 2023-02-15. + example: 9 + full_periods: + type: integer + format: int32 + description: > + Number of period units (based on *rolling months*) with data to + perform calculations. + + + **Note:** A *rolling month* is a period of 30 days. For example, + 2023-01-15 to 2023-02-15. + example: 9 + periods_with_income: + type: integer + format: int32 + description: > + Number of period units (based on *rolling months*) with at least one + income available. + + + **Note:** A *rolling month* is a period of 30 days. For example, + 2023-01-15 to 2023-02-15. + example: 9 + number_of_incomes: + type: integer + format: int32 + description: | + Number of income transactions over the `lookback_periods`. + example: 9 + confidence: + $ref: '#/components/schemas/EnumIncomeStreamConfidence' + EnumIncomeSourceType: + type: string + enum: + - BANK + description: | + The type of source we generate income insights from. + We return one of the following enum values: + + - `BANK` + example: BANK + Income: + type: object + description: Income insights + required: + - id + - link + - created_at + - income_streams + - income_source_type + - first_transaction_date + - last_transaction_date + - number_of_income_streams + - monthly_average + - monthly_average_regular + - monthly_average_irregular + - monthly_average_low_confidence + - monthly_average_medium_confidence + - monthly_average_high_confidence + - total_income_amount + - total_regular_income_amount + - total_low_confidence + - total_medium_confidence + - total_high_confidence + properties: + id: + type: string + format: uuid + description: Belvo's unique identifier for the current income. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + link: + type: string + format: uuid + description: The `link.id` the income analysis belongs to. + example: f4621548-2f9e-440e-9ebd-ae8decac8c02 + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was created in Belvo's + database. + example: '2022-02-09T08:45:50.406032Z' + income_streams: + type: array + description: An array of enriched income stream objects. + items: + $ref: '#/components/schemas/IncomeStreamsBody' + income_source_type: + $ref: '#/components/schemas/EnumIncomeSourceType' + first_transaction_date: + type: string + nullable: true + format: date + description: > + The date when the first transaction occurred, in `YYYY-MM-DD` + format. + example: '2022-06-09' + last_transaction_date: + type: string + format: date + description: > + The date when when the last transaction occurred, in `YYYY-MM-DD` + format. + example: '2023-02-09' + number_of_income_streams: + type: integer + format: int32 + description: | + Number of total income streams analized. + example: 1 + monthly_average: + type: number + format: float + description: > + Average amount of income received per month across all the accounts + for the specific user. + example: 2500 + monthly_average_regular: + type: number + format: float + description: > + Average amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, or `WEEKLY`) received per month for the specific + user. + example: 2500 + monthly_average_irregular: + type: number + format: float + description: > + Average amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) received per month for the specific user. + example: 0 + monthly_average_low_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `LOW` confidence. + example: 0 + monthly_average_medium_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `MEDIUM` confidence. + example: 0 + monthly_average_high_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `HIGH` confidence. + example: 2500 + total_income_amount: + type: number + format: float + description: | + Total amount of all income received for the specific user. + example: 22500 + total_regular_income_amount: + type: number + format: float + description: > + Total amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, `WEEKLY`) for the specific user. + example: 22500 + total_irregular_income_amount: + type: number + format: float + description: > + Total amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) for the specific user. + example: 0 + total_low_confidence: + type: number + format: float + description: | + Total amount of income for the specific user with `LOW` confidence. + example: 0 + total_medium_confidence: + type: number + format: float + description: > + Total amount of income for the specific user with `MEDIUM` + confidence. + example: 0 + total_high_confidence: + type: number + format: float + description: | + Total amount of income for the specific user with `HIGH` confidence. + example: 22500 + IncomesPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of income objects. + items: + $ref: '#/components/schemas/Income' + EnumInvoiceAllowedIncomeTypesRequest: + type: string + enum: + - SALARY + - GOVERNMENT + - INTEREST + - RENT + - RETIREMENT + - FREELANCE + - ALTERNATIVE_INCOME + - TRANSFER + - DEPOSIT + - UNKNOWN + description: | + The categories of the incomes you want to get information for. + + You can send through one or more of the following values: + - `SALARY` + - `GOVERNMENT` + - `INTEREST` + - `RENT` + - `RETIREMENT` + - `FREELANCE` + - `ALTERNATIVE_INCOME` + - `TRANSFER` + - `DEPOSIT` + - `UNKNOWN` + example: SALARY + EnumIncomeMinimumConfidenceLevelRequest: + type: string + enum: + - HIGH + - MEDIUM + - LOW + description: > + The minimum confidence level of the incomes you want to get information + for. + + + You can send through one of the following values: + + - `HIGH` + - `MEDIUM` + - `LOW` + example: HIGH + IncomesRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + allowed_income_types: + type: array + description: The categories of the incomes you want to get information for. + items: + $ref: '#/components/schemas/EnumInvoiceAllowedIncomeTypesRequest' + minimum_confidence_level: + $ref: '#/components/schemas/EnumIncomeMinimumConfidenceLevelRequest' + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting incomes for, in + `YYYY-MM-DD` format, within the last 365 days. When you use this + parameter, you must also send `date_to`. + + + + ⚠️ You must have at least 90 days between `date_from` and `date_to`. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2020-08-01' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting incomes for, in `YYYY-MM-DD` + format, within the last 365 days. When you use this parameter, you + must also send `date_from`. + + + + ⚠️ You must have at least 90 days between `date_from` and `date_to`. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2020-12-30' + token: + type: string + description: The OTP token generated by the bank. + example: 1234ab + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + InvalidPeriodError: + type: object + title: Invalid Period + description: > + This error occurs when you request incomes for a link within a given + date range, however, the period between `date_from` and `date_to` is + less than 90 days. + properties: + code: + type: string + description: > + A unique error code (`invalid_period`) that allows you to classify + and handle the error programmatically. + + + + ℹ️ Check our DevPortal for more information on how to handle 400 invalid_period errors. + example: invalid_period + message: + type: string + description: | + A short description of the error. + + + For `invalid_period` errors, the description is: + + - `The number of days between date_from and date_to must be at least 90 days`. + example: >- + The number of days between date_from and date_to must be at least 90 + days + 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 + RecurringExpenseSourceTransaction: + type: object + nullable: true + required: + - amount + - description + - value_date + description: >- + An array of minified transaction objects used to evaluate the recurring + expense. If no transactions were found, we return an empty array. + properties: + amount: + type: number + format: float + description: The transaction amount. + example: 2145.45 + description: + type: string + nullable: true + description: > + The description of the transaction provided by the institution. + Usually, this is the text that the end user would see in the bank + statement. The description can be an empty string. + + + > **Note:** For EYOD Risk Insights, the description is the one that + you provided in the initial request. + example: Netflix.com/march + value_date: + type: string + format: date + description: The date when the transaction occurred, in `YYYY-MM-DD` format. + example: '2019-10-23' + EnumRecurringExpenseFrequency: + type: string + enum: + - MONTHLY + default: MONTHLY + description: | + The frequency at which this recurring expense occurs. + + + ℹ️ **Note:** Belvo only identifies `MONTHLY` frequencies. + example: MONTHLY + EnumRecurringExpenseCategory: + type: string + enum: + - Bills & Utilities + - Credits & Loans + - Insurance + - Online Platforms & Leisure + - Transport & Travel + - Taxes + description: > + The transaction category for the recurring expense. For more information + on the available categories, please see our [Transaction categorization + documentation](https://developers.belvo.com/docs/banking#categorizing-transactions). + + + - `Online Platforms & Leisure` (Netflix, Spotify, Gym Memberships) + + - `Bills & Utilities` (electricity, telephone, internet) + + - `Credits & Loans` (credit card cash advances, student loan, watercraft + lease) + + - `Insurance` (home, car, and health & life insurance) + + - `Transport & Travel` (Uber trip, airbnb, parking) + + - `Taxes` (service fee, donation, court taxes) + example: Online Platforms & Leisure + EnumRecurringExpensePaymentType: + type: string + nullable: true + enum: + - SUBSCRIPTION + - REGULAR + description: | + The type of recurring expense. We return one of the following values: + + - `SUBSCRIPTION` + - `REGULAR` + example: SUBSCRIPTION + RecurringExpenses: + type: object + required: + - account + - name + - transactions + - frequency + - average_transaction_amount + - median_transaction_amount + - days_since_last_transaction + - category + - payment_type + description: | + Recurring expense insights. + + + ℹ️ If no recurring expense insights are found, we return an empty array. + properties: + id: + type: string + format: uuid + description: >- + Belvo's unique identifier used to reference the current recurring + expense. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + account: + $ref: '#/components/schemas/Account' + name: + type: string + nullable: true + default: null + description: > + The name for the recurring expense. + + + ℹ️ **Note**: This information is taken from the description section + of a transaction and then normalized to provide you with an + easy-to-read name. As such, sometimes the name will reflect the + merchant the payment is made to (for example, Netflix.com), while + for other recurring expenses, this could be something like "Monthly + payment to John". + example: Netflix + transactions: + type: array + description: >- + An array of minified transaction objects used to evaluate the + recurring expense. If no transactions were found, we return an empty + array. + items: + $ref: '#/components/schemas/RecurringExpenseSourceTransaction' + frequency: + $ref: '#/components/schemas/EnumRecurringExpenseFrequency' + average_transaction_amount: + type: number + format: float + description: The average transaction amount of the recurring expense. + example: 32.9 + median_transaction_amount: + type: number + format: float + description: The median transaction amount of the recurring expense. + example: 32.9 + days_since_last_transaction: + type: integer + format: int32 + description: > + Number of days since the last recurring expense occurred. + + + Based on the frequency, you can infer how many days until the next + charge will occur. + example: 5 + category: + $ref: '#/components/schemas/EnumRecurringExpenseCategory' + payment_type: + $ref: '#/components/schemas/EnumRecurringExpensePaymentType' + RecurringExpensesPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of recurring expense objects. + items: + $ref: '#/components/schemas/RecurringExpenses' + RecurringExpensesRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + token: + type: string + description: The OTP token generated by the bank. + example: 1234ab + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting recurring expenses + for, in `YYYY-MM-DD` format, within the last 365 days. When you use + this parameter, you must also send `date_to`. + + + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2022-08-01' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting recurring expenses for, in + `YYYY-MM-DD` format, within the last 365 days. When you use this + parameter, you must also send `date_from`. + + + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2022-12-30' + RiskInsightsAssetMetrics: + type: object + nullable: true + description: > + Aggregate details regarding the assets used in the risk insight + analysis. For asset metrics, we only consider checking and savings + accounts. + + + + > Asset metrics can provide a snapshot of your user's wealth and liquid + assets, indicating how they manage their wealth and their current + financial status. + required: + - institutions + - num_accounts + - num_checking_accounts + - num_savings_accounts + - checking_accounts_balance + - savings_accounts_balance + properties: + institutions: + type: array + nullable: true + description: > + An array of institutions from which account information was + retrieved for the user. + + + > **Note**: For most use cases, this array will only return one + item. + items: + type: string + description: The name of the institution + example: erebor_mx_retail + example: + - erebor_mx_retail + num_assets_accounts: + type: integer + nullable: true + format: int32 + description: | + The total number of accounts found for the user. + example: 1 + num_checking_accounts: + type: integer + nullable: true + format: int32 + description: | + The total number of checking accounts found for the user. + example: 1 + num_savings_accounts: + type: integer + nullable: true + format: int32 + description: | + The total number of savings accounts found for the user. + example: 1 + checking_accounts_balance: + type: number + nullable: true + format: float + description: | + The total closing balance of all checking accounts. + example: 35901.46 + savings_accounts_balance: + type: number + nullable: true + format: float + description: | + The total closing balance of all savings accounts. + example: 300.02 + RiskInsightsCreditCardMetrics: + type: object + nullable: true + required: + - num_accounts + - sum_credit_limit + - sum_credit_used + - credit_card_limit_utilization + description: > + Aggregated metrics calculated based on the user's credit card accounts. + + + > Credit card metrics illustrate a customer's credit card habits, + revealing how many credit card accounts a customer has, their total + credit limit, how much of that limit they're using, and the rate of + their credit card limit utilization. + properties: + num_accounts: + type: integer + format: int32 + minimum: 0 + description: | + Number of credit cards accounts associated to the user. + example: 2 + sum_credit_limit: + type: number + nullable: true + format: float + description: | + Sum total of all credit cards' limits. + example: 106560 + sum_credit_used: + type: number + nullable: true + format: float + description: | + Sum total of all credit used. + example: 101020.14 + credit_card_limit_utilization: + type: number + nullable: true + format: float + description: | + The percentage of the credit card limit used. + example: 0.95 + RiskInsightsLoansMetrics: + type: object + nullable: true + description: > + Aggregated metrics calculated based on the user's loan accounts and + checking accounts that have an overdraft. + + + > Loan metrics help in understanding a customer's borrowing and + repayment behavior, which can help in assessing their ability to take on + additional credit and potential default risks. + required: + - num_accounts + - sum_loans_principal + - sum_loans_outstanding_principal + - sum_loans_monthly_payment + - loan_limit_utilization + - overdraft_limit + - overdraft_limit_utilization + properties: + num_accounts: + type: integer + format: int32 + description: | + The number of loan accounts associated with the user. + example: 1 + sum_loans_principal: + type: number + nullable: true + format: float + description: | + Sum total of the principal for all of the user's loan accounts. + example: 5000 + sum_loans_outstanding_principal: + type: number + nullable: true + format: float + description: > + Sum total of the outstanding principal for all the user's loan + accounts. + example: 2000 + sum_loans_monthly_payment: + type: number + nullable: true + format: float + description: | + Sum total of the monthly payments for all the user's loan accounts. + example: 400 + loan_limit_utilization: + type: number + nullable: true + format: float + description: | + The percentage of the loan limit used. + example: 0.3 + overdraft_limit: + type: number + nullable: true + format: float + description: | + The total overdraft limit of all checking and savings accounts. + example: 900 + overdraft_limit_utilization: + type: number + nullable: true + format: float + description: | + The percentage of the overdraft limit used. + example: 0.4 + RiskInsightsBalanceMetrics: + type: object + nullable: true + description: >- + Balance metrics calculated based on the user's balances from checking + and savings accounts. + required: + - closing_balance + - min_balance_3d + - min_balance_1w + - min_balance_1m + - min_balance_3m + - min_balance_6m + - min_balance_12m + - mean_balance_3d + - mean_balance_1w + - mean_balance_1m + - mean_balance_3m + - mean_balance_6m + - mean_balance_12m + - max_balance_3d + - max_balance_1w + - max_balance_1m + - max_balance_3m + - max_balance_6m + - max_balance_12m + - std_balance_3d + - std_balance_1w + - std_balance_1m + - std_balance_3m + - std_balance_6m + - std_balance_12m + - balance_trend_3d + - balance_trend_1w + - balance_trend_1m + - balance_trend_3m + - balance_trend_6m + - balance_trend_12m + - days_balance_below_0_3d + - days_balance_below_0_1w + - days_balance_below_0_1m + - days_balance_below_0_3m + - days_balance_below_0_6m + - days_balance_below_0_12m + - days_balance_below_mean_3d + - days_balance_below_mean_1w + - days_balance_below_mean_1m + - days_balance_below_mean_3m + - days_balance_below_mean_6m + - days_balance_below_mean_12m + - days_balance_below_x_3d + - days_balance_below_x_1w + - days_balance_below_x_1m + - days_balance_below_x_3m + - days_balance_below_x_6m + - days_balance_below_x_12m + - balance_threshold_x + properties: + closing_balance: + type: number + nullable: true + format: float + description: | + The balance of all the accounts at the `collected_at` time. + example: 35901.46 + min_balance_3d: + type: number + nullable: true + format: float + description: | + The minimum balance in the last three days. + example: 35417.68 + min_balance_1w: + type: number + nullable: true + format: float + description: | + The minimum balance in the last week). + example: 34150.5 + min_balance_1m: + type: number + nullable: true + format: float + description: | + The minimum balance in the last month. + example: 33990.59 + min_balance_3m: + type: number + nullable: true + format: float + description: | + The minimum balance in the last three months. + example: 33990.59 + min_balance_6m: + type: number + nullable: true + format: float + description: | + The minimum balance in the six last months. + example: 33990.59 + min_balance_12m: + type: number + nullable: true + format: float + description: | + The minimum balance in the last twelve months. + example: 33990.59 + mean_balance_3d: + type: number + nullable: true + format: float + description: | + The mean balance in the last three days. + example: 35659.57 + mean_balance_1w: + type: number + nullable: true + format: float + description: | + The mean balance in the last week. + example: 35077.1 + mean_balance_1m: + type: number + nullable: true + format: float + description: | + The mean balance in the last month. + example: 34816.08 + mean_balance_3m: + type: number + nullable: true + format: float + description: | + The mean balance in the last three months. + example: 34816.08 + mean_balance_6m: + type: number + nullable: true + format: float + description: | + The mean balance in the last six months. + example: 34816.08 + mean_balance_12m: + type: number + nullable: true + format: float + description: | + The mean balance in the last twelve months. + example: 34816.08 + max_balance_3d: + type: number + nullable: true + format: float + description: | + The maximum balance in the last three days. + example: 35901.46 + max_balance_1w: + type: number + nullable: true + format: float + description: | + The maximum balance in the last week. + example: 35901.46 + max_balance_1m: + type: number + nullable: true + format: float + description: | + The maximum balance in the last month. + example: 35901.46 + max_balance_3m: + type: number + nullable: true + format: float + description: | + The maximum balance in the last three months. + example: 35901.46 + max_balance_6m: + type: number + nullable: true + format: float + description: | + The maximum balance in the last six months. + example: 35901.46 + max_balance_12m: + type: number + nullable: true + format: float + description: | + The maximum balance in the last twelve months. + example: 35901.46 + std_balance_3d: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last three days. + example: 279.31 + std_balance_1w: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last week. + example: 764.03 + std_balance_1m: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last month. + example: 586.55 + std_balance_3m: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last three months. + example: 586.55 + std_balance_6m: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last six months. + example: 586.55 + std_balance_12m: + type: number + nullable: true + format: float + description: | + The balance standard deviation in the last twelve months. + example: 586.55 + balance_trend_3d: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last three days. + example: 193.51 + balance_trend_1w: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last week. + example: 290.18 + balance_trend_1m: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last month. + example: 22.6 + balance_trend_3m: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last three months. + example: 22.6 + balance_trend_6m: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last six months. + example: 22.6 + balance_trend_12m: + type: number + nullable: true + format: float + description: | + The balance trend of the user in the last twelve months. + example: 22.6 + days_balance_below_0_3d: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last three days. + example: 0 + days_balance_below_0_1w: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last week. + example: 0 + days_balance_below_0_1m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last month. + example: 0 + days_balance_below_0_3m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last three months. + example: 0 + days_balance_below_0_6m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last six months. + example: 0 + days_balance_below_0_12m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to 0 in the last twelve months. + example: 0 + days_balance_below_mean_3d: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_3d`. + example: 2 + days_balance_below_mean_1w: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_1w`. + example: 3 + days_balance_below_mean_1m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_1m`. + example: 17 + days_balance_below_mean_3m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_3m`. + example: 17 + days_balance_below_mean_6m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_6m`. + example: 17 + days_balance_below_mean_12m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the mean balance of the account is less than + or equal to the amount specified in `mean_daily_balance_12m`. + example: 17 + days_balance_below_x_3d: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last three days. + example: 0 + days_balance_below_x_1w: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last week. + example: 0 + days_balance_below_x_1m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last month. + example: 0 + days_balance_below_x_3m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last three months. + example: 0 + days_balance_below_x_6m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last six months. + example: 0 + days_balance_below_x_12m: + type: integer + nullable: true + format: int32 + description: > + The number of days that the total balance of the account is less + than or equal to the amount specified in `balance_threshold_x` in + the last twelve months. + example: 0 + balance_threshold_x: + type: number + format: float + description: > + The threshold used to compute `days_balance_below_x_period`. Please + note, this is value is country specific (both in terms of the amount + and the currency). + example: 1000 + RiskInsightsTransactionMetrics: + type: object + nullable: true + description: > + Aggregated metrics calculated based on the user's transactions from + checking, savings, credit card, and loan accounts. + + + + > ℹ️ **Note** + + > + + > If there is not enough transactional data for a given period, we + return `null` for calculated fields and `0` for 'count-based' fields. + For example, if the account has only been open for five days (or you + have provided data just for five days), we return values for `_3d`, + `_1w`, and `_1m`, however: + + > + + > - `mean_num_transactions_3m` will return `null` as there is no data + for months two and three (calculated field). + + > - `num_transactions_3m` will return `0` as there is no data for months + two and three ('count-based' field) + required: + - num_transactions_3d + - num_transactions_1w + - num_transactions_1m + - num_transactions_3m + - num_transactions_6m + - num_transactions_12m + - max_num_transactions_3d + - max_num_transactions_1w + - max_num_transactions_1m + - max_num_transactions_3m + - max_num_transactions_6m + - max_num_transactions_12m + - mean_num_transactions_3d + - mean_num_transactions_1w + - mean_num_transactions_1m + - mean_num_transactions_3m + - mean_num_transactions_6m + - mean_num_transactions_12m + - num_incoming_transactions_3d + - num_incoming_transactions_1w + - num_incoming_transactions_1m + - num_incoming_transactions_3m + - num_incoming_transactions_6m + - num_incoming_transactions_12m + - max_num_incoming_transactions_3d + - max_num_incoming_transactions_1w + - max_num_incoming_transactions_1m + - max_num_incoming_transactions_3m + - max_num_incoming_transactions_6m + - max_num_incoming_transactions_12m + - mean_num_incoming_transactions_3d + - mean_num_incoming_transactions_1w + - mean_num_incoming_transactions_1m + - mean_num_incoming_transactions_3m + - mean_num_incoming_transactions_6m + - mean_num_incoming_transactions_12m + - sum_incoming_amount_3d + - sum_incoming_amount_1w + - sum_incoming_amount_1m + - sum_incoming_amount_3m + - sum_incoming_amount_6m + - sum_incoming_amount_12m + - max_incoming_amount_3d + - max_incoming_amount_1w + - max_incoming_amount_1m + - max_incoming_amount_3m + - max_incoming_amount_6m + - max_incoming_amount_12m + - mean_incoming_amount_3d + - mean_incoming_amount_1w + - mean_incoming_amount_1m + - mean_incoming_amount_3m + - mean_incoming_amount_6m + - mean_incoming_amount_12m + - num_outgoing_transactions_3d + - num_outgoing_transactions_1w + - num_outgoing_transactions_1m + - num_outgoing_transactions_3m + - num_outgoing_transactions_6m + - num_outgoing_transactions_12m + - max_num_outgoing_transactions_3d + - max_num_outgoing_transactions_1w + - max_num_outgoing_transactions_1m + - max_num_outgoing_transactions_3m + - max_num_outgoing_transactions_6m + - max_num_outgoing_transactions_12m + - mean_num_outgoing_transactions_3d + - mean_num_outgoing_transactions_1w + - mean_num_outgoing_transactions_1m + - mean_num_outgoing_transactions_3m + - mean_num_outgoing_transactions_6m + - mean_num_outgoing_transactions_12m + - sum_outgoing_amount_3d + - sum_outgoing_amount_1w + - sum_outgoing_amount_1m + - sum_outgoing_amount_3m + - sum_outgoing_amount_6m + - sum_outgoing_amount_12m + - max_outgoing_amount_3d + - max_outgoing_amount_1w + - max_outgoing_amount_1m + - max_outgoing_amount_3m + - max_outgoing_amount_6m + - max_outgoing_amount_12m + - mean_outgoing_amount_3d + - mean_outgoing_amount_1w + - mean_outgoing_amount_1m + - mean_outgoing_amount_3m + - mean_outgoing_amount_6m + - mean_outgoing_amount_12m + - days_without_transactions_3d + - days_without_transactions_1w + - days_without_transactions_1m + - days_without_transactions_3m + - days_without_transactions_6m + - days_without_transactions_12m + - days_since_last_transaction + - days_since_last_incoming_transaction + - days_since_last_outgoing_transaction + - days_history + properties: + num_transactions_3d: + type: integer + format: int32 + default: 0 + description: > + The total number of transactions analyzed to determine the risk + insights for the last three days (incoming and outgoing). + example: 26 + num_transactions_1w: + type: integer + format: int32 + default: 0 + description: > + The total number of transactions analyzed to determine the risk + insights for the last week (incoming and outgoing). + example: 46 + num_transactions_1m: + type: integer + format: int32 + default: 0 + description: > + The total number of transactions analyzed to determine the risk + insights for the last month (incoming and outgoing). + example: 168 + num_transactions_3m: + type: integer + format: int32 + default: 0 + description: > + The total number of transactions analyzed to determine the risk + insights for the last three months (incoming and outgoing). + example: 460 + num_transactions_6m: + type: integer + format: int32 + default: 670 + description: > + The total number of transactions analyzed to determine the risk + insights for the last six months (incoming and outgoing). + example: 472 + num_transactions_12m: + type: integer + format: int32 + default: 0 + description: > + The total number of transactions analyzed to determine the risk + insights for the last twelve months (incoming and outgoing). + example: 496 + max_num_transactions_3d: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last three days. + example: 10 + max_num_transactions_1w: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last week. + example: 10 + max_num_transactions_1m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last month. + example: 18 + max_num_transactions_3m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last three months. + example: 18 + max_num_transactions_6m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last six months. + example: 18 + max_num_transactions_12m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of transactions for the last twelve months. + example: 18 + mean_num_transactions_3d: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last three days. + example: 6.5 + mean_num_transactions_1w: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last week. + example: 5.75 + mean_num_transactions_1m: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last month. + example: 5.42 + mean_num_transactions_3m: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last three months. + example: 5.05 + mean_num_transactions_6m: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last six months. + example: 2.61 + mean_num_transactions_12m: + type: number + format: float + default: 0 + description: | + The mean number of transactions for the last twelve months. + example: 1.37 + num_incoming_transactions_3d: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last three days. + example: 12 + num_incoming_transactions_1w: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last week. + example: 21 + num_incoming_transactions_1m: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last month. + example: 80 + num_incoming_transactions_3m: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last three months. + example: 229 + num_incoming_transactions_6m: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last six months. + example: 238 + num_incoming_transactions_12m: + type: integer + format: int32 + default: 0 + description: | + The total number of inflow transactions for the last twelve months. + example: 256 + max_num_incoming_transactions_3d: + type: integer + format: int32 + default: 0 + description: | + The maximum number of inflow transactions for the last three days. + example: 6 + max_num_incoming_transactions_1w: + type: integer + format: int32 + default: 0 + description: | + The maximum number of inflow transactions for the last week. + example: 6 + max_num_incoming_transactions_1m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of inflow transactions for the last month. + example: 10 + max_num_incoming_transactions_3m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of inflow transactions for the last three months. + example: 10 + max_num_incoming_transactions_6m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of inflow transactions for the last six months. + example: 10 + max_num_incoming_transactions_12m: + type: integer + format: int32 + default: 0 + description: > + The maximum number of inflow transactions for the last twelve + months. + example: 10 + mean_num_incoming_transactions_3d: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last three days. + example: 3 + mean_num_incoming_transactions_1w: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last week. + example: 2.62 + mean_num_incoming_transactions_1m: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last month. + example: 2.58 + mean_num_incoming_transactions_3m: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last three months. + example: 2.52 + mean_num_incoming_transactions_6m: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last six months. + example: 1.31 + mean_num_incoming_transactions_12m: + type: number + format: float + default: 0 + description: | + The mean number of inflow transactions for the last twelve months. + example: 0.71 + sum_incoming_amount_3d: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last three days. + example: 17142.16 + sum_incoming_amount_1w: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last week. + example: 24825.92 + sum_incoming_amount_1m: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last month. + example: 75993.36 + sum_incoming_amount_3m: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last three months. + example: 198197.28 + sum_incoming_amount_6m: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last six months. + example: 223697.28 + sum_incoming_amount_12m: + type: number + nullable: true + format: float + description: | + The total sum of all inflow transactions for the last twelve months. + example: 274697.28 + max_incoming_amount_3d: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last three days. + example: 3000 + max_incoming_amount_1w: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last week. + example: 3000 + max_incoming_amount_1m: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last month. + example: 3000 + max_incoming_amount_3m: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last three months. + example: 3000 + max_incoming_amount_6m: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last six months. + example: 3000 + max_incoming_amount_12m: + type: number + nullable: true + format: float + description: | + The highest value inflow transaction in the last twelve months. + example: 3000 + mean_incoming_amount_3d: + type: number + nullable: true + format: float + description: | + The mean incoming value of all transactions in the last three days. + example: 1428.51 + mean_incoming_amount_1w: + type: number + nullable: true + format: float + description: | + The mean incoming value of all transactions in the last week. + example: 1182.19 + mean_incoming_amount_1m: + type: number + nullable: true + format: float + description: | + The mean incoming value of all transactions in the last month. + example: 949.92 + mean_incoming_amount_3m: + type: number + nullable: true + format: float + description: > + The mean incoming value of all transactions in the last three + months. + example: 865.49 + mean_incoming_amount_6m: + type: number + nullable: true + format: float + description: | + The mean incoming value of all transactions in the last six months. + example: 939.9 + mean_incoming_amount_12m: + type: number + nullable: true + format: float + description: > + The mean incoming value of all transactions in the last twelve + months. + example: 1073.04 + num_outgoing_transactions_3d: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last three days. + example: 14 + num_outgoing_transactions_1w: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last week. + example: 25 + num_outgoing_transactions_1m: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last month. + example: 88 + num_outgoing_transactions_3m: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last three months. + example: 231 + num_outgoing_transactions_6m: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last six months. + example: 234 + num_outgoing_transactions_12m: + type: integer + format: int32 + default: 0 + description: | + To total number of outflow transactions in the last twelve months. + example: 240 + max_num_outgoing_transactions_3d: + type: integer + format: int32 + default: 0 + description: | + The maximum number of outflow transactions for the last three days. + example: 6 + max_num_outgoing_transactions_1w: + type: integer + format: int32 + default: 0 + description: | + The maximum number of outflow transactions for the last week. + example: 6 + max_num_outgoing_transactions_1m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of outflow transactions for the last month. + example: 8 + max_num_outgoing_transactions_3m: + type: integer + format: int32 + default: 0 + description: > + The maximum number of outflow transactions for the last three + months. + example: 9 + max_num_outgoing_transactions_6m: + type: integer + format: int32 + default: 0 + description: | + The maximum number of outflow transactions for the last six months. + example: 9 + max_num_outgoing_transactions_12m: + type: integer + format: int32 + default: 0 + description: > + The maximum number of outflow transactions for the last twelve + months. + example: 9 + mean_num_outgoing_transactions_3d: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last three days. + example: 3.5 + mean_num_outgoing_transactions_1w: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last week. + example: 3.12 + mean_num_outgoing_transactions_1m: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last month. + example: 2.84 + mean_num_outgoing_transactions_3m: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last three months. + example: 2.54 + mean_num_outgoing_transactions_6m: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last six months. + example: 1.29 + mean_num_outgoing_transactions_12m: + type: number + format: float + default: 0 + description: | + The mean number of outflow transactions for the last twelve months. + example: 0.66 + sum_outgoing_amount_3d: + type: number + nullable: true + format: float + description: | + The total sum of all outflow transactions for the last three days. + example: 18246.95 + sum_outgoing_amount_1w: + type: number + nullable: true + format: float + description: | + The total sum of all outflow transactions for the last week. + example: 26362.25 + sum_outgoing_amount_1m: + type: number + nullable: true + format: float + description: | + The total sum of all outflow transactions for the last month. + example: 78243.82 + sum_outgoing_amount_3m: + type: number + nullable: true + format: float + description: | + The total sum of all outflow transactions for the last three months. + example: 192608.77 + sum_outgoing_amount_6m: + type: number + nullable: true + format: float + description: | + The total sum of all outflow transactions for the last six months. + example: 201608.77 + sum_outgoing_amount_12m: + type: number + nullable: true + format: float + description: > + The total sum of all outflow transactions for the last twelve + months. + example: 219608.77 + max_outgoing_amount_3d: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last three days. + example: 3000 + max_outgoing_amount_1w: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last week. + example: 3000 + max_outgoing_amount_1m: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last month. + example: 3000 + max_outgoing_amount_3m: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last three months. + example: 3000 + max_outgoing_amount_6m: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last six months. + example: 3000 + max_outgoing_amount_12m: + type: number + nullable: true + format: float + description: | + The highest value outflow transaction in the last twelve months. + example: 3000 + mean_outgoing_amount_3d: + type: number + nullable: true + format: float + description: | + The mean outgoing value of all transaction in the last three days. + example: 1303.35 + mean_outgoing_amount_1w: + type: number + nullable: true + format: float + description: | + The mean outgoing value of all transaction in the last week. + example: 1054.49 + mean_outgoing_amount_1m: + type: number + nullable: true + format: float + description: | + The mean outgoing value of all transaction in the last month. + example: 889.13 + mean_outgoing_amount_3m: + type: number + nullable: true + format: float + description: | + The mean outgoing value of all transaction in the last three months. + example: 833.8 + mean_outgoing_amount_6m: + type: number + nullable: true + format: float + description: | + The mean outgoing value of all transaction in the last six months. + example: 861.58 + mean_outgoing_amount_12m: + type: number + nullable: true + format: float + description: > + The mean outgoing value of all transaction in the last twelve + months. + example: 915.04 + days_without_transactions_3d: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last + three days. + example: 0 + days_without_transactions_1w: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last + week. + example: 0 + days_without_transactions_1m: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last + month. + example: 0 + days_without_transactions_3m: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last + three months. + example: 0 + days_without_transactions_6m: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last six + months. + example: 87 + days_without_transactions_12m: + type: integer + format: int32 + default: 0 + description: > + The number of days that no transactions occurred within the last + twelve months. + example: 261 + days_since_last_transaction: + type: integer + format: int32 + default: 0 + description: | + The number of days since the last transaction occurred. + example: 0 + days_since_last_incoming_transaction: + type: integer + format: int32 + default: 0 + description: | + The number of days since the last inflow transaction occurred. + example: 0 + days_since_last_outgoing_transaction: + type: integer + format: int32 + default: 0 + description: | + The number of days since the last outflow transaction occurred. + example: 0 + days_history: + type: integer + format: int32 + default: 0 + description: > + The number of days between when the risk insight request was made + and the first transaction. + example: 365 + RiskInsightsCashflowMetrics: + type: object + nullable: true + description: > + Aggregate metrics calculated based on the user's transactions from + checking, savings, credit, and loan accounts. However, internal + transfers (transfers between accounts belonging to the same link) are + not used in the calculation. + + + + > ℹ️ **Note** + + > + + > If there is not enough transactional data for a given period, we + return `null`. For example, if the account has only been open for 15 + days (or you have only provided data for just 15 days), we return values + for `_3d`, `_1w`, and `_1m`, however for `_3m` we will return `null` as + there is no data for months two and three. + required: + - max_positive_3d + - max_positive_1w + - max_positive_1m + - max_positive_3m + - max_positive_6m + - max_positive_12m + - max_negative_3d + - max_negative_1w + - max_negative_1m + - max_negative_3m + - max_negative_6m + - max_negative_12m + - mean_positive_3d + - mean_positive_1w + - mean_positive_1m + - mean_positive_3m + - mean_positive_6m + - mean_positive_12m + - mean_negative_3d + - mean_negative_1w + - mean_negative_1m + - mean_negative_3m + - mean_negative_6m + - mean_negative_12m + - sum_positive_3d + - sum_positive_1w + - sum_positive_1m + - sum_positive_3m + - sum_positive_6m + - sum_positive_12m + - sum_positive_trend_3d + - sum_positive_trend_1w + - sum_positive_trend_1m + - sum_positive_trend_3m + - sum_positive_trend_6m + - sum_positive_trend_12m + - sum_negative_3d + - sum_negative_1w + - sum_negative_1m + - sum_negative_3m + - sum_negative_6m + - sum_negative_12m + - sum_negative_trend_3d + - sum_negative_trend_1w + - sum_negative_trend_1m + - sum_negative_trend_3m + - sum_negative_trend_6m + - sum_negative_trend_12m + - positive_to_negative_ratio_3d + - positive_to_negative_ratio_1w + - positive_to_negative_ratio_1m + - positive_to_negative_ratio_3m + - positive_to_negative_ratio_6m + - positive_to_negative_ratio_12m + - net_cashflow_3d + - net_cashflow_1w + - net_cashflow_1m + - net_cashflow_3m + - net_cashflow_6m + - net_cashflow_12m + - net_cashflow_trend_3d + - net_cashflow_trend_1w + - net_cashflow_trend_1m + - net_cashflow_trend_3m + - net_cashflow_trend_6m + - net_cashflow_trend_12m + properties: + max_positive_3d: + type: number + nullable: true + format: float + description: > + The highest value of positive cash flow transactions in the last + three days. + example: 1850.12 + max_positive_1w: + type: number + nullable: true + format: float + description: | + The highest value of positive cash flow transactions the last week. + example: 3808.99 + max_positive_1m: + type: number + nullable: true + format: float + description: | + The highest value of positive cash flow transactions the last month. + example: 4012.61 + max_positive_3m: + type: number + nullable: true + format: float + description: > + The highest value of positive cash flow transactions the last three + months. + example: 5001.08 + max_positive_6m: + type: number + nullable: true + format: float + description: > + The highest value of positive cash flow transactions the last six + months. + example: 8500 + max_positive_12m: + type: number + nullable: true + format: float + description: > + The highest value of positive cash flow transactions the last twelve + months. + example: 8500 + max_negative_3d: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last + three days. + example: 3375.43 + max_negative_1w: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last + week. + example: 3375.43 + max_negative_1m: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last + month. + example: 5305.92 + max_negative_3m: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last + three months. + example: 7535.85 + max_negative_6m: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last six + months. + example: 7535.85 + max_negative_12m: + type: number + nullable: true + format: float + description: > + The highest value of negative cash flow transactions in the last + twelve months. + example: 7535.85 + mean_positive_3d: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + three days. + example: 1410.54 + mean_positive_1w: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + week. + example: 1665.74 + mean_positive_1m: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + month. + example: 1827.36 + mean_positive_3m: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + three months. + example: 1881.58 + mean_positive_6m: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + six months. + example: 2102.19 + mean_positive_12m: + type: number + nullable: true + format: float + description: > + The mean value of the positive cash flow transactions in the last + twelve months. + example: 2502.06 + mean_negative_3d: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + three days. + example: 3373.48 + mean_negative_1w: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + week. + example: 2477.04 + mean_negative_1m: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + month. + example: 1904.96 + mean_negative_3m: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + three months. + example: 1838.47 + mean_negative_6m: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + six months. + example: 1877.63 + mean_negative_12m: + type: number + nullable: true + format: float + description: > + The mean value of the negative cash flow transactions in the last + twelve months. + example: 1948.51 + sum_positive_3d: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last three days. + example: 5642.16 + sum_positive_1w: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last week. + example: 13325.92 + sum_positive_1m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last month. + example: 52993.36 + sum_positive_3m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last three months. + example: 163697.28 + sum_positive_6m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last six months. + example: 189197.28 + sum_positive_12m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a positive cash flow in + the last twelve months. + example: 240197.28 + sum_positive_trend_3d: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last three days. + example: 98.902 + sum_positive_trend_1w: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last week. + example: -84.0393 + sum_positive_trend_1m: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last month. + example: 22.7315 + sum_positive_trend_3m: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last three months. + example: 1.8398 + sum_positive_trend_6m: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last six months. + example: -17.1869 + sum_positive_trend_12m: + type: number + nullable: true + format: float + description: > + The positive cash flow trend based on the sum of all positive + transactions in the last twelve months. + example: -25.9856 + sum_negative_3d: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last three days. + example: 6746.95 + sum_negative_1w: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last week. + example: 14862.25 + sum_negative_1m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last month. + example: 55243.82 + sum_negative_3m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last three months. + example: 158108.77 + sum_negative_6m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last six months. + example: 167108.77 + sum_negative_12m: + type: number + nullable: true + format: float + description: > + The sum total of all transactions leading to a negative cash flow in + the last twelve months. + example: 185108.77 + sum_negative_trend_3d: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last three days. + example: -3.91 + sum_negative_trend_1w: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last week. + example: 254.2517 + sum_negative_trend_1m: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last month. + example: 58.376 + sum_negative_trend_3m: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last three months. + example: 2.5895 + sum_negative_trend_6m: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last six months. + example: -1.4824 + sum_negative_trend_12m: + type: number + nullable: true + format: float + description: > + The negative cash flow trend based on the sum of all negative + transactions in the last twelve months. + example: -4.2394 + positive_to_negative_ratio_3d: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last three days.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 0.84 + positive_to_negative_ratio_1w: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last week.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 0.9 + positive_to_negative_ratio_1m: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last month.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 0.96 + positive_to_negative_ratio_3m: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last three months.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 1.04 + positive_to_negative_ratio_6m: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last six months.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 1.13 + positive_to_negative_ratio_12m: + type: number + nullable: true + format: float + description: "The ratio between sum_positive / sum_negative in the last twelve months.\n\nℹ️\_If the ratio is greater than `1`, it means that the user has more income than outgoing, indicating that they spend less than they earn.\n\n**Note**: In the case that there have been no outgoing transactions, the value will be `null`.\n" + example: 1.3 + net_cashflow_3d: + type: number + nullable: true + format: float + description: | + The net cash flow in the last three days. + example: -1104.79 + net_cashflow_1w: + type: number + nullable: true + format: float + description: | + The net cash flow in the last week. + example: -1536.33 + net_cashflow_1m: + type: number + nullable: true + format: float + description: | + The net cash flow in the last month. + example: -2250.46 + net_cashflow_3m: + type: number + nullable: true + format: float + description: | + The net cash flow in the last three months. + example: 5588.51 + net_cashflow_6m: + type: number + nullable: true + format: float + description: | + The net cash flow in the last six months. + example: 22088.51 + net_cashflow_12m: + type: number + nullable: true + format: float + description: | + The net cash flow in the last twelve months. + example: 55088.51 + net_cashflow_trend_3d: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last three days months. + example: 1448.683 + net_cashflow_trend_1w: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last week. + example: 163.8856 + net_cashflow_trend_1m: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last month. + example: 1.3034 + net_cashflow_trend_3m: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last three months. + example: -0.472 + net_cashflow_trend_6m: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last six months. + example: -15.1286 + net_cashflow_trend_12m: + type: number + nullable: true + format: float + description: | + The net cash flow trend in the last twelve months. + example: -21.5511 + RiskInsightsCategoryMetrics: + type: object + properties: + category: + $ref: '#/components/schemas/EnumTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumTransactionSubcategory' + net_amount_3m: + type: number + nullable: true + format: float + description: >- + The net amount of the transactions for this category in the last + three months (calculated as the total incoming - total outgoing + transactions for this category). + example: 642.76 + category_inflow_ratio_3m: + type: number + nullable: true + format: float + description: > + The ratio of `net_amount_3m` divided by the sum of all incoming + categorized transactions (including the current category) for the + same period. + + + Note: If there are no inflow transactions for the period, this value + will return `null`. + example: 1 + trend_3m: + type: number + nullable: true + format: float + description: >- + The net category transaction trend (incoming - outgoing transactions + for the category) for the period. + example: 0 + RiskInsights: + type: object + required: + - id + - link + - created_at + - accounts + - assets_metrics + - transactions_metrics + - balances_metrics + - cashflow_metrics + - credit_cards_metrics + - loans_metrics + - category_metrics + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the risk insights request. + example: 076c66e5-90f5-4e01-99c7-50e32f65ae42 + link: + type: string + format: uuid + description: The `link.id` the risk insights analysis belongs to. + example: 30cb4806-6e00-48a4-91c9-ca55968576c8 + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-01T20:25:47.307911Z' + accounts: + type: array + nullable: true + description: >- + An array of Belvo-generated account numbers (UUIDs) that were used + during the risk insights analysis. If no accounts were found, we + return an empty array. + items: + type: string + format: uuid + description: The Belvo-generated ID for the account. + example: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + example: + - 0d3ffb69-f83b-456e-ad8e-208d0998d71d + - 00293c8e-1152-440b-9892-3c071fb88672 + - cf638fba-ef45-4c10-bc6f-adecc4b2bf4e + - 3861a5da-ae9b-4f20-a632-a9294489d5ac + - 1f60315b-236d-498e-be7a-92bc613d329b + - a2c8da63-ed51-41e6-891a-4ae7e784463a + assets_metrics: + $ref: '#/components/schemas/RiskInsightsAssetMetrics' + credit_cards_metrics: + $ref: '#/components/schemas/RiskInsightsCreditCardMetrics' + loans_metrics: + $ref: '#/components/schemas/RiskInsightsLoansMetrics' + balances_metrics: + $ref: '#/components/schemas/RiskInsightsBalanceMetrics' + transactions_metrics: + $ref: '#/components/schemas/RiskInsightsTransactionMetrics' + cashflow_metrics: + $ref: '#/components/schemas/RiskInsightsCashflowMetrics' + category_metrics: + type: array + description: > + An array of aggregate metrics regarding the transaction categories + and subcategories that Belvo has identified within the user's + transaction history. + + + In the array, Belvo only returns categories that have been + identified. + items: + $ref: '#/components/schemas/RiskInsightsCategoryMetrics' + RiskInsightsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of risk insights objects. + items: + $ref: '#/components/schemas/RiskInsights' + EnumTaxRetentionReceiverNationality: + type: string + nullable: true + enum: + - NATIONAL + - FOREIGN + description: > + Whether the invoice receiver is a Mexican national or not. If the + receiver is not considered a Mexican national, the retained taxes can be + calculated differently. Possible values: + - `NATIONAL` + - `FOREIGN` + example: NATIONAL + EnumTaxRetentionPaymentStatus: + type: string + nullable: true + enum: + - PAID + - PROVISIONED + description: | + Indicates whether or not the tax has been paid or not. Can be either: + - `PAID` + - `PROVISIONED` + example: PAID + RetentionBreakdown: + type: object + required: + - base_amount + - tax_type + - retained_amount + - payment_status + description: A breakdown of the retained taxes + properties: + base_amount: + type: number + nullable: true + format: float + description: | + The base amount that was used to calculate the tax retention. + example: 0.03 + tax_type: + type: string + nullable: true + description: > + Optional attribute to indicate the type of tax withheld for the + period or year according to the [SAT + catalog](https://developers.belvo.com/docs/sat-catalogs#retention-code). + example: '01' + retained_amount: + type: number + nullable: true + format: float + description: | + The amount retained. + example: 0 + payment_status: + $ref: '#/components/schemas/EnumTaxRetentionPaymentStatus' + TaxRetentions: + type: object + required: + - collected_at + - invoice_identification + - version + - code + - issued_at + - certified_at + - cancelled_at + - sender_id + - sender_name + - receiver_nationality + - receiver_id + - receiver_name + - total_invoice_amount + - total_taxable_amount + - total_exempt_amount + - total_retained_amount + - retention_breakdown + - xml + properties: + id: + type: string + format: uuid + description: >- + Belvo's unique identifier used to reference the current tax + retention statement. + example: c749315b-eec2-435d-a458-06912878564f + link: + type: string + format: uuid + description: The `link.id` the tax retention belongs to. + example: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp of when the data point was collected. + example: '2022-02-09T08:45:50.406032Z' + created_at: + type: string + format: date-time + description: > + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2022-02-09T08:46:20.406032Z' + invoice_identification: + type: string + nullable: true + format: uuid + description: > + The fiscal institution's unique ID for the invoice that the tax + retention relates to. + example: def404af-5eef-4112-aa99-d1ec8493b89a + version: + type: string + nullable: true + description: | + The CFDI version of the tax retentions. + example: '1.0' + code: + type: integer + nullable: true + format: int32 + description: > + The tax retention code. For more information, see our [SAT Catalogs + DevPortal + article](https://developers.belvo.com/docs/sat-catalogs#retention-code). + example: 25 + issued_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp of when the tax retention was issued. + example: '2019-01-03T21:10:40.000Z' + certified_at: + type: string + nullable: true + format: date-time + description: | + The ISO-8601 timestamp of when the tax retention was certified. + example: '2019-01-03T21:10:41.000Z' + cancelled_at: + type: string + nullable: true + format: date-time + description: > + The ISO-8601 timestamp of when the tax retention was canceled (if + applicable). + example: null + sender_id: + type: string + nullable: true + description: | + The fiscal ID of the invoice sender. + example: JKUF980404P0 + sender_name: + type: string + nullable: true + description: | + The name of the invoice sender. + example: Roberto Nunez Batman + receiver_nationality: + $ref: '#/components/schemas/EnumTaxRetentionReceiverNationality' + receiver_id: + type: string + nullable: true + description: | + The fiscal ID of the invoice receiver. + example: GYGK3207809L1 + receiver_name: + type: string + nullable: true + description: | + The name of the invoice receiver. + example: ACME LTD + total_invoice_amount: + type: number + nullable: true + format: float + description: | + The total amount of the invoice that the tax retention relates to. + example: 53249.8 + total_exempt_amount: + type: number + nullable: true + format: float + description: | + Total amount that is exempt from taxation. + example: 1000.8 + total_retained_amount: + type: number + nullable: true + format: float + description: | + Total tax retained. + example: 1550.7 + total_taxable_amount: + type: number + nullable: true + format: float + description: > + The total amount that can be taxed. Calculated as + `total_invoice_amount` - `total_exempt_amount`. + example: 43249 + retention_breakdown: + type: array + nullable: true + description: | + A breakdown of the retained taxes. + items: + $ref: '#/components/schemas/RetentionBreakdown' + xml: + type: string + nullable: true + description: | + The tax retention document in XML form. + example: '=XML-STRING=' + TaxRetentionsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of tax retentions objects. + items: + $ref: '#/components/schemas/TaxRetentions' + EnumTaxRetentionType: + type: string + enum: + - OUTFLOW + - INFLOW + description: > + The type of tax retention in relation to the invoice (from the + perspective of the Link owner). + + + - `OUTFLOW` relates to a tax retention for a sent invoice. + + - `INFLOW` related to a tax retention for a received invoice. + example: INFLOW + TaxRetentionsRequest: + type: object + required: + - link + - date_from + - date_to + - type + properties: + link: + type: string + format: uuid + description: | + The `link.id` that you want to get information for. + example: 9e432f18-36ca-4bd6-a3f3-1971e58dc1e8 + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting tax retentions for, in + `YYYY-MM-DD` format. + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2020-01-01' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting tax retentions for, in + `YYYY-MM-DD` format. + + + ⚠️ The number of days between `date_from` and `date_to` cannot be + over 365. + example: '2020-02-01' + type: + $ref: '#/components/schemas/EnumTaxRetentionType' + attach_xml: + type: boolean + default: true + description: | + When set to `true`, you will receive the XML tax retention in the + response. + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + DocumentInformationIndividual: + type: object + required: + - name + - type + - form_number + - year + description: Object containing detailed information about the fiscal document. + properties: + name: + type: string + description: The name of the tax document. + example: >- + Declaracion de Renta y Complementario o de Ingresos y Patrimonio + para Personas Juridicas y Asimiladas y Personas Naturales y + Asimiladas no Residentes y Sucesiones Iliquidas de Causantes no + Residentes + type: + type: string + description: >- + The type of tax declaration form. For DIAN, this will be either + `110` or `210`. + example: '110' + form_number: + type: string + description: Institution-provided identifier for the tax declaration. + example: '2117680087604' + year: + type: integer + nullable: true + description: | + The year of this tax declaration. + example: 2021 + DocumentIdIndividual: + type: object + required: + - document_type + - document_number + description: Object containing information about the ID document of the tax payer. + properties: + document_type: + type: string + description: The type of ID document. + example: NIT + document_number: + type: string + description: The number of the ID document. + example: '7113223466' + ReportingId: + type: object + required: + - reporting_type + - reporting_value + description: >- + Object containing information about where the tax payer reports their + income. + properties: + reporting_type: + type: string + description: >- + The type of reporting ID. For DIAN, this is the sectional address + code (*Codigo Dirrecion Seccional*) + example: sectional_address_code + reporting_value: + type: string + description: The value of the reporting ID. + example: '32' + TaxPayerInformationIndividual: + type: object + required: + - first_last_name + - second_last_name + - first_name + - other_names + - main_economic_activity + - document_id + - reporting_id + description: Object containing information about the tax payer. + properties: + first_last_name: + type: string + description: The tax payer's first last name. + example: Restrepo + second_last_name: + type: string + description: The tax payer's second last name. + example: Vives + first_name: + type: string + description: The tax payer's first name. + example: Carlos + other_names: + type: string + description: Additional names of the tax payer. + example: Alberto + main_economic_activity: + type: string + description: The main economic activity the tax payer is involved in. + example: '0010' + document_id: + $ref: '#/components/schemas/DocumentIdIndividual' + reporting_id: + $ref: '#/components/schemas/ReportingId' + EquityStatementIndividual: + type: object + required: + - total_gross_equity + - total_debts + - total_net_equity + description: Object containing the general fiscal situation of the taxpayer. + properties: + total_gross_equity: + type: number + format: float + description: The total gross equity of the tax payer. + example: 4648000 + total_debts: + type: number + format: float + description: The total debts of the tax_payer + example: 77626000 + total_net_equity: + type: number + format: float + description: The total net equity value of the taxpayer. + example: 0 + GrossIncomeIndividual: + type: object + required: + - earned_income + - fee_based_income + - capital_income + - non_labor_income + description: Object containing the declared gross income of the tax payer. + properties: + earned_income: + type: number + format: float + description: Income received from employment. + example: 115004000 + fee_based_income: + type: number + format: float + description: >- + Income received from emitted invoices (for example, income that + independent contractors or freelancers receive). + example: 0 + capital_income: + type: number + format: float + description: >- + Income received from an investment (such as dividends or from + renting a property). + example: 0 + non_labor_income: + type: number + format: float + description: >- + Income that cannot be classified into the other three fields (such + as income from cryptocurrencies or regular transfers from parents). + example: 0 + NonTaxableIncomeIndividual: + type: object + required: + - earned_income + - fee_based_income + - capital_income + - non_labor_income + description: Object containing the declared non-taxable income of the tax payer. + properties: + earned_income: + type: number + format: float + description: Income received from employment. + example: 115004000 + fee_based_income: + type: number + format: float + description: >- + Income received from emitted invoices (for example, income + independent contractors or freelancers receive). + example: 0 + capital_income: + type: number + format: float + description: >- + Income received from an investment (such as dividends or from + renting a property). + example: 0 + non_labor_income: + type: number + format: float + description: >- + Income that cannot be classified into the other three fields (such + as income from cryptocurrencies or regular transfers from parents). + example: 0 + NetIncomeIndividual: + type: object + required: + - earned_income + - fee_based_income + - capital_income + - non_labor_income + description: >- + Object containing the declared net income of the tax payer. The values + are calculated as the `gross_income` - `non_taxable_income`. + properties: + earned_income: + type: number + format: float + description: Income received from employment. + example: 115004000 + fee_based_income: + type: number + format: float + description: >- + Income received from emitted invoices (for example, income + independent contractors or freelancers receive). + example: 0 + capital_income: + type: number + format: float + description: >- + Income received from an investment (such as dividends or from + renting a property). + example: 0 + non_labor_income: + type: number + format: float + description: >- + Income that cannot be classified into the other three fields (such + as income from cryptocurrencies or regular transfers from parents). + example: 0 + AnnualTotalsIndividual: + type: object + required: + - total_exempt_income + - total_applicable_deductions + - total_exemptions_and_deductions + - total_ordinary_net_income + description: >- + Object containing the tax payers total exempt, deducted, and ordinary + net incomes. + properties: + total_exempt_income: + type: number + format: float + description: Total income that is not taxable, according to the institution. + example: 115004000 + total_applicable_deductions: + type: number + format: float + description: >- + Total deductions that the taxpayer can apply to their income, + according to the institution. + example: 0 + total_exemptions_and_deductions: + type: number + format: float + description: >- + Sum total of all exempt and deductions that can be applied to the + taxpayer's income. + example: 0 + total_ordinary_net_income: + type: number + format: float + description: >- + Sum total of the taxpayer's income (gross income - exemptions - + deductions). + example: 0 + AnnualIncomeStatementIndividual: + type: object + required: + - gross_income + - non_taxable_income + - net_income + - annual_totals + description: >- + Object containing the reported annual incomes, deductions, and final + balances of the tax payer. + properties: + gross_income: + $ref: '#/components/schemas/GrossIncomeIndividual' + non_taxable_income: + $ref: '#/components/schemas/NonTaxableIncomeIndividual' + net_income: + $ref: '#/components/schemas/NetIncomeIndividual' + annual_totals: + $ref: '#/components/schemas/AnnualTotalsIndividual' + PensionIncomeStatementIndividual: + type: object + required: + - net_pension_income + - net_taxable_pension_income + description: Object containing the tax payer's total pension income. + properties: + net_pension_income: + type: number + format: float + description: The total net pension of the taxpayer. + example: 0 + net_taxable_pension_income: + type: number + format: float + description: The total taxable pension income of the taxpayer. + example: 0 + TaxAssessmentIndividual: + type: object + required: + - fortuitous_profit_tax + - total_tax_on_taxable_net_income + - net_income_tax + - total_tax_due + - previous_year_balance + - total_withheld_tax + - balance_payable + - balance_refundable + - total_payment + description: >- + Object containing the calculated tax assessment of the tax payer. This + includes the total taxable income, the income tax applied, and taxes + already withheld. + properties: + fortuitous_profit_tax: + type: number + format: float + description: >- + The tax applied on your unexpected income (such as lottery wins or + house sales). + example: 0 + total_tax_on_taxable_net_income: + type: number + format: float + description: >- + The calculated total tax that can be applied on the tax payer's + taxable income (total income - exemptions - deductions). + example: 9144000 + net_income_tax: + type: number + format: float + description: >- + After additional deductions that you can apply, this will be the net + income tax. If not further deduction are identified, this value will + be the same as `total_tax_on_taxable_net_income`. + example: 9144000 + total_tax_due: + type: number + format: float + description: >- + After further deductions, this is the final calculated tax that the + taxpayer is required to pay. + example: 9144000 + previous_year_balance: + type: number + format: float + description: > + Only applicable for DIAN. + + + + The amount the tax payer has as a "credit" fromt he previous year + (this is equal to the `balance_refundable`) of the previous year. + example: 1514000 + total_withheld_tax: + type: number + format: float + description: The total tax already withheld in the current fiscal year. + example: 7714000 + balance_payable: + type: number + format: float + description: How much the tax payer is required to pay. + example: 0 + balance_refundable: + type: number + format: float + description: >- + How much the tax payer is expected to receive. For DIAN, this will + count as credit for the next fiscal year (see + `previous_year_balance`). + example: 84000 + total_payment: + type: number + format: float + description: >- + The total the tax payer is required to pay, taking into account + deductions and fiscal credits. + example: 0 + TaxDeclarationIndividual: + type: object + title: Individual Tax Declaration + required: + - id + - link + - collected_at + - created_at + - document_information + - tax_payer_information + - equity_statement + - annual_income_statement + - pension_income_statement + - tax_assessment + - date_issued + - pdf + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the current tax declaration. + example: 1c83ead8-6665-429c-a17a-ddc76cb3a95e + link: + type: string + format: uuid + description: >- + Belvo's unique ID of the user that this tax declaration is + associated with. + example: 8a95ca1a-1a7a-4ce0-8599-f8ff1dc792ac + collected_at: + type: string + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + created_at: + type: string + format: date-time + description: >- + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2020-04-23T21:30:20.336854+00:00' + document_information: + $ref: '#/components/schemas/DocumentInformationIndividual' + tax_payer_information: + $ref: '#/components/schemas/TaxPayerInformationIndividual' + equity_statement: + $ref: '#/components/schemas/EquityStatementIndividual' + annual_income_statement: + $ref: '#/components/schemas/AnnualIncomeStatementIndividual' + pension_income_statement: + $ref: '#/components/schemas/PensionIncomeStatementIndividual' + tax_assessment: + $ref: '#/components/schemas/TaxAssessmentIndividual' + date_issued: + type: string + format: date + description: The date the tax declaration was issued by the fiscal institution. + example: '2022-09-02' + pdf: + type: string + nullable: true + description: The PDF of the tax declaration, as a binary string. + example: '==BINARY-STRING==' + TaxDeclarationIndividualPaginated: + type: object + title: Tax Declaration Individual + additionalProperties: false + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Individual Tax Declaration objects. + items: + $ref: '#/components/schemas/TaxDeclarationIndividual' + DocumentInformationBusiness: + type: object + required: + - name + - type + - form_number + - year + description: Object containing detailed information about the fiscal document. + properties: + name: + type: string + description: The name of the tax document. + example: >- + Declaracion de Renta y Complementario o de Ingresos y Patrimonio + para Personas Juridicas y Asimiladas y Personas Naturales y + Asimiladas no Residentes y Sucesiones Iliquidas de Causantes no + Residentes + type: + type: string + description: >- + The type of tax declaration form. For DIAN, this will be either + `110` or `210`. + example: '110' + form_number: + type: string + description: The institution-provided identifier for the tax declaration. + example: '2117680087604' + year: + type: integer + nullable: true + description: | + The year of this tax declaration. + example: 2021 + DocumentIdBusiness: + type: object + required: + - document_type + - document_number + description: Object containing information about the ID document of the tax payer. + properties: + document_type: + type: string + description: The type of ID document. + example: NIT + document_number: + type: string + description: The number of the ID document. + example: '8312224477' + TaxPayerInformationBusiness: + type: object + required: + - first_last_name + - second_last_name + - first_name + - other_names + - company_name + - main_economic_activity + - document_id + - reporting_id + description: Object containing information about the tax payer. + properties: + first_last_name: + type: string + nullable: true + description: The tax payer's first last name. + example: Restrepo + second_last_name: + type: string + nullable: true + description: The tax payer's second last name. + example: Vives + first_name: + type: string + nullable: true + description: The tax payer's first name. + example: Carlos + other_names: + type: string + nullable: true + description: Additional names of the tax payer. + example: Alberto + company_name: + type: string + description: The name of the company, as registered at the institution. + example: Trusty Spanners + main_economic_activity: + type: string + description: The main economic activity the tax payer is involved in. + example: '0032' + document_id: + $ref: '#/components/schemas/DocumentIdBusiness' + reporting_id: + $ref: '#/components/schemas/ReportingId' + EquityStatementBusiness: + type: object + required: + - cash_and_cash_equivalents + - investments_and_derivative_financial_instruments + - accounts_documents_and_finance_leases_receivable + - inventory + - property_plant_and_equipment_investment_properties + - total_gross_equity + - debts + - total_net_equity + description: Object containing the general fiscal situation of the taxpayer. + properties: + cash_and_cash_equivalents: + type: number + format: float + description: >- + Total cash (or cash equivalents) that the business currently holds + at the end of the fiscal year. + example: 4648000 + investments_and_derivative_financial_instruments: + type: number + format: float + description: >- + Total value of all investments, stocks, or similar, that the company + has. + example: 77626000 + accounts_documents_and_finance_leases_receivable: + type: number + format: float + description: >- + Total of all payments the company expects to receive (for example, + from partial invoices that have not been paid yet). + example: 0 + inventory: + type: number + format: float + description: Total financial value of the company's sellable inventory. + example: 0 + property_plant_and_equipment_investment_properties: + type: number + format: float + description: >- + Total value of real estate, plant infrastructure, or equipment that + has been purchased. + example: 0 + total_gross_equity: + type: number + format: float + description: Total gross equity. + example: 220860000 + debts: + type: number + format: float + description: Total debts that the company currently has. + example: 207030000 + total_net_equity: + type: number + format: float + description: >- + The total net equity of the company (`total_gross_equity` - + `debts`). + example: 13830000 + AnnualIncomeStatementBusiness: + type: object + required: + - gross_income_from_ordinary_activities + - dividends + - other_income + - total_gross_income + - returns_rebates_and_discounts_on_sales + - total_net_income + description: >- + Object containing the reported annual incomes, deductions, and final + balances of the tax payer. + properties: + gross_income_from_ordinary_activities: + type: number + format: float + description: >- + Total gross income that the company generated from their main + economic activity. + example: 210043000 + dividends: + type: number + format: float + description: Total income that the company generated from dividends. + example: 0 + other_income: + type: number + format: float + description: >- + Total income that the company generated from activities not + associated with their main economic activity. + example: 0 + total_gross_income: + type: number + format: float + description: Total gross income the company generated. + example: 210043000 + returns_rebates_and_discounts_on_sales: + type: number + format: float + description: >- + Total value of cancelled orders, corrected invoices, or similar, + that can be discounted from the `total_gross_income`. + example: 0 + total_net_income: + type: number + format: float + description: >- + Total net income of the company, taking into account + `returns_rebates_and_discounts_on_sales`. + example: 210043000 + AnnualCostsAndDeductionsStatementBusiness: + type: object + required: + - costs + - administration_expenses + - distribution_and_sales_expenses + - financial_expenses + - total_costs_and_deductible_expenses + description: Object containing the reported annual costs and applicable deductions. + properties: + costs: + type: number + format: float + description: Total costs for the company to operate. + example: 1881843000 + administration_expenses: + type: number + format: float + description: >- + Total costs of the company related to training, company offsites, or + similar. + example: 3266000 + distribution_and_sales_expenses: + type: number + format: float + description: >- + Total costs the company incurred in order to distribute or sell + their product. + example: 0 + financial_expenses: + type: number + format: float + description: >- + Total value of any fees incurred by the company to operate (such as + bank fees). + example: 0 + total_costs_and_deductible_expenses: + type: number + format: float + description: Total value of all costs and dedictible expenses. + example: 191449000 + TaxAssessmentBusiness: + type: object + required: + - net_income_taxable + - fortuitous_profit_tax + - total_tax_on_taxable_net_income + - net_income_tax + - total_tax_due + - total_withholdings_for_the_taxable_year_to_be_declared + - total_withheld_tax + - total_balance_payable + - total_balance_in_favor + - total_payment + description: >- + Object containing the calculated tax assessment of the tax payer. This + includes the total taxable income, the income tax applied, and taxes + already withheld. + properties: + net_income_taxable: + type: number + format: float + description: The net income on which tax can be applied. + example: 18594000 + fortuitous_profit_tax: + type: number + format: float + description: >- + The tax applied on your unexpected income (such as lottery wins or + house sales). + example: 0 + total_tax_on_taxable_net_income: + type: number + format: float + description: >- + The calculated total tax that can be applied on the tax payer's + taxable income (total income - exemptions - deductions). + example: 5764000 + net_income_tax: + type: number + format: float + description: >- + After additional deductions that you can apply, this will be the net + income tax. If no further deduction are identified, this value will + be the same as `total_tax_on_taxable_net_income`. + example: 5764000 + total_tax_due: + type: number + format: float + description: >- + After further deductions, this is the final calculated tax that the + taxpayer is required to pay. + example: 5764000 + total_withholdings_for_the_taxable_year_to_be_declared: + type: number + format: float + description: How much the tax payer has already paid througout the fiscal year. + example: 7361000 + total_balance_payable: + type: number + format: float + description: How much the tax payer is required to pay. + example: 0 + total_balance_in_favor: + type: number + format: float + description: How much the tax payer is expected to receive. + example: 1889000 + total_payment: + type: number + format: float + description: >- + The total the tax payer is required to pay, taking into account + deductions and fiscal credits. + example: 0 + TaxDeclarationBusiness: + type: object + title: Business Tax Declaration + required: + - id + - link + - collected_at + - created_at + - document_information + - tax_payer_information + - equity_statement + - annual_income_statement + - annual_costs_and_deductions_statement + - tax_assessment + - date_issued + - pdf + properties: + id: + type: string + format: uuid + description: Belvo's unique ID for the current tax declaration. + example: 1c83ead8-6665-429c-a17a-ddc76cb3a95e + link: + type: string + format: uuid + description: >- + Belvo's unique ID of the user that this tax declaration is + associated with. + example: 8a95ca1a-1a7a-4ce0-8599-f8ff1dc792ac + collected_at: + type: string + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + created_at: + type: string + format: date-time + description: >- + The ISO-8601 timestamp of when the data point was last updated in + Belvo's database. + example: '2020-04-23T21:30:20.336854+00:00' + document_information: + $ref: '#/components/schemas/DocumentInformationBusiness' + tax_payer_information: + $ref: '#/components/schemas/TaxPayerInformationBusiness' + equity_statement: + $ref: '#/components/schemas/EquityStatementBusiness' + annual_income_statement: + $ref: '#/components/schemas/AnnualIncomeStatementBusiness' + annual_costs_and_deductions_statement: + $ref: '#/components/schemas/AnnualCostsAndDeductionsStatementBusiness' + tax_assessment: + $ref: '#/components/schemas/TaxAssessmentBusiness' + date_issued: + type: string + format: date + description: The date the tax declaration was issued by the fiscal institution. + example: '2022-09-02' + pdf: + type: string + nullable: true + description: The PDF of the tax declaration, as a binary string. + example: '==BINARY-STRING==' + TaxDeclarationBusinessPaginated: + type: object + title: Tax Declaration Business + additionalProperties: false + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of Business Tax Declaration objects. + items: + $ref: '#/components/schemas/TaxDeclarationBusiness' + TaxDeclarationsRequest: + type: object + title: Tax Declarations + description: Request body for tax declrarations + required: + - link + - type + - year_to + - year_from + properties: + link: + type: string + format: uuid + description: >- + The fiscal `link.id` you want specific tax declaration information + for. + example: d4617561-1c01-4b2f-83b6-a594f7b3bc57 + year_from: + type: string + description: > + The starting year you want to get tax declaration for, in `YYYY` + format. + example: '2018' + year_to: + type: string + description: > + The year you want to stop getting tax declaration for, in `YYYY` + format. + example: '2019' + attach_pdf: + type: boolean + default: false + description: > + When this is set to `true`, you will receive the PDF as a binary + string in + + the response. + example: false + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + example: true + EnumEmploymentRecordStatus: + type: string + nullable: true + enum: + - EMPLOYED + - UNEMPLOYED + description: > + Indicates whether or not the individual is currently `EMPLOYED` or + `UNEMPLOYED`. + example: EMPLOYED + EmploymentRecordEntitlement: + type: object + description: Details regarding the benefits the individual is entitled to. + properties: + entitled_to_health_insurance: + type: boolean + description: > + Indicated whether or not the individual is entitled to health + insurance. + example: true + entitled_to_company_benefits: + type: boolean + description: > + Indicates whether or not the individual is entitled to company + benefits. + example: true + valid_until: + type: string + nullable: true + format: date + description: > + Date until when the individual is covered by health insurance and/or + company benefits. If `null` the employee is currently working and no + end date is required. + example: null + status: + $ref: '#/components/schemas/EnumEmploymentRecordStatus' + EnumEmploymentRecordDocumentType: + type: string + nullable: true + enum: + - NSS + - CURP + description: > + The type of document related to the individual. We return one of the + following values: + + - `NSS` + - `CURP` + + example: NSS + EmploymentRecordDocumentId: + type: object + description: Details regarding the individual's ID documents. + properties: + document_type: + $ref: '#/components/schemas/EnumEmploymentRecordDocumentType' + document_number: + type: string + nullable: true + description: | + The ID document's number (as a string). + example: '10277663582' + EmploymentRecordPersonalData: + type: object + description: Details regarding the personal information of the individual. + properties: + official_name: + type: string + nullable: true + description: | + The legal name of the individual + example: Bruce Banner del Torro + first_name: + type: string + nullable: true + description: | + The first name of the individual. + example: Bruce + last_name: + type: string + nullable: true + description: | + The last name of the individual. + example: Banner del Torro + email: + type: string + nullable: true + deprecated: true + description: | + The email address of the individual. + example: bruce.banner@avengers.com + birth_date: + type: string + nullable: true + format: date + description: | + The date of birth of the individual, in `YYYY-MM-DD` format. + example: '2022-02-09' + entitlements: + $ref: '#/components/schemas/EmploymentRecordEntitlement' + document_ids: + type: array + description: Details regarding the individual's ID documents. + items: + $ref: '#/components/schemas/EmploymentRecordDocumentId' + EmploymentRecordSocialSecuritySummary: + type: object + description: Details regarding the individual's social security contributions. + properties: + weeks_redeemed: + type: integer + nullable: true + format: int32 + description: | + Number of weeks the individual needed to take out of their pension. + example: 0 + weeks_reinstated: + type: integer + nullable: true + format: int32 + description: > + Number of weeks the individual has paid back into their pension + (*AFORE*), after having redeemed them previously. + example: 0 + weeks_contributed: + type: integer + nullable: true + format: int32 + description: > + Number of weeks the individual has contributed to their social + security, based on the number of weeks the individual has worked + according to IMSS. + example: 188 + EnumEmploymentRecordStatusUpdateEvents: + type: string + enum: + - DISMISSED_RESIGNED + - SALARY_MODIFICATION + - HIRED + - VOLUNTARY_CONTRIBUTION + - ABSENCE + - SICK_LEAVE + description: > + The event that caused the change in employment status or salary. We + return one of the following values: + + - `DISMISSED_RESIGNED` + - `SALARY_MODIFICATION` + - `HIRED` + - `VOLUNTARY_CONTRIBUTION` + - `ABSENCE` + - `SICK_LEAVE` + + example: HIRED + EmploymentRecordEmploymentStatusUpdates: + type: object + description: Details regarding any employment changes of the individual. + properties: + event: + $ref: '#/components/schemas/EnumEmploymentRecordStatusUpdateEvents' + base_salary: + type: number + format: float + description: | + The base salary of the individual, current as of the `update_date`. + example: 1033.09 + update_date: + type: string + format: date + description: | + The date that the employment event occurred, in `YYYY-MM-DD` format. + example: '2021-09-01' + EmploymentRecordDetail: + type: object + description: Details regarding the individual's employment history. + properties: + collected_at: + type: string + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + employer: + type: string + description: | + The official name of the employer. + example: Batman Enterprises CDMX + employer_id: + type: string + description: | + The official ID of the employer, according to the country. + example: 780-BAT-88769-CDMX + start_date: + type: string + format: date + description: | + Date when employment started, in `YYYY-MM-DD` format. + example: '2019-10-10' + end_date: + type: string + nullable: true + format: date + description: | + Date when employment finished, in `YYYY-MM-DD` format. + example: '2019-12-31' + weeks_employed: + type: integer + format: int32 + description: | + Number of weeks that the individual was employed. + example: 12 + state: + type: string + description: > + In what geographical state the individual was employed, according to + the country. + example: DISTRITO FEDERAL + most_recent_base_salary: + type: number + format: float + description: > + The most recent base salary the individual earned. + + + For Mexico, this is the *daily* rate that the individual earned, + including the perks that the individual is entitled to throughout + the year. + example: 762.54 + monthly_salary: + type: number + format: float + description: > + The monthly salary of the individual, including any additional + perks. + currency: + type: string + description: | + The three-letter currency code in which the salary is paid. + example: MXN + employment_status_updates: + type: array + description: Details regarding any employment changes of the individual. + items: + $ref: '#/components/schemas/EmploymentRecordEmploymentStatusUpdates' + EmploymentRecordFile: + type: object + description: Additional PDF binary files relating to the individual's employment. + properties: + type: + type: string + description: | + The title of the document. + example: ReporteSemanasCotizadas_190123 + value: + type: string + nullable: true + description: > + The PDF binary of the file (as a string). + + + > **Note**: In our sandbox environment, this field will return + `null`. + example: '=PDF_BINARY=' + EmploymentRecord: + type: object + description: Employment record response payload + properties: + id: + type: string + format: uuid + description: >- + The unique identifier created by Belvo for the current IMSS + statement. + example: fef05fc8-7357-4a4a-9d29-55038ea31a04 + link: + type: string + format: uuid + description: The unique identifier created by Belvo for the current user. + example: 27c1d5cf-e8fb-433a-a2f7-d246de199c01 + created_at: + type: string + format: date-time + description: >- + The ISO-8601 timestamp of when the data point was initially created + in Belvo's database. + example: '2020-04-23T21:32:55.336854+00:00' + collected_at: + type: string + format: date-time + description: The ISO-8601 timestamp when the data point was collected. + example: '2020-04-23T21:32:55.336854+00:00' + report_date: + type: string + format: date + description: >- + The date when the employment record report was generated, in + `YYYY-MM-DD` format. + example: '2023-01-19' + internal_identification: + type: string + description: >- + Unique ID for user according to the institution. For IMSS Mexico, + this is the CURP. + example: BLPM951331IONVGR54 + personal_data: + $ref: '#/components/schemas/EmploymentRecordPersonalData' + social_security_summary: + $ref: '#/components/schemas/EmploymentRecordSocialSecuritySummary' + employment_records: + type: array + description: Details regarding the individual's employment history. + items: + $ref: '#/components/schemas/EmploymentRecordDetail' + files: + type: array + nullable: true + description: Additional PDF binary files relating to the individual's employment. + items: + $ref: '#/components/schemas/EmploymentRecordFile' + EmploymentRecordsPaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of employment record objects. + items: + $ref: '#/components/schemas/EmploymentRecord' + EmploymentRecordRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The `link.id` you want to retrieve employment records for. + example: d686c617-6d9e-4bc6-9801-5ac276ccb6a2 + attach_pdf: + type: boolean + default: false + description: > + When set to `true`, you will receive the PDF in binary format in the + response. + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + EnumIncomeVerificationAccountHolderType: + type: string + enum: + - INDIVIDUAL + description: | + The type of account holder. Can be: + + - `INDIVIDUAL` + example: INDIVIDUAL + EnumIncomeVerificationAccountCategory: + type: string + enum: + - CHECKING_ACCOUNT + - SAVINGS_ACCOUNT + description: | + The type of account. + + Can be either: + - `CHECKING_ACCOUNT` + - `SAVINGS_ACCOUNT` + example: CHECKING_ACCOUNT + EnumIncomeVerificationType: + type: string + nullable: true + enum: + - INFLOW + description: | + The direction of the transaction: + + - `INFLOW` indicates money coming into the account. + example: INFLOW + EyodIncomeVerificationBodyRequest: + type: object + required: + - transaction_id + - account_holder_type + - account_holder_id + - account_id + - account_category + - value_date + - description + - type + - amount + - currency + - institution + properties: + transaction_id: + type: string + description: Your unique ID for the income. + example: 3CWE4927CF15355 + account_holder_type: + $ref: '#/components/schemas/EnumIncomeVerificationAccountHolderType' + account_holder_id: + type: string + format: uuid + description: | + Your unique ID for the account holder, in UUID format. + example: a61bc801-9fa5-457b-88ad-850c96eaca30 + account_id: + type: string + description: | + Your unique ID for the account where the transaction occurred. + example: EBACA-89077589 + account_category: + $ref: '#/components/schemas/EnumIncomeVerificationAccountCategory' + value_date: + type: string + format: date + description: > + The date when the income transaction occurred, in `YYYY-MM-DD` + format. + example: '2022-11-18' + description: + type: string + description: | + The description of the income. + example: SALÁRIO MENSAL + type: + $ref: '#/components/schemas/EnumIncomeVerificationType' + amount: + type: number + format: float + description: | + The income amount. + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + type: string + description: | + The three-letter currency code of the income. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + example: BRL + institution: + type: string + description: > + The institution where the account is registered. + + + + **Note:** This is the name that you use in your system to identify + the institution. For example Erebor Retail Brasil Retail. + example: Erebor Retail Brasil + EyodIncomeVerificationRequest: + type: object + required: + - language + - transactions + properties: + language: + type: string + description: | + Two-letter ISO 639-1 code for the language of the transaction. + example: pt + transactions: + type: array + description: > + An array of transaction objects that you want enriched. + + + + **Note:** Each object corresponds to one, unique transaction and you + can send through up to 10,000 transactions per request. + items: + $ref: '#/components/schemas/EyodIncomeVerificationBodyRequest' + date_from: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date from which you want to start getting incomes for, in + `YYYY-MM-DD` format, within the last 365 days. When you use this + parameter, you must also send `date_to`. + + + + ⚠️ The value of `date_from` cannot be greater than `date_to`. + example: '2022-08-01' + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date you want to stop getting incomes for, in `YYYY-MM-DD` + format, within the last 365 days. When you use this parameter, you + must also send `date_from`. + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2022-12-30' + allowed_income_types: + type: array + description: The categories of the incomes you want to get information for. + items: + $ref: '#/components/schemas/EnumInvoiceAllowedIncomeTypesRequest' + minimum_confidence_level: + $ref: '#/components/schemas/EnumIncomeMinimumConfidenceLevelRequest' + IncomeEyod: + type: object + description: Income insights + required: + - account_holder_id + - income_streams + - income_source_type + - first_transaction_date + - last_transaction_date + - number_of_income_streams + - monthly_average + - monthly_average_regular + - monthly_average_irregular + - monthly_average_low_confidence + - monthly_average_medium_confidence + - monthly_average_high_confidence + - total_income_amount + - total_regular_income_amount + - total_low_confidence + - total_medium_confidence + - total_high_confidence + properties: + account_holder_id: + type: string + description: >- + The unique `account_holder_id` the account belongs to, as you + provided in the Income Verification request. + example: f4621548-2f9e-440e-9ebd-ae8decac8c02 + income_streams: + type: array + description: An array of enriched income stream objects. + items: + $ref: '#/components/schemas/IncomeStreamsBody' + income_source_type: + $ref: '#/components/schemas/EnumIncomeSourceType' + first_transaction_date: + type: string + nullable: true + format: date + description: > + The date when the first transaction occurred, in `YYYY-MM-DD` + format. + example: '2022-06-09' + last_transaction_date: + type: string + format: date + description: > + The date when when the last transaction occurred, in `YYYY-MM-DD` + format. + example: '2023-02-09' + number_of_income_streams: + type: integer + format: int32 + description: | + Number of total income streams analized. + example: 1 + monthly_average: + type: number + format: float + description: > + Average amount of income received per month across all the accounts + for the specific user. + example: 2500 + monthly_average_regular: + type: number + format: float + description: > + Average amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, or `WEEKLY`) received per month for the specific + user. + example: 2500 + monthly_average_irregular: + type: number + format: float + description: > + Average amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) received per month for the specific user. + example: 0 + monthly_average_low_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `LOW` confidence. + example: 0 + monthly_average_medium_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `MEDIUM` confidence. + example: 0 + monthly_average_high_confidence: + type: number + format: float + description: > + Average amount of income received per month for the specific user + with `HIGH` confidence. + example: 2500 + total_income_amount: + type: number + format: float + description: | + Total amount of all income received for the specific user. + example: 22500 + total_regular_income_amount: + type: number + format: float + description: > + Total amount of regular income (with a frequency of `MONTHLY`, + `FORTNIGHTLY`, `WEEKLY`) for the specific user. + example: 22500 + total_irregular_income_amount: + type: number + format: float + description: > + Total amount of irregular income (with a frequency of `SINGLE` or + `IRREGULAR`) for the specific user. + example: 0 + total_low_confidence: + type: number + format: float + description: | + Total amount of income for the specific user with `LOW` confidence. + example: 0 + total_medium_confidence: + type: number + format: float + description: > + Total amount of income for the specific user with `MEDIUM` + confidence. + example: 0 + total_high_confidence: + type: number + format: float + description: | + Total amount of income for the specific user with `HIGH` confidence. + example: 22500 + 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 403 access_to_resource_denied. + example: access_to_resource_denied + message: + type: string + description: | + A short description of the error. + + + For `access_to_resource_denied` errors, the description is: + + - `You don't have access to this resource.`. + example: You don't have access to this resource. + 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 + EnumCategorizationAccountHolderType: + type: string + enum: + - INDIVIDUAL + - BUSINESS + description: | + The type of account holder. + + Can be either: + + - `INDIVIDUAL` + - `BUSINESS` + example: INDIVIDUAL + EnumCategorizationAccountCategory: + type: string + enum: + - CHECKING_ACCOUNT + - CREDIT_CARD + - LOAN_ACCOUNT + - SAVINGS_ACCOUNT + description: | + The type of account. + + Can be either: + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `LOAN_ACCOUNT` + - `SAVINGS_ACCOUNT` + example: CREDIT_CARD + EnumCategorizationTransactionType: + type: string + enum: + - INFLOW + - OUTFLOW + description: | + The direction of the transaction. + + Can be either: + + - `INFLOW` indicates a received transaction. + - `OUTFLOW` indicates a sent transaction. + example: OUTFLOW + CategorizationBodyRequest: + type: object + required: + - transaction_id + - account_holder_type + - account_holder_id + - account_id + - account_category + - value_date + - description + - type + - amount + - currency + - institution + properties: + transaction_id: + type: string + description: Your unique ID for the transaction. + example: 3CWE4927CF15355 + account_holder_type: + $ref: '#/components/schemas/EnumCategorizationAccountHolderType' + account_holder_id: + type: string + description: | + Your unique ID for the account holder. + example: '7890098789087' + account_id: + type: string + description: | + Your unique ID for the account where the transaction occurred. + example: EREB-89077589 + account_category: + $ref: '#/components/schemas/EnumCategorizationAccountCategory' + value_date: + type: string + format: date + description: | + The date when the transaction occurred, in `YYYY-MM-DD` format. + example: '2022-11-18' + description: + type: string + description: | + The description of the transaction. + example: APPL3STORE + type: + $ref: '#/components/schemas/EnumCategorizationTransactionType' + amount: + type: number + format: float + description: | + The transaction amount. + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + type: string + description: | + The currency of the account, in ISO-4217 format. For example: + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + example: BRL + institution: + type: string + description: > + The institution where the account is registered. + + + + >**Note:** This is the name that you use in your system to identify + an institution. + example: Erebor Retail Brasil + mcc: + type: integer + nullable: true + format: int32 + description: | + The four-digit ISO 18245 Merchant Category Code (MCC). + example: 2345 + CategorizationRequest: + type: object + required: + - language + - transactions + properties: + language: + type: string + description: | + Two-letter ISO 639-1 code for the language of the transaction. + example: pt + transactions: + type: array + description: > + An array of transaction objects that you want categorized. + + + + **Note:** Each object corresponds to one, unique transaction and you + can send through up to 10,000 transactions per request. + items: + $ref: '#/components/schemas/CategorizationBodyRequest' + EnumCategorizationTransactionCategory: + type: string + nullable: true + enum: + - Bills & Utilities + - Credits & Loans + - Deposits + - Fees & Charges + - Food & Groceries + - Home & Life + - Income & Payments + - Insurance + - Investments & Savings + - Online Platforms & Leisure + - Personal Shopping + - Taxes + - Transfers + - Transport & Travel + - Unknown + - Withdrawal & ATM + - null + description: > + The name of the category to which this transaction belongs. For more + info about this feature, check our [Transaction + categorization](https://developers.belvo.com/docs/banking#categorizing-transactions) + article. + + + We return one of the following enum values: + + - `Bills & Utilities` + - `Credits & Loans` + - `Deposits` + - `Fees & Charges` + - `Food & Groceries` + - `Home & Life` + - `Income & Payments` + - `Insurance` + - `Investments & Savings` + - `Online Platforms & Leisure` + - `Personal Shopping` + - `Taxes` + - `Transfers` + - `Transport & Travel` + - `Unknown` + - `Withdrawal & ATM` + - `null` + example: Income & Payments + EnumCategorizationTransactionSubcategory: + type: string + nullable: true + enum: + - Electricity & Energy + - Rent + - Telecommunications + - Water + - Auto + - Credit Card + - Instalment + - Interest & Charges + - Mortgage + - Pay Advance + - Personal + - Adjustments + - Bank Fees + - Chargeback + - Refund + - Blocked Balances + - Alimony + - Alcohol & Tobacco + - Bakery & Coffee + - Bars & Nightclubs + - Convenience Store + - Delivery + - Groceries + - Restaurants + - Education + - Gyms & Fitness + - Hair & Beauty + - Health + - Home Decor & Appliances + - Laundry & Dry Cleaning + - Pharmacies + - Professional Services + - Veterinary Services + - Freelance + - Interest + - Retirement + - Salary + - Government + - Home Insurance + - Auto Insurance + - Health & Life Insurance + - Savings + - Fixed income + - Equity + - Investment Funds + - Derivatives + - Cryptocurrencies + - Apps, Software and Cloud Services + - Events, Parks and Museums + - Gambling + - Gaming + - Lottery + - Movie & Audio + - Books & News + - Clothing & Accessories + - Department Store + - Electronics + - E-commerce + - Gifts + - Office Supplies + - Pet Supplies + - Auto Tax & Fees + - Donation + - Government Fees + - Income Tax + - Real Estate Tax & Fees + - Tax Return + - Accommodation + - Auto Expenses + - Auto Rental + - Flights + - Gas + - Mileage Programs + - Parking & Tolls + - Public Transit + - Taxis & Rideshares + - Other + - null + description: > + The transactions subcategory. For more info about this feature, check + our [Transaction + categorization](https://developers.belvo.com/docs/banking#categorizing-transactions) + article. + + + + We return one of the following enum values: + + - `Electricity & Energy` + - `Rent` + - `Telecommunications` + - `Water` + - `Auto` + - `Credit Card` + - `Instalment` + - `Interest & Charges` + - `Mortgage` + - `Pay Advance` + - `Personal` + - `Adjustments` + - `Bank Fees` + - `Chargeback` + - `Refund` + - `Blocked Balances` + - `Alimony` + - `Alcohol & Tobacco` + - `Bakery & Coffee` + - `Bars & Nightclubs` + - `Convenience Store` + - `Delivery` + - `Groceries` + - `Restaurants` + - `Education` + - `Gyms & Fitness` + - `Hair & Beauty` + - `Health` + - `Home Decor & Appliances` + - `Laundry & Dry Cleaning` + - `Pharmacies` + - `Professional Services` + - `Veterinary Services` + - `Freelance` + - `Interest` + - `Retirement` + - `Salary` + - `Government` + - `Home Insurance` + - `Auto Insurance` + - `Health & Life Insurance` + - `Savings` + - `Fixed income` + - `Equity` + - `Investment Funds` + - `Derivatives` + - `Cryptocurrencies` + - `Apps, Software and Cloud Services` + - `Events, Parks and Museums` + - `Gambling` + - `Gaming` + - `Lottery` + - `Movie & Audio` + - `Books & News` + - `Clothing & Accessories` + - `Department Store` + - `Electronics` + - `E-commerce` + - `Gifts` + - `Office Supplies` + - `Pet Supplies` + - `Auto Tax & Fees` + - `Donation` + - `Government Fees` + - `Income Tax` + - `Real Estate Tax & Fees` + - `Tax Return` + - `Accommodation` + - `Auto Expenses` + - `Auto Rental` + - `Flights` + - `Gas` + - `Mileage Programs` + - `Parking & Tolls` + - `Public Transit` + - `Taxis & Rideshares` + - `Other` + - `null` + example: Freelance + CategorizationMerchantData: + type: object + nullable: true + description: | + Additional data regarding the merchant involved in the transaction. + properties: + logo: + type: string + nullable: true + description: The URL to the merchant's logo. + example: >- + https://www.apple.com/ac/structured-data/images/open_graph_logo.png?202110180743 + website: + type: string + nullable: true + description: The URL to the merchant's website. + example: https://www.apple.com/br/ + merchant_name: + type: string + description: The name of the merchant. + example: Apple, Inc + CategorizationBody: + type: object + required: + - transaction_id + - account_holder_type + - account_holder_id + - account_id + - account_category + - value_date + - description + - type + - amount + - currency + - institution + - category + - merchant + properties: + transaction_id: + type: string + description: The unique ID for the transaction in your system. + example: 3CWE4927CF15355 + account_holder_type: + $ref: '#/components/schemas/EnumCategorizationAccountHolderType' + account_holder_id: + type: string + description: | + The unique ID for the account holder in your system. + example: '7890098789087' + account_id: + type: string + description: > + The unique ID for the account where the transaction occurred in your + system. + example: EREB-89077589 + account_category: + $ref: '#/components/schemas/EnumCategorizationAccountCategory' + value_date: + type: string + format: date + description: | + The date when the transaction occurred, in `YYYY-MM-DD` format. + example: '2022-11-18' + description: + type: string + description: | + The description of the transaction. + example: APPL3STORE + type: + $ref: '#/components/schemas/EnumCategorizationTransactionType' + amount: + type: number + format: float + description: | + The transaction amount. + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + type: string + description: |- + The currency of the account, in ISO-4217 format. For example: + - 🇧🇷 BRL (Brazilian Real) + - 🇨🇴 COP (Colombian Peso) + - 🇲🇽 MXN (Mexican Peso) + example: BRL + institution: + type: string + description: > + The institution where the account is registered. + + + + >**Note:** This is the name that you use in your system to identify + an institution. + + example: Erebor Brazil + mcc: + type: integer + nullable: true + format: int32 + description: | + The four-digit ISO 18245 Merchant Category Code (MCC). + example: 2345 + category: + $ref: '#/components/schemas/EnumCategorizationTransactionCategory' + subcategory: + $ref: '#/components/schemas/EnumCategorizationTransactionSubcategory' + merchant: + $ref: '#/components/schemas/CategorizationMerchantData' + Categorization: + type: object + properties: + transactions: + type: array + description: An array of enriched transaction objects. + items: + $ref: '#/components/schemas/CategorizationBody' + CreditScoreReasonCode: + type: object + description: An array of codes that explain the reason behind the credit score. + properties: + code: + type: string + pattern: '[A-Z][0-9]{2}' + description: | + The reason code for the credit score. + example: C06 + description: + type: string + minLength: 1 + maxLength: 160 + pattern: ^.{1,160}$ + description: | + A description of the reason code. + example: Out of Pattern transaction checking deposit day + CreditScore: + type: object + description: Credit Score response + properties: + id: + type: string + format: uuid + description: | + The unique ID for the credit score analysis. + example: a4e0d6f8-aa0b-45e4-9cd2-38cc741a64ad + user_id: + type: string + description: | + Your unique ID for the user. + example: AGH7890098789087 + created_at: + type: string + format: date-time + description: | + The ISO-8601 timestamp when the credit score analysis was created. + example: '2023-06-01T12:00:00.000Z' + score: + type: integer + format: int32 + description: | + The credit score of the user. + example: 400 + date_to: + type: string + format: date + description: > + The date that the credit score analysis ends, in `YYYY-MM-DD` + format. + example: '2023-06-01' + reason_codes: + type: array + minItems: 1 + description: An array of codes that explain the reason behind the credit score. + items: + $ref: '#/components/schemas/CreditScoreReasonCode' + CreditScorePaginatedResponse: + type: object + allOf: + - $ref: '#/components/schemas/common_pagination_properties' + - properties: + results: + type: array + description: Array of credit score objects. + items: + $ref: '#/components/schemas/CreditScore' + CreditScoreRequest: + type: object + required: + - link + properties: + link: + type: string + format: uuid + description: The `link.id` that you want to get information for. + example: 2ccd5e15-194a-4a19-a45a-e7223c7e6717 + date_to: + type: string + pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' + description: > + The date until when you want to calculate the credit score for, in + `YYYY-MM-DD` format. + + + If not provided, we calculate the credit score using from the time + of the request and use up to 365 days of data (if available). + + + + ⚠️ The value of `date_to` cannot be greater than today's date (in + other words, no future dates). + example: '2023-02-28' + save_data: + type: boolean + default: true + description: > + Indicates whether or not to persist the data in Belvo. By default, + this is set to `true` and we return a 201 Created response. + + + When set to `false`, the data won't be persisted and we return a 200 + OK response. + EnumRiskInsightTransactionType: + type: string + nullable: true + enum: + - INFLOW + - OUTFLOW + description: | + The direction of the transaction: + + - `INFLOW` indicates money coming into the account. + - `OUTFLOW` indicates money leaving the account. + example: INFLOW + EyodCreditScoreTransactionBody: + type: object + description: | + The EYOD Risk Insight transaction object + required: + - transaction_id + - account_id + - value_date + - type + - amount + - currency + - description + properties: + transaction_id: + type: string + description: Your unique ID for the transaction. + example: 3CWE4927CF15355 + account_id: + type: string + description: > + Your unique ID for the account where the transaction occurred. + + + **Note:** You must provide the details of this account in the + `accounts` array of the Risk Insights request. Otherwise, we return + an error. + example: AGH7890098789087-Checking-Erebor + value_date: + type: string + format: date + description: > + The date when the transaction occurred, in `YYYY-MM-DD` format. + + + **Note:** Transactions that occur after the `reference_date` are not + considered in the risk insight analysis. + example: '2023-05-18' + type: + $ref: '#/components/schemas/EnumRiskInsightTransactionType' + amount: + type: number + format: float + description: | + The transaction amount. + minimum: 0 + maximum: 9999999999.99 + example: 650.89 + currency: + type: string + description: > + The three-letter currency code of the transaction. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + **Note:** Ensure that the currency of the transaction and the + account associated with it are the same. For example, if the + currency of the account is `MXN`, then all the transactions + associated with that account should also be in `MXN`. + + example: BRL + description: + type: string + maxLength: 500 + description: | + The description of the transaction. + example: Pagamento Netflix Maio 2023 + EyodCreditScoreAccountBody: + type: object + description: | + EYOD Risk Insight account object. + required: + - id + - category + - balance + - balance_date + - currency + properties: + id: + type: string + description: | + Your unique ID for the user's account. + example: AGH7890098789087-Checking-Erebor + category: + type: string + enum: + - CHECKING_ACCOUNT + - CREDIT_CARD + - LOAN_ACCOUNT + - SAVINGS_ACCOUNT + description: | + The category of the bank account. Can be either: + + - `CHECKING_ACCOUNT` + - `CREDIT_CARD` + - `LOAN_ACCOUNT` + - `SAVINGS_ACCOUNT` + example: CHECKING_ACCOUNT + balance: + type: number + format: float + description: The balance of the account. + example: 12540.67 + balance_date: + type: string + format: date + description: > + The date that the `balance` amount was retrieved, in `YYYY-MM-DD` + format. + + + **Note:** For each account you wish to have analyzed, try to provide + the same date when the balance was available. + example: '2023-06-01' + currency: + type: string + description: > + The three-letter currency code of the `balance`. For example: + + • 🇧🇷 BRL (Brazilian Real) + • 🇨🇴 COP (Colombian Peso) + • 🇲🇽 MXN (Mexican Peso) + + **Note:** Ensure that the currency of the account and the + transactions associated with it are the same. For example, if the + currency of the account is `MXN`, then all the transactions + associated with that account should also be in `MXN`. + + example: BRL + EyodCreditScoreRequest: + type: object + description: > + EYOD Credit Score request object. + + + **Note:** You can only send through information for **one** user at a + time. + required: + - user_id + - date_to + - language + - transactions + - accounts + properties: + user_id: + type: string + description: | + Your unique ID for the user. + example: AGH7890098789087 + date_to: + type: string + format: date + description: > + The date from which you want Belvo to start performing the credit + score analysis, in `YYYY-MM-DD` format. If you do not specify a + `date_to`, we use the current date at the time of your request. + + + > **Note:** + + > + + > We recommend you use `date_to` if you do not have an account + balance for the past few days. + + > + + > For example, if the last account balance date that you have a + value for was last week, set the `date_to` parameter to that date. + The credit score that you receive will be **relative** to the + `date_to` parameter. + example: '2023-06-01' + language: + type: string + description: > + The two-letter ISO 639-1 code for the language of the transaction. + For example: + + - `pt` for Portugese + + > **Note**: At present, we only support `pt` for Portuguese. + example: pt + transactions: + type: array + maxItems: 10000 + description: > + An array of transaction objects that you want analyzed for the + credit score analysis. + + + + **Note:** Each object corresponds to one unique transaction and you + can send through up to 10,000 transactions per request. + items: + $ref: '#/components/schemas/EyodCreditScoreTransactionBody' + accounts: + type: array + description: > + An array of account objects that the transactions are associated + with. + + + + Each transaction you provide in the `transactions` array must have + an associated account. If you provide transactions without an + associated account, we return an error. + + + **Note:** Each object corresponds to one unique account. + items: + $ref: '#/components/schemas/EyodCreditScoreAccountBody' + examples: + AccountsBankingChecking: + summary: Checking Account + description: Example of a checking account. + value: + - id: c21f3914-bcbe-44c4-a2e8-a5e33f6888d4 + link: 57f212dc-1ba4-407f-b7f0-15a5e5ff17ae + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CHECKING_ACCOUNT + balance_type: ASSET + type: Cuentas de efectivo + name: Cuenta Perfiles- M.N.- - ERB-237 + number: '2180700688677950' + balance: + available: 4523.48 + current: 4523.48 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: CLABE + public_identification_value: '2180700008677950' + last_accessed_at: '2022-02-01T20:25:47.307911Z' + credit_data: null + loan_data: null + funds_data: null + AccountsBankingCreditCard: + summary: Credit Card Account + description: Example of a credit card account. + value: + - id: 0f82c5db-13a2-43c7-a69a-e036160aba3a + link: 57f212dc-1ba4-407f-b7f0-15a5e5ff17ae + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + balance_type: LIABILITY + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + available: 1550.15 + current: 4049.85 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2022-02-01T20:25:47.307911Z' + credit_data: + collected_at: '2022-02-09T08:45:50.406032Z' + credit_limit: 15600 + cutting_date: '2021-04-11' + next_payment_date: '2021-03-31' + minimum_payment: 690 + no_interest_payment: 11550.15 + interest_rate: 4 + monthly_payment: null + last_payment_date: null + loan_data: null + funds_data: null + AccountsBankingLoan: + summary: Loan Account + description: Example of a loan account. + value: + - id: 0f82c5db-13a2-43c7-a69a-e036160aba3a + link: 57f212dc-1ba4-407f-b7f0-15a5e5ff17ae + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: LOAN_ACCOUNT + balance_type: LIABILITY + type: Créditos + name: Cuenta nómina + number: '72964044' + balance: + available: 34708.36 + current: 34708.36 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: ACCOUNT_NUMBER + public_identification_value: '217035843284091420' + last_accessed_at: '2022-02-01T20:25:47.307911Z' + credit_data: null + loan_data: + collected_at: '2022-02-09T08:45:50.406032Z' + loan_type: SFH + contract_amount: 202000 + principal: 192000 + outstanding_principal: 142000 + outstanding_balance: 164000 + payment_day: '17' + interest_rates: + - name: jurosEfetivo + type: MONTHLY + value: 7.85 + fees: + - type: OPERATION_FEE + value: 5.6 + monthly_payment: 1000 + number_of_installments_total: 50 + number_of_installments_outstanding: 41 + contract_start_date: '2018-01-01' + contract_end_date: '2027-10-01' + contract_number: ER8072930097 + funds_data: null + AccountsBankingPension: + summary: Pension Account + description: Example of a pension account. + value: + - id: 3d5b0f90-90df-455d-a647-5b74feb746f6 + link: fbbb5ea7-4605-437f-b5c5-667fd037a303 + institution: + name: erebor_br_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: PENSION_FUND_ACCOUNT + balance_type: ASSET + type: Contas + name: Conta corrente + number: '37903487' + balance: + available: 26305.33 + current: 26305.33 + currency: BRL + bank_product_id: null + internal_identification: null + public_identification_name: PENSION_PLAN_ID + public_identification_value: '626249048387247512' + last_accessed_at: '2021-03-09T08:19:05.000Z' + credit_data: null + loan_data: null + funds_data: + - collected_at: '2022-02-09T08:45:50.406032Z' + name: CICLO DE VIDA 2040 I + type: PGBL + balance: 94793 + percentage: 9 + public_identifications: + - name: CNPJ + value: 11.233.333/4424-01 + - name: SUSEP + value: 13311.2333222/3333-44 + - collected_at: '2022-02-09T08:45:50.406032Z' + name: CICLO DE VIDA 2020 I + type: PGBL + balance: 50834 + percentage: 91 + public_identifications: + - name: CNPJ + value: 11.222.333/4444-02 + - name: SUSEP + value: 11111.222222/3333-44 + AccountsBankingSavings: + summary: Savings Account + description: Example of a savings account. + value: + - id: 3d5b0f90-90df-455d-a647-5b74feb746f6 + link: fbbb5ea7-4605-437f-b5c5-667fd037a303 + institution: + name: erebor_co_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: SAVINGS_ACCOUNT + balance_type: ASSET + type: Cuenta de Ahorro + name: Cuenta de Ahorro + number: '13166008' + balance: + available: 4978436.05 + current: 4978436.05 + currency: COP + bank_product_id: null + internal_identification: null + public_identification_name: ACCOUNT_NUMBER + public_identification_value: '260825906' + last_accessed_at: '2021-03-09T10:28:40.000Z' + credit_data: null + loan_data: null + funds_data: null + AccountsOfdaChecking: + summary: Checking OFDA Brazil + description: Example of an checking account (OFDA Brazil). + value: + - id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CHECKING_ACCOUNT + balance_type: ASSET + overdraft: + used: 10000.99 + arranged: 99.99 + unarranged: 99.99 + type: CONTA_DEPOSITO_A_VISTA + subtype: INDIVIDUAL + name: null + number: '11188222' + agency: '6272' + check_digit: '4' + balance: + current: 999.99 + available: 15000 + blocked: 41233.07 + automatically_invested: 15000 + currency: BRL + public_identification_name: AGENCY/NUMBER + public_identification_value: 6272/11188222 + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: null + funds_data: null + AccountsOfdaCreditCard: + summary: Credit Card OFDA Brazil + description: Example of an credit card account (OFDA Brazil). + value: + - id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CREDIT_CARD + balance_type: LIABILITY + overdraft: null + type: GRAFITE + subtype: Dinners Elo Grafite + name: Dinners Grafite + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 60.32 + automatically_invested: 131.5 + currency: BRL + public_identification_name: CREDIT_CARD_NUMBER + public_identification_value: '8921' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: + cards: + - is_multiple: false + identification_number: '8921' + limits: + - type: LIMITE_CREDITO_TOTAL + line_name: CREDITO_A_VISTA + card_number: '8921' + used_amount: 7500.05 + credit_limit: 23000.98 + available_amount: 15500.93 + is_limit_flexible: true + consolidation_type: CONSOLIDADO + line_name_additional_info: NA + network: DINERS_CLUB + collected_at: '2023-07-24T00:46:24.431038Z' + credit_limit: 23000.98 + cutting_date: null + interest_rate: null + minimum_payment: 0 + monthly_payment: null + last_payment_date: null + next_payment_date: null + last_period_balance: null + no_interest_payment: null + network_additional_info: null + loan_data: null + funds_data: null + AccountsOfdaLoanData: + summary: Loan OFDA Brazil + description: Example of an loan account (OFDA Brazil). + value: + - id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: LOAN_ACCOUNT + balance_type: LIABILITY + overdraft: null + type: EMPRESTIMOS + subtype: CREDITO_PESSOAL_SEM_CONSIGNACAO + name: Aquisição de equipamentos + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 0 + automatically_invested: 0 + currency: BRL + public_identification_name: NUMBER + public_identification_value: '90847453264' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: + fees: + - code: ADMNISTRACAO + name: Taxa de administracao + rate: 0 + type: null + value: 200.5 + fee_charge: FIXED + fee_charge_type: SINGLE + loan_code: '01181521040211011740907325668478542336597' + loan_type: CREDITO_PESSOAL_SEM_CONSIGNACAO + principal: null + limit_date: null + collaterals: + - type: CESSAO_DIREITOS_CREDITORIOS + amount: 15000.31 + subtype: ACOES_DEBENTURES + currency: BRL + cutting_day: null + payment_day: null + collected_at: '2023-07-24T00:46:44.756806Z' + consignee_id: '13832718000196' + credit_limit: null + cutting_date: null + interest_rate: null + interest_rates: + - name: NOMINAL + type: YEARLY + value: 0.015 + interest_rate_data: + type: AA + tax_type: NOMINAL_TAX + rate_type: SIMPLE_RATE + pre_fixed_rate: 0.015 + additional_info: NA + post_fixed_rate: 0 + calculation_base: 21/252 + reference_index_info: null + reference_index_type: PRE_FIXED + reference_index_subtype: PRE_FIXADO + contract_amount: 12070.6 + contract_number: '90847453264' + monthly_payment: null + payment_due_day: null + settlement_date: '2021-06-21' + balloon_payments: + - amount: 0 + currency: BRL + due_date: '2020-01-10' + contract_end_date: '2023-01-08' + last_payment_date: null + next_payment_date: null + contracted_charges: + - info: NA + rate: 0.06 + type: LATE_PAYMENT_PENALTY_FEE + disbursement_dates: + - '2022-01-08' + contract_start_date: '2022-01-08' + last_period_balance: null + no_interest_payment: null + outstanding_balance: 14402.379 + total_effective_cost: 0.015 + amortization_schedule: PRICE + installment_frequency: OTHER + outstanding_principal: null + contract_remaining_total: 727 + amortization_schedule_info: NA + first_installment_due_date: '2022-01-08' + installment_frequency_info: DIA + number_of_installments_paid: 3 + contract_remaining_frequency: DAY + number_of_installments_total: 730 + number_of_installments_past_due: 1 + number_of_installments_outstanding: 727 + installments_contract_term_frequency: DAY + funds_data: null + AccountsOfdaCheckingDetail: + summary: Checking OFDA Brazil + description: Example of an checking account (OFDA Brazil). + value: + id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CHECKING_ACCOUNT + balance_type: ASSET + overdraft: + used: 10000.99 + arranged: 99.99 + unarranged: 99.99 + type: CONTA_DEPOSITO_A_VISTA + subtype: INDIVIDUAL + name: null + number: '11188222' + agency: '6272' + check_digit: '4' + balance: + current: 999.99 + available: 15000 + blocked: 41233.07 + automatically_invested: 15000 + currency: BRL + public_identification_name: AGENCY/NUMBER + public_identification_value: 6272/11188222 + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: null + funds_data: null + AccountsOfdaCreditCardDetail: + summary: Credit Card OFDA Brazil + description: Example of an credit card account (OFDA Brazil). + value: + id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: CREDIT_CARD + balance_type: LIABILITY + overdraft: null + type: GRAFITE + subtype: Dinners Elo Grafite + name: Dinners Grafite + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 60.32 + automatically_invested: 131.5 + currency: BRL + public_identification_name: CREDIT_CARD_NUMBER + public_identification_value: '8921' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: + cards: + - is_multiple: false + identification_number: '8921' + limits: + - type: LIMITE_CREDITO_TOTAL + line_name: CREDITO_A_VISTA + card_number: '8921' + used_amount: 7500.05 + credit_limit: 23000.98 + available_amount: 15500.93 + is_limit_flexible: true + consolidation_type: CONSOLIDADO + line_name_additional_info: NA + network: DINERS_CLUB + collected_at: '2023-07-24T00:46:24.431038Z' + credit_limit: 23000.98 + cutting_date: null + interest_rate: null + minimum_payment: 0 + monthly_payment: null + last_payment_date: null + next_payment_date: null + last_period_balance: null + no_interest_payment: null + network_additional_info: null + loan_data: null + funds_data: null + AccountsOfdaLoanDataDetail: + summary: Loan OFDA Brazil + description: Example of an loan account (OFDA Brazil). + value: + id: 0d3ffb69-f83b-456e-ad8e-208d0998d71d + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: ofmockbank_br_retail + type: bank + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + last_accessed_at: '2021-03-09T10:28:40.000Z' + category: LOAN_ACCOUNT + balance_type: LIABILITY + overdraft: null + type: EMPRESTIMOS + subtype: CREDITO_PESSOAL_SEM_CONSIGNACAO + name: Aquisição de equipamentos + number: '4057068115181' + agency: '6272' + check_digit: '7' + balance: + current: 5874.13 + available: 5621.12 + blocked: 0 + automatically_invested: 0 + currency: BRL + public_identification_name: NUMBER + public_identification_value: '90847453264' + internal_identification: '92792126019929279212650822221989319252576' + credit_data: null + loan_data: + fees: + - code: ADMNISTRACAO + name: Taxa de administracao + rate: 0 + type: null + value: 200.5 + fee_charge: FIXED + fee_charge_type: SINGLE + loan_code: '01181521040211011740907325668478542336597' + loan_type: CREDITO_PESSOAL_SEM_CONSIGNACAO + principal: null + limit_date: null + collaterals: + - type: CESSAO_DIREITOS_CREDITORIOS + amount: 15000.31 + subtype: ACOES_DEBENTURES + currency: BRL + cutting_day: null + payment_day: null + collected_at: '2023-07-24T00:46:44.756806Z' + consignee_id: '13832718000196' + credit_limit: null + cutting_date: null + interest_rate: null + interest_rates: + - name: NOMINAL + type: YEARLY + value: 0.015 + interest_rate_data: + type: AA + tax_type: NOMINAL_TAX + rate_type: SIMPLE_RATE + pre_fixed_rate: 0.015 + additional_info: NA + post_fixed_rate: 0 + calculation_base: 21/252 + reference_index_info: null + reference_index_type: PRE_FIXED + reference_index_subtype: PRE_FIXADO + contract_amount: 12070.6 + contract_number: '90847453264' + monthly_payment: null + payment_due_day: null + settlement_date: '2021-06-21' + balloon_payments: + - amount: 0 + currency: BRL + due_date: '2020-01-10' + contract_end_date: '2023-01-08' + last_payment_date: null + next_payment_date: null + contracted_charges: + - info: NA + rate: 0.06 + type: LATE_PAYMENT_PENALTY_FEE + disbursement_dates: + - '2022-01-08' + contract_start_date: '2022-01-08' + last_period_balance: null + no_interest_payment: null + outstanding_balance: 14402.379 + total_effective_cost: 0.015 + amortization_schedule: PRICE + installment_frequency: OTHER + outstanding_principal: null + contract_remaining_total: 727 + amortization_schedule_info: NA + first_installment_due_date: '2022-01-08' + installment_frequency_info: DIA + number_of_installments_paid: 3 + contract_remaining_frequency: DAY + number_of_installments_total: 730 + number_of_installments_past_due: 1 + number_of_installments_outstanding: 727 + installments_contract_term_frequency: DAY + funds_data: null + TransactionsCheckingPaginated: + summary: Checking Account Transaction + description: An example of a checking account transaction + value: + count: 198 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: CUENTA NARANJA LITE + + number: '996685090015' + type: CUENTA NARANJA LITE + + category: CHECKING_ACCOUNT + bank_product_id: '46' + public_identification_name: CLABE + public_identification_value: '058597000010485108' + currency: MXN + balance: + current: 0 + available: 0 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 932.5 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: '085904452810319225' + value_date: '2022-07-11' + description: Transferencia interbancaria + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: LCzHexIyHi + TransactionsSavingsPaginated: + summary: Savings Account Transaction + description: An example of a savings account transaction + value: + count: 198 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: Mi ahorro Erebor + number: '997468860036' + type: null + category: SAVINGS_ACCOUNT + bank_product_id: null + public_identification_name: CLABE + public_identification_value: '058597000011543422' + currency: MXN + balance: + current: 4.09 + available: 4.09 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 4.09 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: null + value_date: '2022-07-11' + description: Interes + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: '0089608418' + TransactionsCreditCardPaginated: + summary: Credit Card Transaction + description: An example of a credit card transaction + value: + count: 198 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + current: 5874.13 + available: 5621.12 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2021-03-09T10:28:40.000Z' + balance_type: LIABILITY + credit_data: + credit_limit: 192000 + collected_at: '2022-02-09T08:45:50.406032Z' + cutting_date: '2019-12-11' + next_payment_date: '2019-12-01' + minimum_payment: 2400 + no_interest_payment: 37390.83 + monthly_payment: null + end_date: null + last_payment_date: null + interest_rate: 4 + loan_data: null + funds_data: null + collected_at: '2022-02-09T08:45:50.406032Z' + value_date: '2019-10-23' + accounting_date: '2019-10-23T13:01:41.941Z' + amount: 2145.45 + balance: 16907.96 + currency: MXN + description: SEVEN BUDDHAS RFC:XXXXXXXXXX + observations: OPTIONAL OBSERVATIONS + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + reference: '8703' + type: OUTFLOW + status: PROCESSED + credit_card_data: + bill_name: apr-2020 + previous_bill_total: '2000.00' + collected_at: '2022-02-09T08:45:50.406032Z' + TransactionsChecking: + summary: Checking Account Transaction + description: An example of a checking account transaction + value: + - id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: CUENTA NARANJA LITE + + number: '996685090015' + type: CUENTA NARANJA LITE + + category: CHECKING_ACCOUNT + bank_product_id: '46' + public_identification_name: CLABE + public_identification_value: '058597000010485108' + currency: MXN + balance: + current: 0 + available: 0 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 932.5 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: '085904452810319225' + value_date: '2022-07-11' + description: Transferencia interbancaria + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: LCzHexIyHi + TransactionsSavings: + summary: Savings Account Transaction + description: An example of a savings account transaction + value: + - id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: Mi ahorro Erebor + number: '997468860036' + type: null + category: SAVINGS_ACCOUNT + bank_product_id: null + public_identification_name: CLABE + public_identification_value: '058597000011543422' + currency: MXN + balance: + current: 4.09 + available: 4.09 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 4.09 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: null + value_date: '2022-07-11' + description: Interes + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: '0089608418' + TransactionsCreditCard: + summary: Credit Card Transaction + description: An example of a credit card transaction + value: + - id: 9e432f18-36ca-4bd6-a3f3-1971e58dc1e8 + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + current: 5874.13 + available: 5621.12 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2021-03-09T10:28:40.000Z' + balance_type: LIABILITY + credit_data: + credit_limit: 192000 + collected_at: '2022-02-09T08:45:50.406032Z' + cutting_date: '2019-12-11' + next_payment_date: '2019-12-01' + minimum_payment: 2400 + no_interest_payment: 37390.83 + monthly_payment: null + end_date: null + last_payment_date: null + interest_rate: 4 + loan_data: null + funds_data: null + collected_at: '2022-02-09T08:45:50.406032Z' + value_date: '2019-10-23' + accounting_date: '2019-10-23T13:01:41.941Z' + amount: 2145.45 + balance: 16907.96 + currency: MXN + description: SEVEN BUDDHAS RFC:XXXXXXXXXX + observations: OPTIONAL OBSERVATIONS + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + reference: '8703' + type: OUTFLOW + status: PROCESSED + credit_card_data: + bill_name: apr-2020 + previous_bill_total: '2000.00' + collected_at: '2022-02-09T08:45:50.406032Z' + TransactionsCheckingOfda: + summary: Transaction OFDA Brazil (Checking) + description: Example of an checking account transaction (OFDA Brazil). + value: + - id: 2ccf4372-a091-403e-bc00-3afeec91419b + account: + id: 73f52d7c-49ea-4903-8e91-764eb05c4f8c + link: a288f663-92dd-4a57-8a36-a00c192822dd + institution: + name: oferebor_br_retail + type: bank + created_at: '2023-11-07T13:13:10.781520Z' + collected_at: '2023-11-07T13:13:07.707609Z' + internal_identification: 6C9b3e7f09d8a411e982fbb2e6f5a3d77acbf15e8b9473629d9f78 + category: CHECKING_ACCOUNT + bank_product_id: null + balance_type: ASSET + credit_data: null + loan_data: null + balance: + current: 360 + available: 360 + automatically_invested: 360 + name: null + number: '09009570' + agency: '7632' + type: CONTA_DEPOSITO_A_VISTA + currency: BRL + last_accessed_at: null + public_identification_name: AGENCY/NUMBER + public_identification_value: 7632/09009570 + subtype: INDIVIDUAL + check_digit: '9' + overdraft: + arranged: '0.0000' + used: '0.0000' + unarranged: '0.0000' + created_at: '2023-11-01T16:16:37.910619Z' + category: null + subcategory: null + merchant: null + mcc: null + type: OUTFLOW + amount: 100 + status: PROCESSED + balance: null + currency: BRL + reference: null + value_date: '2023-09-21' + transacted_at: '2023-09-21T12:29:03.374Z' + description: PIX EMITIDO OUTRA IF + collected_at: '2023-11-07T13:13:10.350717Z' + counterparty: + document_number: '32187940563' + type: INDIVIDUAL + clearing_code: '160' + agency: '3201' + number: '73916428' + check_digit: '4' + observations: null + payment_type: null + operation_type: OUTROS + operation_type_additional_info: null + accounting_date: '2023-09-21' + credit_card_data: null + local_currency_amount: null + internal_identification: 15a1498f-392e-4cb7-9f63-0e06ac827794 + TransactionsCheckingDetail: + summary: Checking Account Transaction + description: An example of a checking account transaction + value: + id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: CUENTA NARANJA LITE + + number: '996685090015' + type: CUENTA NARANJA LITE + + category: CHECKING_ACCOUNT + bank_product_id: '46' + public_identification_name: CLABE + public_identification_value: '058597000010485108' + currency: MXN + balance: + current: 0 + available: 0 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 932.5 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: '085904452810319225' + value_date: '2022-07-11' + description: Transferencia interbancaria + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: LCzHexIyHi + TransactionsSavingsDetail: + summary: Savings Account Transaction + description: An example of a savings account transaction + value: + id: e5588958-48f2-427c-9300-945207532f5d + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + internal_identification: '996685090015' + name: Mi ahorro Erebor + number: '997468860036' + type: null + category: SAVINGS_ACCOUNT + bank_product_id: null + public_identification_name: CLABE + public_identification_value: '058597000011543422' + currency: MXN + balance: + current: 4.09 + available: 4.09 + loan_data: null + credit_data: null + last_accessed_at: null + balance_type: ASSET + created_at: '2022-07-20T22:09:35.556519Z' + category: Income & Payments + subcategory: Freelance + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + type: INFLOW + amount: 4.09 + status: UNCATEGORIZED + balance: null + currency: MXN + reference: null + value_date: '2022-07-11' + description: Interes + collected_at: '2022-07-20T22:09:33.767574Z' + observations: null + accounting_date: null + internal_identification: '0089608418' + TransactionsCreditCardDetail: + summary: Credit Card Transaction + description: An example of a credit card transaction + value: + id: 9e432f18-36ca-4bd6-a3f3-1971e58dc1e8 + account: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + institution: + name: erebor_mx_retail + type: bank + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + category: CREDIT_CARD + type: Tarjetas de crédito + name: Erebor Gold + number: null + balance: + current: 5874.13 + available: 5621.12 + currency: MXN + bank_product_id: null + internal_identification: null + public_identification_name: null + public_identification_value: null + last_accessed_at: '2021-03-09T10:28:40.000Z' + balance_type: LIABILITY + credit_data: + credit_limit: 192000 + collected_at: '2022-02-09T08:45:50.406032Z' + cutting_date: '2019-12-11' + next_payment_date: '2019-12-01' + minimum_payment: 2400 + no_interest_payment: 37390.83 + monthly_payment: null + end_date: null + last_payment_date: null + interest_rate: 4 + loan_data: null + funds_data: null + collected_at: '2022-02-09T08:45:50.406032Z' + value_date: '2019-10-23' + accounting_date: '2019-10-23T13:01:41.941Z' + amount: 2145.45 + balance: 16907.96 + currency: MXN + description: SEVEN BUDDHAS RFC:XXXXXXXXXX + observations: OPTIONAL OBSERVATIONS + merchant: + logo: https://logo.clearbit.com/asesor-contable.es + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global + category: Income & Payments + subcategory: Freelance + reference: '8703' + type: OUTFLOW + status: PROCESSED + credit_card_data: + bill_name: apr-2020 + previous_bill_total: '2000.00' + collected_at: '2022-02-09T08:45:50.406032Z' + TransactionsCheckingOfdaDetail: + summary: Transaction OFDA Brazil (Checking) + description: Example of an checking account transaction (OFDA Brazil). + value: + id: 2ccf4372-a091-403e-bc00-3afeec91419b + account: + id: 73f52d7c-49ea-4903-8e91-764eb05c4f8c + link: a288f663-92dd-4a57-8a36-a00c192822dd + institution: + name: oferebor_br_retail + type: bank + created_at: '2023-11-07T13:13:10.781520Z' + collected_at: '2023-11-07T13:13:07.707609Z' + internal_identification: 6C9b3e7f09d8a411e982fbb2e6f5a3d77acbf15e8b9473629d9f78 + category: CHECKING_ACCOUNT + bank_product_id: null + balance_type: ASSET + credit_data: null + loan_data: null + balance: + current: 360 + available: 360 + automatically_invested: 360 + name: null + number: '09009570' + agency: '7632' + type: CONTA_DEPOSITO_A_VISTA + currency: BRL + last_accessed_at: null + public_identification_name: AGENCY/NUMBER + public_identification_value: 7632/09009570 + subtype: INDIVIDUAL + check_digit: '9' + overdraft: + arranged: '0.0000' + used: '0.0000' + unarranged: '0.0000' + created_at: '2023-11-01T16:16:37.910619Z' + category: null + subcategory: null + merchant: null + mcc: null + type: OUTFLOW + amount: 100 + status: PROCESSED + balance: null + currency: BRL + reference: null + value_date: '2023-09-21' + description: PIX EMITIDO OUTRA IF + collected_at: '2023-11-07T13:13:10.350717Z' + counterparty: + document_number: '32187940563' + type: INDIVIDUAL + clearing_code: '160' + agency: '3201' + number: '73916428' + check_digit: '4' + observations: null + payment_type: null + operation_type: OUTROS + operation_type_additional_info: null + accounting_date: '2023-09-21' + credit_card_data: null + local_currency_amount: null + internal_identification: 15a1498f-392e-4cb7-9f63-0e06ac827794 + BalancesExamplePaginated: + summary: Balance Example (Checking Account) + description: Example of a balance paginated response. + value: + count: 385 + next: https://sandbox.belvo.com/api/balances/?page=2 + previous: null + results: + - id: b834e69b-1aa4-465d-969c-07c886a4fbed + account: + id: 26428311-7108-40b8-a22b-c310187dd005 + link: b834e69b-1aa4-465d-969c-07c886a4fbed + institution: + name: erebor_br_retail + type: bank + created_at: '2021-10-27T16:18:15.591647Z' + name: Erebor Gold + type: null + number: 7889044-1 + balance: + current: 146.81 + available: 146.81 + category: CHECKING_ACCOUNT + currency: BRL + loan_data: null + credit_data: null + balance_type: ASSET + collected_at: '2022-06-17T03:20:41.300075Z' + bank_product_id: null + last_accessed_at: null + internal_identification: 9fa5fab9-e2b7-4bd7-8413-71ed9bb94b4c + public_identification_name: AGENCY/ACCOUNT + public_identification_value: 0009/7889044-1 + collected_at: '2022-04-06T23:30:51.282174+00:00' + statement: null + value_date: '2022-04-04' + current_balance: 4.25 + balance: 4.25 + BalancesExample: + summary: Balance Example (Checking Account) + description: Example of a balance response. + value: + - id: b834e69b-1aa4-465d-969c-07c886a4fbed + account: + id: 26428311-7108-40b8-a22b-c310187dd005 + link: b834e69b-1aa4-465d-969c-07c886a4fbed + institution: + name: erebor_br_retail + type: bank + created_at: '2021-10-27T16:18:15.591647Z' + name: Erebor Gold + type: null + number: 7889044-1 + balance: + current: 146.81 + available: 146.81 + category: CHECKING_ACCOUNT + currency: BRL + loan_data: null + credit_data: null + balance_type: ASSET + collected_at: '2022-06-17T03:20:41.300075Z' + bank_product_id: null + last_accessed_at: null + internal_identification: 9fa5fab9-e2b7-4bd7-8413-71ed9bb94b4c + public_identification_name: AGENCY/ACCOUNT + public_identification_value: 0009/7889044-1 + collected_at: '2022-04-06T23:30:51.282174+00:00' + statement: null + value_date: '2022-04-04' + current_balance: 4.25 + balance: 4.25 + BalancesExampleDetail: + summary: Balance Example (Checking Account) + description: Example of a balance response. + value: + id: b834e69b-1aa4-465d-969c-07c886a4fbed + account: + id: 26428311-7108-40b8-a22b-c310187dd005 + link: b834e69b-1aa4-465d-969c-07c886a4fbed + institution: + name: erebor_br_retail + type: bank + created_at: '2021-10-27T16:18:15.591647Z' + name: Erebor Gold + type: null + number: 7889044-1 + balance: + current: 146.81 + available: 146.81 + category: CHECKING_ACCOUNT + currency: BRL + loan_data: null + credit_data: null + balance_type: ASSET + collected_at: '2022-06-17T03:20:41.300075Z' + bank_product_id: null + last_accessed_at: null + internal_identification: 9fa5fab9-e2b7-4bd7-8413-71ed9bb94b4c + public_identification_name: AGENCY/ACCOUNT + public_identification_value: 0009/7889044-1 + collected_at: '2022-04-06T23:30:51.282174+00:00' + statement: null + value_date: '2022-04-04' + current_balance: 4.25 + balance: 4.25 + OwnerBankingAccountPaginated: + summary: Banking + description: An example of a banking account owner. + value: + count: 108 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: b617120c-fbd0-4296-b03c-6473bbbeeee6 + link: c38fb126-fc98-4d6c-8c80-587a97dd56cf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + display_name: Maria Martinez Martin + first_name: null + last_name: null + second_last_name: null + email: maria@acme.com + phone_number: '90090508357' + address: |- + Retorno Gran Canaria 453 723 + Cancun, COL 10447 + document_id: + document_type: CPF + document_number: 235578435-S + internal_identification: null + OwnerBankingAccount: + summary: Banking + description: An example of a banking account owner. + value: + - id: 2b22f123-7c3a-4518-9ac2-863eb5d4613c + link: c38fb126-fc98-4d6c-8c80-587a97dd56cf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + display_name: Maria Martinez Martin + first_name: null + last_name: null + second_last_name: null + email: maria@acme.com + phone_number: '90090508357' + address: |- + Retorno Gran Canaria 453 723 + Cancun, COL 10447 + document_id: + document_type: CPF + document_number: 235578435-S + internal_identification: null + OwnerOfdaIndividual: + summary: Individual OFDA Brazil + description: Example of an individual (OFDA Brazil). + value: + - id: c749315b-eec2-435d-a458-06912878564f + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + display_name: Jack Oswald White + social_name: O Piadista + birth_date: '1988-07-15' + marital_status: SINGLE + marital_status_additional_info: It's complicated + gender: MALE + companies_id: + - '01773247000103' + is_local_resident: true + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: DRIVERS_LICENCE + type_additional_info: Learner's licence + number: DL-7896829-7 + check_digit: '7' + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + nationalities: + - info: CAN + documents: + - type: DRIVERS_LICENCE + number: DL-7896829-7 + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + filiations: + - type: MOTHER + civil_name: Bruce Wayne + social_name: The Dark Knight + financial_profile: + company_id: '50685362000135' + occuptation_code: BRAZIL_OCCUPATION_CODE + occupation_description: '01' + informed_income: + frequency: MONTHLY + amount: 45391.89 + currency: BRL + date: '2020-03-19' + patrimony: + amount: 45391.89 + currency: BRL + year: 2020 + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + product_services_additional_info: Joint account with Robin + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + OwnerOfdaBusiness: + summary: Business OFDA Brazil + description: Example of a business (OFDA Brazil). + value: + - id: c749315b-eec2-435d-a458-06912878564f + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + company_name: Wayne Enterprises + trade_name: WayneCorp + incorporation_date: '1988-07-15' + companies_id: + - '01773247000103' + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: EIN + number: DL-7896829-7 + expiration_date: '2019-01-01' + country_of_issuance: CAN + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + parties: + - person_type: INDIVIDUAL + type: MEMBER + display_name: Jack Oswald White + social_name: O Piadista + company_name: Wayne Enterprises + trade_name: WayneCorp + start_date: '2021-07-15' + percentage_type: 0.51 + document_type: CPF + document_number: DL-7896829-7 + document_issue_date: '2019-01-01' + document_expiration_date: '2019-01-01' + document_country: CAN + document_additional_info: Confirmed CPF with their driver's licence. + financial_profile: + economic_activities: + - is_main: true + code: '8599604' + informed_revenue: + frequency: MONTHLY + frequency_additional_info: Recently switched from weekly to monthly. + amount: 45391.89 + currency: BRL + year: 2022 + patrimony: + amount: 45391.89 + currency: BRL + date: '2022-12-12' + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + OwnerBankingAccountDetail: + summary: Banking + description: An example of a banking account owner. + value: + id: 2b22f123-7c3a-4518-9ac2-863eb5d4613c + link: c38fb126-fc98-4d6c-8c80-587a97dd56cf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + display_name: Maria Martinez Martin + first_name: null + last_name: null + second_last_name: null + email: maria@acme.com + phone_number: '90090508357' + address: |- + Retorno Gran Canaria 453 723 + Cancun, COL 10447 + document_id: + document_type: CPF + document_number: 235578435-S + internal_identification: null + OwnerOfdaIndividuaDetail: + summary: Individual OFDA Brazil + description: Example of an individual (OFDA Brazil). + value: + id: c749315b-eec2-435d-a458-06912878564f + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + display_name: Jack Oswald White + social_name: O Piadista + birth_date: '1988-07-15' + marital_status: SINGLE + marital_status_additional_info: It's complicated + gender: MALE + companies_id: + - '01773247000103' + is_local_resident: true + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: DRIVERS_LICENCE + type_additional_info: Learner's licence + number: DL-7896829-7 + check_digit: '7' + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + nationalities: + - info: CAN + documents: + - type: DRIVERS_LICENCE + number: DL-7896829-7 + issue_date: '2019-01-01' + expiration_date: '2019-01-01' + country_of_issuance: CAN + additional_info: The document has water damage + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + filiations: + - type: MOTHER + civil_name: Bruce Wayne + social_name: The Dark Knight + financial_profile: + company_id: '50685362000135' + occuptation_code: BRAZIL_OCCUPATION_CODE + occupation_description: '01' + informed_income: + frequency: MONTHLY + amount: 45391.89 + currency: BRL + date: '2020-03-19' + patrimony: + amount: 45391.89 + currency: BRL + year: 2020 + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + product_services_additional_info: Joint account with Robin + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + OwnerOfdaBusinessDetail: + summary: Business OFDA Brazil + description: Example of a business (OFDA Brazil). + value: + id: c749315b-eec2-435d-a458-06912878564f + link: 30cb4806-6e00-48a4-91c9-ca55968576c8 + internal_identification: 7e5838e4 + collected_at: '2019-09-27T13:01:41.941Z' + created_at: '2022-02-09T08:45:50.406032Z' + company_name: Wayne Enterprises + trade_name: WayneCorp + incorporation_date: '1988-07-15' + companies_id: + - '01773247000103' + document_id: + document_type: CPF + document_number: 235578435-S + additional_documents: + - type: EIN + number: DL-7896829-7 + expiration_date: '2019-01-01' + country_of_issuance: CAN + email: johndoe@belvo.com + emails: + - is_main: true + email: homen_morcego@gmail.com + address: Carrer de la Llacuna, 162, 08018 Barcelona + addresses: + - is_main: true + address: Av Naburo Ykesaki, 1270 + additional_info: In between two palm trees + district_name: CENTRO + town: Brasilia + town_code: '3550308' + state: SP + postcode: '17500001' + country_name: Brasil + country_code: BRA + latitude: '-23.5475000' + longitude: '-46.6361100' + phone_number: +52-XXX-XXX-XXXX + phone_numbers: + - is_main: true + type: MOBILE + additional_info: This is their work mobile number. + number: '29875132' + country_code: '351' + area_code: '21' + extension: '932' + parties: + - person_type: INDIVIDUAL + type: MEMBER + display_name: Jack Oswald White + social_name: O Piadista + company_name: Wayne Enterprises + trade_name: WayneCorp + start_date: '2021-07-15' + percentage_type: 0.51 + document_type: CPF + document_number: DL-7896829-7 + document_issue_date: '2019-01-01' + document_expiration_date: '2019-01-01' + document_country: CAN + document_additional_info: Confirmed CPF with their driver's licence. + financial_profile: + economic_activities: + - is_main: true + code: '8599604' + informed_revenue: + frequency: MONTHLY + frequency_additional_info: Recently switched from weekly to monthly. + amount: 45391.89 + currency: BRL + year: 2022 + patrimony: + amount: 45391.89 + currency: BRL + date: '2022-12-12' + financial_relation: + start_date: '2021-05-21T08:30:00Z' + product_services: + - CONTA_DEPOSITO_A_VISTA + procurators: + - type: LEGAL_REPRESENTATIVE + civil_name: Alfred Thaddeus Pennyworth + social_name: Alfred Pennyworth + document_number: '73677831148' + products: + - type: SAVINGS_ACCOUNT + subtype: CONJUNTA_SIMPLES + agency: '6272' + clearing_code: '001' + number: '24550245' + check_digit: '7' + InvoiceIngresoPaginated: + summary: Invoice Ingreso + description: Example of an *Igreso* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Ingreso + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Servicios de mensajería. + product_identification: '78102206' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoicePagoPaginated: + summary: Invoice Pago + description: Example of a *Pago* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Pago + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago + product_identification: '84111506' + quantity: 1 + unit_amount: 0 + unit_code: ACT + unit_description: null + pre_tax_amount: 0 + tax_percentage: 0 + tax_amount: 0 + total_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: null + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: + - date: '2020-03-17T12:00:00.000Z' + payment_type: '03' + currency: BRL + exchange_rate: '3.75' + amount: 8000.5 + operation_number: '831840' + beneficiary_rfc: BNM840515VB1 + beneficiary_account_number: '12343453245633' + payer_rfc: BKJM840515VB1 + payer_account_number: '13343663245699' + payer_bank_name: CITI BANAMEX + related_documents: + - invoice_identification: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: MXN + payment_method: PPD + previous_balance: 18877.84 + amount_paid: 8000 + outstanding_balance: 10877.84 + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceNominaPaginated: + summary: Invoice Nomina + description: Example of a *Nomina* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Nómina + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: Roberto Martinez Diaz + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '99' + payment_type_description: null + payment_method: PUE + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago de nómina + product_identification: '84111505' + quantity: 1 + unit_code: ACT + unit_description: null + unit_amount: 20400.1 + total_amount: 20400.1 + pre_tax_amount: 20400.1 + tax_percentage: 0 + tax_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 20400.1 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 5000 + total_amount: 15400.1 + payments: [] + payroll: + days: 30 + type: O + amount: 20400.1 + date_to: '2020-12-31' + version: '1.2' + date_from: '2020-12-01' + collected_at: '2022-02-09T08:45:50.406032Z' + payment_date: '2020-12-24' + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceEgresoPaginated: + summary: Invoice Egreso + description: Example of an *Egreso* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Egreso + type: INFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - product_identification: '78111500' + description: Reembolso del servicio + unit_code: E48 + unit_description: Unidad de servicio + quantity: 1 + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceTrasladoPaginated: + summary: Invoice Traslado + description: Example of a *Traslado* type invoice. + value: + count: 110 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Traslado + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: CARGOS S.A. DE C.V. + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: FLETE + product_identification: '78101802' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 21000 + pre_tax_amount: 21000 + tax_percentage: 16 + tax_amount: 0 + total_amount: 21000 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceIngreso: + summary: Invoice Ingreso + description: Example of an *Igreso* type invoice. + value: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Ingreso + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Servicios de mensajería. + product_identification: '78102206' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoicePago: + summary: Invoice Pago + description: Example of a *Pago* type invoice. + value: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Pago + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago + product_identification: '84111506' + quantity: 1 + unit_amount: 0 + unit_code: ACT + unit_description: null + pre_tax_amount: 0 + tax_percentage: 0 + tax_amount: 0 + total_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: null + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: + - date: '2020-03-17T12:00:00.000Z' + payment_type: '03' + currency: BRL + exchange_rate: '3.75' + amount: 8000.5 + operation_number: '831840' + beneficiary_rfc: BNM840515VB1 + beneficiary_account_number: '12343453245633' + payer_rfc: BKJM840515VB1 + payer_account_number: '13343663245699' + payer_bank_name: CITI BANAMEX + related_documents: + - invoice_identification: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: MXN + payment_method: PPD + previous_balance: 18877.84 + amount_paid: 8000 + outstanding_balance: 10877.84 + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceNomina: + summary: Invoice Nomina + description: Example of a *Nomina* type invoice. + value: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Nómina + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: Roberto Martinez Diaz + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '99' + payment_type_description: null + payment_method: PUE + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago de nómina + product_identification: '84111505' + quantity: 1 + unit_code: ACT + unit_description: null + unit_amount: 20400.1 + total_amount: 20400.1 + pre_tax_amount: 20400.1 + tax_percentage: 0 + tax_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 20400.1 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 5000 + total_amount: 15400.1 + payments: [] + payroll: + days: 30 + type: O + amount: 20400.1 + date_to: '2020-12-31' + version: '1.2' + date_from: '2020-12-01' + collected_at: '2022-02-09T08:45:50.406032Z' + payment_date: '2020-12-24' + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceEgreso: + summary: Invoice Egreso + description: Example of an *Egreso* type invoice. + value: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Egreso + type: INFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - product_identification: '78111500' + description: Reembolso del servicio + unit_code: E48 + unit_description: Unidad de servicio + quantity: 1 + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceTraslado: + summary: Invoice Traslado + description: Example of a *Traslado* type invoice. + value: + - id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Traslado + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: CARGOS S.A. DE C.V. + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: FLETE + product_identification: '78101802' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 21000 + pre_tax_amount: 21000 + tax_percentage: 16 + tax_amount: 0 + total_amount: 21000 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceIngresoDetail: + summary: Invoice Ingreso + description: Example of an *Igreso* type invoice. + value: + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Ingreso + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Servicios de mensajería. + product_identification: '78102206' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoicePagoDetail: + summary: Invoice Pago + description: Example of a *Pago* type invoice. + value: + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Pago + type: OUTFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago + product_identification: '84111506' + quantity: 1 + unit_amount: 0 + unit_code: ACT + unit_description: null + pre_tax_amount: 0 + tax_percentage: 0 + tax_amount: 0 + total_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: null + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: + - date: '2020-03-17T12:00:00.000Z' + payment_type: '03' + currency: BRL + exchange_rate: '3.75' + amount: 8000.5 + operation_number: '831840' + beneficiary_rfc: BNM840515VB1 + beneficiary_account_number: '12343453245633' + payer_rfc: BKJM840515VB1 + payer_account_number: '13343663245699' + payer_bank_name: CITI BANAMEX + related_documents: + - invoice_identification: 7EE015F3-6311-11EA-B02A-00155D014007 + currency: MXN + payment_method: PPD + previous_balance: 18877.84 + amount_paid: 8000 + outstanding_balance: 10877.84 + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceNominaDetail: + summary: Invoice Nomina + description: Example of a *Nomina* type invoice. + value: + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Nómina + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: Roberto Martinez Diaz + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '99' + payment_type_description: null + payment_method: PUE + usage: P01 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: Pago de nómina + product_identification: '84111505' + quantity: 1 + unit_code: ACT + unit_description: null + unit_amount: 20400.1 + total_amount: 20400.1 + pre_tax_amount: 20400.1 + tax_percentage: 0 + tax_amount: 0 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 20400.1 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 5000 + total_amount: 15400.1 + payments: [] + payroll: + days: 30 + type: O + amount: 20400.1 + date_to: '2020-12-31' + version: '1.2' + date_from: '2020-12-01' + collected_at: '2022-02-09T08:45:50.406032Z' + payment_date: '2020-12-24' + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceEgresoDetail: + summary: Invoice Egreso + description: Example of an *Egreso* type invoice. + value: + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Egreso + type: INFLOW + sender_id: GHTF980303F7 + sender_name: Roberto Martinez Diaz + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: ACNE SA DE CV + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: '04' + payment_type_description: null + payment_method: PUE + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - product_identification: '78111500' + description: Reembolso del servicio + unit_code: E48 + unit_description: Unidad de servicio + quantity: 1 + unit_amount: 25 + pre_tax_amount: 25 + tax_percentage: 16 + tax_amount: 4 + total_amount: 29 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 25 + exchange_rate: 1 + tax_amount: 4 + discount_amount: 0 + total_amount: 29 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + InvoiceTrasladoDetail: + summary: Invoice Traslado + description: Example of a *Traslado* type invoice. + value: + id: 90d90e38-0087-4b6d-b6dc-94ea561bb9cb + link: 1bd948f7-245d-4313-b604-34d1044cb908 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + invoice_identification: 862B9918-3K6H-4E0B-NAI9-2BE2D833B840 + invoice_date: '2020-12-24' + status: Vigente + invoice_type: Traslado + type: INFLOW + sender_id: GHTF980303F7 + sender_name: ACNE SA DE CV + sender_tax_fraud_status: NO_TAX_FRAUD_STATUS + receiver_id: MNMK3203409H1 + receiver_name: CARGOS S.A. DE C.V. + receiver_tax_fraud_status: NO_TAX_FRAUD_STATUS + cancelation_status: null + cancelation_update_date: null + certification_date: '2020-12-24' + certification_authority: FGV330542BG6 + payment_type: null + payment_type_description: null + payment_method: null + usage: G03 + place_of_issue: '11000' + version: '3.3' + invoice_details: + - description: FLETE + product_identification: '78101802' + quantity: 1 + unit_code: E48 + unit_description: Unidad de servicio + unit_amount: 21000 + pre_tax_amount: 21000 + tax_percentage: 16 + tax_amount: 0 + total_amount: 21000 + retained_taxes: [] + collected_at: '2022-02-09T08:45:50.406032Z' + currency: MXN + subtotal_amount: 0 + exchange_rate: 1 + tax_amount: 0 + discount_amount: 0 + total_amount: 0 + payments: [] + payroll: null + folio: '28' + xml: '=XML-STRING=' + warnings: + code: warning_code + message: warning message + TaxReturnPersonalListPaginated: + summary: Tax Return Personal + description: Example of a list of personal tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T17:28:00-05:00' + numero_operacion: '00000000001' + periodo_declaracion: Del Ejercicio + rfc: ABCD111111A11 + tipo_declaracion: Normal + nombre: JOHN DOE + sueldos_salarios: + retenedores: + - rfc_retenedor: ABCD222222A22 + nombre_denominacion_razon_social: ACME CORP + ingresos_exentos: 118263 + ingreso_anual: 2265 + subsidio_empleo: 0 + impuesto_retenido: 19497 + ingreso_anual: 118263 + ingresos_acumulables: 115998 + ingresos_exentos: 2265 + subsidio_empleo: 0 + servicios_profesionales: + deducciones_autorizadas: + deducciones_autorizadas: 11870 + otras_deducciones: null + detalle_deducciones: + - tipo_deduccion: GASTOS + concepto: GASOLINA Y MANTENIMIENTO DE TRANSPORTE + monto_detallado: 9682 + - tipo_deduccion: GASTOS + concepto: COMPRAS Y GASTOS GENERALES + monto_detallado: 2188 + total_deducciones_autorizadas: 11870 + ingresos: + ingresos_acumulables: 46000 + ingresos_exentos: null + otros_ingresos: null + total_ingresos: 46000 + resultado_fiscal: + utilidad_fiscal: 34130 + ptu_pagada_ejercicio: 0 + perdidas_fiscales_ejercicios_anteriores_aplicadas: 0 + utilidad_gravable: 34130 + pagos_provisionales: + pagos_provisionales_efectuados_en_ejercicio: 0 + retenciones_isr: + isr_retenido_personas_morales: 4600 + deducciones_personales: + honorarios_medicos_dentales_hospitalarios: + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 1000 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 502.34 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A55 + monto_deducible: 14183.1 + - rfc_emisor: ABC444444A66 + monto_deducible: 1658 + - rfc_emisor: ABC444444A77 + monto_deducible: 1600 + - rfc_emisor: ABC444444A88 + monto_deducible: 1064 + - rfc_emisor: ABC444444A99 + monto_deducible: 927.57 + donativos: + - rfc_emisor: ABC555555A99 + monto_deducible: 10.03 + aportaciones_voluntarias_complementarias_al_sar: + - rfc_emisor: ABC666666A99 + monto_deducible: 12.03 + - rfc_emisor: ABC777777A99 + monto_deducible: 87.22 + primas_por_seguros_de_gasto_medico: + - rfc_emisor: ABC777777A99 + monto_deducible: 20.03 + determinacion_impuesto: + base_gravable: 126864 + deducciones_personales: 23264 + ingresos_acumulables: 150128 + isr_favorable: 10308 + isr_conforme_tarifa_final: 13789 + isr_retenido: 24097 + num_clabe: '000000000000000001' + nombre_banco: BANCO SA + pagos_provisionales: 0 + titular_clabe_permite_verificacion: SÍ + accion_saldo_a_favor: DEVOLUCIÓN + retenciones: + sueldos_salarios: + - rfc_retenedor: ABC444444A99 + monto_retenciones: 118263 + retenciones_isr: 19497 + dividendos: [] + servicios_profesionales: + - rfc_retenedor: ABC444444A00 + monto_retenciones: 46000 + retenciones_isr: 4600 + dividendos: + monto_acumulable_dividendos_utilidades: null + monto_total_isr_pagado_sociedad: null + datos_informativos: + credito_fiscal_autorizado_proyectos_investigacion_desarrollo: 0 + credito_fiscal_autorizado_proyectos_apoyo_deporte_alto_rendimiento: 0 + credito_fiscal_autorizado_proyectos_inversion_artes: 0 + credito_fiscal_autorizado_inversion_equipos_fijos: 0 + credito_fiscal_autorizado_produccion_distribucion_cinematografica: 0 + saldo_credito_fiscal_autorizado_anteriores_investigacion_desarrollo: 0 + saldo_credito_fiscal_anteriores_proyectos_inversion_artes: 0 + saldo_credito_fiscal_anteriores_produccion_distribucion_cinematografica: 0 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + type: yearly + TaxReturnPersonalListMonthlyPaginatedPFAE: + summary: Tax Return Personal Monthly (PFAe) + description: Example of a list of PFAE-type monthly personal tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListMonthlyPaginatedPFAI: + summary: Tax Return Personal Monthly (PFAI) + description: Example of a list of PFAI-type monthly personal tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + tipo_de_deduccíon: dedduccíon opicional + optas_por_el_cálculo_acumulado: 'NO' + deduccíon_opcional: 700 + impuesto_predial: 0 + total_deducciones_autorizadas: 700 + tienes_facilidades_administrativas_o_estímulos_deducibles: 'NO' + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + impuesto_a_cargo: 54 + cantidad_a_cargo: 54 + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnBusinessListPaginated: + summary: Tax Return Business + description: Example of a list of business tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T16:55:00-06:00' + numero_operacion: '000000000001' + periodo_declaracion: Del Ejercicio + rfc: ABC1111111A1 + tipo_declaracion: Normal + tipo_complementaria: null + denominacion_razon_social: ACME CORP + datos_adicionales: + indica_si_optas_por_dictaminar_tus_estados_financieros: 'NO' + estas_obligado_a_presentar_la_informacion_sobre_tu_situacion_fiscal: 'NO' + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero: SIN SELECCIÓN + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero_inferiores_100mdp: SIN SELECCIÓN + optas_por_presentar_informacion_sobre_tu_situacion_fiscal: SIN SELECCIÓN + indica_si_te_dedicas_exclisivamente_a_generacion_energia_fuentes_renovables_o_cogeneracion_electricidad_eficiente: 'NO' + estado_resultados: + ventas_servicios_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + ventas_servicios_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ingresos_netos: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + inventario_inicial: null + compras_netas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + compras_netas_importacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + inventario_final: null + costo_mercancias: null + mano_de_obra: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + maquilas: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + gastos_indirectos_fabricacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + costo_ventas_servicios: null + utilidad_bruta: 911165 + perdida_bruta: null + gastos_operacion: + partes_relacionadas: null + partes_no_relacionadas: 499540 + total: 499540 + utilidad_operacion: 411625 + perdida_operacion: null + intereses_devengados_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ganancia_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + perdida_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_favorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_desfavorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras: null + resultado_integral_financiamiento: null + otros_gastos_nacionales: null + otros_gastos_extranjero: null + otros_gastos: null + otros_productos_nacionales: null + otros_productos_extranjero: null + otros_productos: null + ingresos_partidas_discontinuas_extraordinarias: null + gastos_partidas_discontinuas_extraordinarias: null + utilidad_antes_impuesto: 411625 + perdida_antes_impuesto: null + isr: 113002 + ietu: null + impac: null + ptu: null + utilidad_participacion_subsidiaria: null + perdida_participacion_subsidiaria: null + efectos_reexpresion_favorables_excepto_resultado_posicion_monetaria: null + efectos_reexpresion_desfavorables_excepto_resultado_posicion_monetaria: null + utilidad_neta: 298623 + perdida_neta: null + estado_posicion_financiera_balance: + activo: + efectivo_caja_depositos_instituciones_credito_nacionales: 726644 + efectivo_caja_depositos_instituciones_credito_extranjero: null + inversiones_valores_instituciones_nacionales_excepto_acciones: null + inversiones_valores_instituciones_extranjero_excepto_acciones: null + cuentas_documentos_por_cobrar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + cuentas_documentos_por_cobrar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_a_favor: null + inventarios: null + otros_activos_circulantes: 13277 + inversiones_en_acciones_nacionales: null + inversiones_en_acciones_extranjero: null + inversiones_en_acciones_total: null + terrenos: null + construcciones: null + construcciones_en_proceso: null + maquinaria_y_equipo: null + mobiliario_y_equipo_oficina: null + equipo_de_computo: null + equipo_de_transporte: null + otros_activos_fijos: 12756 + depreciacion_acumulada: -106 + cargos_y_gastos_diferidos: 9319 + amortizacion_acumulada: null + suma_activo: 761890 + pasivo: + cuentas_documentos_por_pagar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 268227 + total: 268227 + cuentas_documentos_por_pagar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_por_pagar: 223490 + anticipos_de_clientes: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + aportaciones_futuros_aumentos_de_capital: null + otros_pasivos: null + suma_pasivo: 491717 + capital_contable: + capital_social_proveniente_aportaciones: 10000 + capital_social_proveniente_capitalizacion: null + reservas: null + otras_cuentas_capital: null + aportaciones_futuros_aumentos_de_capital: null + utilidades_acumuladas: null + utilidad_del_ejercicio: 298623 + perdidas_acumuladas: -38450 + perdida_del_ejercicio: null + exceso_en_actualizacion_capital: null + insuficiencia_en_actualizacion_capital: null + actualizacion_del_capital_contable: null + suma_capital_contable: 270173 + suma_pasivo_mas_capital_contable: 761890 + conciliacion_entre_resultado_contable_fiscal: + utilidad_o_perdida_neta: 298623 + efectos_reexpresion: null + resultado_posicion_monetaria: null + utilidad_o_perdida_neta_historica: 298623 + ingresos_fiscales_no_contables: 95 + ajuste_anual_inflacion_acumulable: 95 + anticipos_de_clientes: null + intereses_moratorios_efectivamente_cobrados: null + ganancia_en_enajenacion_acciones_por_reembolso_capital: null + ganancia_en_enajenacion_de_terrenos_y_activo_fijo: null + inventario_acumulable_del_ejercicio: null + otros_ingresos_fiscales_no_contables: null + deducciones_contables_no_fiscales: 117415 + costo_de_ventas_contable: null + depreciacion_y_amortizacion_contable: 106 + gastos_que_no_reunen_requisitos_fiscales: 4307 + isr_ietu_impac_ptu: 113002 + perdida_contable_enajenacion_de_acciones: null + perdida_contable_enajenacion_de_activo_fijo: null + perdida_en_participacion_subsidiaria: null + intereses_devengados_que_exceden_valor_mercado_y_moratorios_pagados_o_no: 0 + otras_deducciones_contables_no_fiscales: 0 + deducciones_fiscales_no_contables: 0 + ajuste_anual_inflacion_deducible: null + costo_vendido_fiscal: null + deduccion_inversiones: null + estimulo_fiscal_por_deduccion_inmediata_inversiones: null + donacion_bienes_basicos_subsistencia_humana: 0 + estimulo_fiscal_contratacion_personas_discapacidad_yo_mayores: 0 + deduccion_impuesto_sobre_renta_retenido_personas_discapacidad_yo_mayores: 0 + perdida_fiscal_en_enajenacion_acciones: null + perdida_fiscal_en_enajenacion_de_terrenos_y_activo_fijo: null + intereses_moratorios_efectivamente_pagados: null + otras_deducciones_fiscales_no_contables: null + ingresos_contables_no_fiscales: null + intereses_moratorios_devengados_a_favor_cobrados_o_no: null + anticipos_de_clientes_ejercicios_anteriores: null + saldos_a_favor_impuestos_y_su_actualizacion: null + utilidad_contable_enajenacion_de_activo_fijo: null + utilidad_contable_enajenacion_de_acciones: null + utilidad_en_participacion_subsidiaria: null + otros_ingresos_contables_no_fiscales: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416133 + deducciones_autorizadas: + sueldos_salarios: null + honorarios_pagados_a_personas_fisicas: null + regalias_y_asistencia_tecnica: null + donativos_otorgados: null + uso_o_goce_temporal_de_bienes_pagados_a_personas_fisicas: null + fletes_y_acarreos_pagados_a_parsonas_fisicas: null + contribuciones_pagadas_excepto_isr_ietu_impac_iva_ieps: null + seguros_fianzas: null + perdida_por_creditos_incobrables: null + viaticos_y_gastos_viaje: 59527 + combustible_y_lubricantes: null + credito_al_salario_no_disminuido_de_contribuciones: null + aportaciones_sar_infonavit_y_jubilaciones_vejez: null + aportaciones_para_fondos_de_pensiones_y_jubilaciones: null + cuotas_imss: null + consumos_en_restaurantes: 11254 + perdida_por_operaciones_financieras_derivadas: null + deduccion_por_concepto_de_ayuda_alimentaria_para_trabajadores: null + monto_total_pagos_que_sean_ingresos_exentos_para_trabajador: null + monto_deducible_al_47_pagos_son_ingresos_exentos_para_trabajador: null + monto_deducible_al_53_pagos_son_ingresos_exentos_para_trabajador: null + uso_o_goce_temporal_de_automoviles_baterias_electricas_o_electricos_con_motor_combustion_o_hidrogeno: null + otras_deducciones_autorizadas: 424346 + total_deducciones_autorizadas: 495127 + cifras_cierre_ejercicio: + perdidas_fiscales_de_ejercicios_anteriores_pendientes_de_amortizar_actualiazadas: null + saldo_promedio_anual_de_creditos: 142795 + saldo_promedio_anual_de_deudas: 144765 + coeficiente_de_utilidad_por_aplicar_en_ejercicio_siguiente: 0.4567 + porcentaje_de_participacion_consolidable: null + isr_causado_en_exceso_del_impac_en_los_3_ejercicios_anteriores_pendientes_aplicar: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_2013_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_a_partir_2014_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_reinvertida: null + saldo_actualizado_de_cuenta_de_capital_de_aportacion: null + saldo_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_renovables: null + determinacion_del_impuesto_sobre_la_renta: + determinacion_del_impuesto_sobre_la_renta: + total_ingresos_acumulables: 911260 + total_deducciones_autorizadas_y_deduccion_inmediata_inversiones: 495126 + deduccion_adicional_por_pago_servicios_personales_en_operacion_maquila: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416134 + ptu_pagada_en_el_ejercicio: null + utilidad_fiscal_del_ejercicio: 416134 + perdidas_fiscales_de_ejercicios_anteriores_que_se_aplican_en_ejercicio: 39462 + resultado_fiscal: 376672 + impuesto_causado_en_ejercicio: 113002 + tienes_estimulos_fiscales_a_acreditar: SIN SELECCIÓN + impuesto_sobre_la_renta_del_ejercicio: 113002 + pagos_provisionales_efectuados_enterados_a_federacion: null + impuesto_retenido_al_contribuyente: null + impuesto_acreditable_pagado_en_extranjero: null + impuesto_acreditable_por_dividendos_o_utilidades_distribuidos: null + otras_cantidades_a_cargo: null + otras_cantidades_a_favor: null + diferencia_a_cargo: 113002 + isr_a_cargo_del_ejercicio: 113002 + isr_a_favor_del_ejercicio: null + impuesto_sobre_ingresos_sujetos_a_regimenes_fiscales_preferentes: null + datos_informativos_ejercicio: + monto_aplicado_del_estimulo_fiscal_de_chatarrizacion: 0 + monto_deducible_de_pagos_efectuados_por_uso_o_goce_temporal_automoviles: 0 + impac_recuperado_en_ejercicio_derivado_de_deconsolidacion: 0 + ingresos_obtenidos_por_apoyos_gubernamentales: 0 + gastos_realidados_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_de_inversion_en_artes_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_inversion_en_proyectos_programas_para_deporte_de_alto_rendimiento_pendiente_aplicar: 0 + saldo_pendiente_aplicar_por_inversion_en_equipos_de_alimentacion_vehiculos_electricos: 0 + credito_fiscal_autorizado_en_ejercicio_a_produccion_distribucion_cinematografica_nacional_pendiente_aplicar: 0 + datos_informativos_ejercicios_anteriores_aplicados_en_ejercicio: + total_estimulo_produccion_y_distribucion_cinematografica_nacional_ejercicios_anteriores_aplicado_en_ejercicio: null + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_inversion_en_proyectos_programas_para_deporte_alto_rendimiento_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_inversion_artes_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_a_produccion_distribucion_nacional_pendiente_aplicar: 0 + dividendos_o_utilidades_distribuidos: + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_en_2013_y_anteriores: null + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_a_partir_de_2014: null + provenientes_de_cuenta_de_utilidad_fisica_neta_reinvertida_cufinre: null + no_provenientes_de_cufin_ni_cufinre_en_efectivo: null + no_provenientes_de_cufin_ni_cufinre_en_acciones: null + monto_del_impuesto_pagado_no_proveniente_de_cufin_ni_cufinre: null + monto_del_impuesto_pagado_de_utilidades_provenientes_de_cufinre: null + provenientes_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_energia_de_fuentes_renovables_o_sistemas_cogeneracion_electricidad_eficiente: null + detalle_pago_r1_isr_personas_morales: + a_cargo: 113002 + parte_actualizada: null + recargos: null + multa_por_correccion: null + total_contribuciones: 113002 + desea_aplicar_alguna_compensacion_o_estimulo: 'NO' + cantidad_a_cargo: 113002 + opta_por_pagar_parcialidades: SIN SELECCIÓN + importe_de_primera_parcialidad: null + importe_sin_primera_parcialidad: null + cantidad_a_favor: null + cantidad_a_pagar: 113002 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + type: yearly + TaxReturnBusinessListMonthlyPaginated: + summary: Tax Return Business Monthly + description: Example of a list of monthly business tax returns + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: DPA950805RR2 + denominacion_razon_social: Aloha Mahalo SC + tipo_declaracion: Normal + ejercicio: 2020 + periodo_declaracion: Diciembre + fecha_hora_presentacion: '2021-01-18T19:24:00-06:00' + numero_operacion: '400475119' + tipo_complementaria: null + determinacion_isr: + personas_morales_regimen_general: + suma_ingresos_nominales_meses_anteriores_ejercicio: 69848414 + estimulos_acreditables: null + ingresos_nominales_mes_que_declara: 6482479 + reducciones: null + total_ingresos_nominales: 76330893 + impuestos_del_periodo: 284098 + coeficiente_utilidad: 0.2318 + pagos_provisionales_efectuados_anterioridad: 303039 + utilidad_fiscal_pago_provisional: 17693501 + impuesto_retenido: 29925 + ptu: null + otras_cantidades_a_cargo_contribuyente: null + iventario_acumulable: null + otras_cantidades_a_favor_contribuyente: null + anticipos_rendimientos_distribuidos_periodo: 16746509 + diferencia_a_cargo: 0 + perdidas_fiscales_ejercicios_anteriores_pendientes: null + estimulo_fiscal_deduccion_inmediata: null + impuesto_correspondiente_participacion_consolidable: null + deduccion_adicional_fomento_primer_empleo: null + porcentaje_participacion_consolidable: null + base_gravable_pago_provisional: 946992 + impuesto_a_cargo: 0 + isr_causado: 284098 + ieps_alcohol: null + detalle_pago_isr: + r1_isr_personas_morales: + a_cargo: 0 + acreditamiento_sorteo_buen_fin: null + parte_actualizada: null + diesel_marino: null + recargos: null + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 0 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 0 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + uso_infraestructura_carretera_cuota: null + cantidad_a_pagar: 0 + otros_estimulos: null + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r12_isr_retenciones_por_salarios: + a_cargo: 415945 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 379 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 415945 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: 379 + cantidad_a_cargo: 415566 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 415566 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r13_isr_retenciones_por_asimilados_a_salarios: + a_cargo: 254588 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 254588 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 254588 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 254588 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r14_isr_retenciones_por_servicios_profesionales: + a_cargo: 104482 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 104482 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 104482 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 104482 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + determinacion_iva: + montos_actos_actividades_pagados: + total_actos_actividades_pagados_tasa_16: 2094706 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + total_actos_actividades_sujetos_estimulo_rfn: 0 + total_actos_actividades_pagados_tasa_0: 0 + total_actos_actividades_pagados_importacion_bienes_tasa_16: null + total_actos_actividades_pagados_no_paga_iva: 0 + detalle_total_actos_actividades_pagados_tasa_16: + intereses_pagados_tasa_16: null + otros_actos_pagados_tasa_16: 2094706 + regalias_pagadas_tasa_16: null + total_actos_pagados_tasa_16: 2094706 + determinacion_iva_acreditable: + total_iva_actos_actividades_pagados_tasa_16: 335153 + iva_trasladado_o_pagado_adquisicion_bienes_distintos_inversiones_actos_no_obligados_pago_impuesto: null + iva_pagado_sujeto_estimulo_rfn: null + iva_trasladado_o_pagado_importacion_inversiones_actos_no_obligados_pago_impuesto: null + total_actos_actividades_pagados_importacion_bienes_tasa_16: 0 + iva_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: 0 + proporcion_utilizada_conforme_art_5: null + total_iva_trasladado_contribuyente: 335153 + proporcion_utilizada_conforme_art_5_b: null + iva_trasladado_adquisicion_bienes_distintos_inversiones_actos_gravados: 335153 + iva_pagado_importacion_adquisicion_bienes_distintos_inversiones_actos_gravados: null + iva_acreditable: 335153 + monto_acreditable_actualizado_a_incrementar_derivado_ajuste: null + iva_pagado_importacion_inversiones_actos_gravados: null + total_iva_acreditable_periodo: 335153 + total_iva_actos_actividades_gravados: 335153 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + iva_trasladado_adquisicion_inversiones_actos_gravados: null + iva_acreditable_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: null + determinacion_iva: + valor_actos_actividades_gravados_tasa_16: 6457950 + otras_cantidades_a_favor_contribuyente: null + valor_actos_actividades_gravados_tasa_11: null + cantidad_a_cargo: 312421 + valor_actos_actividades_gravados_tasa_0_exportacion: null + saldo_a_favor: null + valor_actos_actividades_gravados_tasa_9_otros: null + devolucion_inmediata_obtenida: null + suma_actos_actividades_gravados: 6457950 + saldo_a_favor_periodo: 0 + valor_actos_actividades_no_se_deba_pagar_impuesto_exentos: null + acreditamiento_saldo_favor_periodos_anteriores: null + impuesto_causado: 1033272 + diferencia_a_cargo: 312421 + cantidad_actualizada_a_reintegrarse_derivada_de_ajuste: null + ieps_acreditable_alcohol: null + iva_retenido_al_contribuyente: 385698 + impuesto_a_cargo: 312421 + total_iva_acreditable: 335153 + remanente_saldo_favor_ieps_alcohol: null + otras_cantidades_a_cargo_contribuyente: null + detalle_valor_actos_actividades_gravados_tasa_16: + intereses_cobrados_tasa_16: null + otros_actos_actividades_gravados_tasa_16: 6457950 + regalias_entre_partes_relacionadas_tasa_16: null + total_actos_actividades_gravados_tasa_16: 6457950 + detalle_pago_iva: + r21_iva: + a_cargo: 312421 + cretificados_tesofe: null + a_favor: null + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 312421 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 312421 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + diesel_automotriz_transporte: null + uso_infraestructura_carretera_cuota: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 312421 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r21_iva_retenciones: + a_cargo: 111448 + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 111448 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 111448 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + otros_estimulos: null + cantidad_a_favor: null + cretificados_tesofe: null + cantidad_a_pagar: 111448 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalList: + summary: Tax Return Personal + description: Example of a list of personal tax returns + value: + - id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T17:28:00-05:00' + numero_operacion: '00000000001' + periodo_declaracion: Del Ejercicio + rfc: ABCD111111A11 + tipo_declaracion: Normal + nombre: JOHN DOE + sueldos_salarios: + retenedores: + - rfc_retenedor: ABCD222222A22 + nombre_denominacion_razon_social: ACME CORP + ingresos_exentos: 118263 + ingreso_anual: 2265 + subsidio_empleo: 0 + impuesto_retenido: 19497 + ingreso_anual: 118263 + ingresos_acumulables: 115998 + ingresos_exentos: 2265 + subsidio_empleo: 0 + servicios_profesionales: + deducciones_autorizadas: + deducciones_autorizadas: 11870 + otras_deducciones: null + detalle_deducciones: + - tipo_deduccion: GASTOS + concepto: GASOLINA Y MANTENIMIENTO DE TRANSPORTE + monto_detallado: 9682 + - tipo_deduccion: GASTOS + concepto: COMPRAS Y GASTOS GENERALES + monto_detallado: 2188 + total_deducciones_autorizadas: 11870 + ingresos: + ingresos_acumulables: 46000 + ingresos_exentos: null + otros_ingresos: null + total_ingresos: 46000 + resultado_fiscal: + utilidad_fiscal: 34130 + ptu_pagada_ejercicio: 0 + perdidas_fiscales_ejercicios_anteriores_aplicadas: 0 + utilidad_gravable: 34130 + pagos_provisionales: + pagos_provisionales_efectuados_en_ejercicio: 0 + retenciones_isr: + isr_retenido_personas_morales: 4600 + deducciones_personales: + honorarios_medicos_dentales_hospitalarios: + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 1000 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 502.34 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A55 + monto_deducible: 14183.1 + - rfc_emisor: ABC444444A66 + monto_deducible: 1658 + - rfc_emisor: ABC444444A77 + monto_deducible: 1600 + - rfc_emisor: ABC444444A88 + monto_deducible: 1064 + - rfc_emisor: ABC444444A99 + monto_deducible: 927.57 + donativos: + - rfc_emisor: ABC555555A99 + monto_deducible: 10.03 + aportaciones_voluntarias_complementarias_al_sar: + - rfc_emisor: ABC666666A99 + monto_deducible: 12.03 + - rfc_emisor: ABC777777A99 + monto_deducible: 87.22 + primas_por_seguros_de_gasto_medico: + - rfc_emisor: ABC777777A99 + monto_deducible: 20.03 + determinacion_impuesto: + base_gravable: 126864 + deducciones_personales: 23264 + ingresos_acumulables: 150128 + isr_favorable: 10308 + isr_conforme_tarifa_final: 13789 + isr_retenido: 24097 + num_clabe: '000000000000000001' + nombre_banco: BANCO SA + pagos_provisionales: 0 + titular_clabe_permite_verificacion: SÍ + accion_saldo_a_favor: DEVOLUCIÓN + retenciones: + sueldos_salarios: + - rfc_retenedor: ABC444444A99 + monto_retenciones: 118263 + retenciones_isr: 19497 + dividendos: [] + servicios_profesionales: + - rfc_retenedor: ABC444444A00 + monto_retenciones: 46000 + retenciones_isr: 4600 + dividendos: + monto_acumulable_dividendos_utilidades: null + monto_total_isr_pagado_sociedad: null + datos_informativos: + credito_fiscal_autorizado_proyectos_investigacion_desarrollo: 0 + credito_fiscal_autorizado_proyectos_apoyo_deporte_alto_rendimiento: 0 + credito_fiscal_autorizado_proyectos_inversion_artes: 0 + credito_fiscal_autorizado_inversion_equipos_fijos: 0 + credito_fiscal_autorizado_produccion_distribucion_cinematografica: 0 + saldo_credito_fiscal_autorizado_anteriores_investigacion_desarrollo: 0 + saldo_credito_fiscal_anteriores_proyectos_inversion_artes: 0 + saldo_credito_fiscal_anteriores_produccion_distribucion_cinematografica: 0 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnPersonalListMonthlyPFAE: + summary: Tax Return Personal Monthly (PFAE) + description: Example of a PFAE-type monthly personal tax return + value: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListMonthlyPFAI: + summary: Tax Return Personal Monthly (PFAI) + description: Example of a PFAI-type monthly personal tax return + value: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + tipo_de_deduccíon: dedduccíon opicional + optas_por_el_cálculo_acumulado: 'NO' + deduccíon_opcional: 700 + impuesto_predial: 0 + total_deducciones_autorizadas: 700 + tienes_facilidades_administrativas_o_estímulos_deducibles: 'NO' + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + impuesto_a_cargo: 54 + cantidad_a_cargo: 54 + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnBusinessList: + summary: Tax Return Business + description: Example of a list of business tax returns + value: + - id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T16:55:00-06:00' + numero_operacion: '000000000001' + periodo_declaracion: Del Ejercicio + rfc: ABC1111111A1 + tipo_declaracion: Normal + tipo_complementaria: null + denominacion_razon_social: ACME CORP + datos_adicionales: + indica_si_optas_por_dictaminar_tus_estados_financieros: 'NO' + estas_obligado_a_presentar_la_informacion_sobre_tu_situacion_fiscal: 'NO' + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero: SIN SELECCIÓN + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero_inferiores_100mdp: SIN SELECCIÓN + optas_por_presentar_informacion_sobre_tu_situacion_fiscal: SIN SELECCIÓN + indica_si_te_dedicas_exclisivamente_a_generacion_energia_fuentes_renovables_o_cogeneracion_electricidad_eficiente: 'NO' + estado_resultados: + ventas_servicios_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + ventas_servicios_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ingresos_netos: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + inventario_inicial: null + compras_netas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + compras_netas_importacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + inventario_final: null + costo_mercancias: null + mano_de_obra: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + maquilas: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + gastos_indirectos_fabricacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + costo_ventas_servicios: null + utilidad_bruta: 911165 + perdida_bruta: null + gastos_operacion: + partes_relacionadas: null + partes_no_relacionadas: 499540 + total: 499540 + utilidad_operacion: 411625 + perdida_operacion: null + intereses_devengados_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ganancia_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + perdida_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_favorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_desfavorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras: null + resultado_integral_financiamiento: null + otros_gastos_nacionales: null + otros_gastos_extranjero: null + otros_gastos: null + otros_productos_nacionales: null + otros_productos_extranjero: null + otros_productos: null + ingresos_partidas_discontinuas_extraordinarias: null + gastos_partidas_discontinuas_extraordinarias: null + utilidad_antes_impuesto: 411625 + perdida_antes_impuesto: null + isr: 113002 + ietu: null + impac: null + ptu: null + utilidad_participacion_subsidiaria: null + perdida_participacion_subsidiaria: null + efectos_reexpresion_favorables_excepto_resultado_posicion_monetaria: null + efectos_reexpresion_desfavorables_excepto_resultado_posicion_monetaria: null + utilidad_neta: 298623 + perdida_neta: null + estado_posicion_financiera_balance: + activo: + efectivo_caja_depositos_instituciones_credito_nacionales: 726644 + efectivo_caja_depositos_instituciones_credito_extranjero: null + inversiones_valores_instituciones_nacionales_excepto_acciones: null + inversiones_valores_instituciones_extranjero_excepto_acciones: null + cuentas_documentos_por_cobrar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + cuentas_documentos_por_cobrar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_a_favor: null + inventarios: null + otros_activos_circulantes: 13277 + inversiones_en_acciones_nacionales: null + inversiones_en_acciones_extranjero: null + inversiones_en_acciones_total: null + terrenos: null + construcciones: null + construcciones_en_proceso: null + maquinaria_y_equipo: null + mobiliario_y_equipo_oficina: null + equipo_de_computo: null + equipo_de_transporte: null + otros_activos_fijos: 12756 + depreciacion_acumulada: -106 + cargos_y_gastos_diferidos: 9319 + amortizacion_acumulada: null + suma_activo: 761890 + pasivo: + cuentas_documentos_por_pagar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 268227 + total: 268227 + cuentas_documentos_por_pagar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_por_pagar: 223490 + anticipos_de_clientes: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + aportaciones_futuros_aumentos_de_capital: null + otros_pasivos: null + suma_pasivo: 491717 + capital_contable: + capital_social_proveniente_aportaciones: 10000 + capital_social_proveniente_capitalizacion: null + reservas: null + otras_cuentas_capital: null + aportaciones_futuros_aumentos_de_capital: null + utilidades_acumuladas: null + utilidad_del_ejercicio: 298623 + perdidas_acumuladas: -38450 + perdida_del_ejercicio: null + exceso_en_actualizacion_capital: null + insuficiencia_en_actualizacion_capital: null + actualizacion_del_capital_contable: null + suma_capital_contable: 270173 + suma_pasivo_mas_capital_contable: 761890 + conciliacion_entre_resultado_contable_fiscal: + utilidad_o_perdida_neta: 298623 + efectos_reexpresion: null + resultado_posicion_monetaria: null + utilidad_o_perdida_neta_historica: 298623 + ingresos_fiscales_no_contables: 95 + ajuste_anual_inflacion_acumulable: 95 + anticipos_de_clientes: null + intereses_moratorios_efectivamente_cobrados: null + ganancia_en_enajenacion_acciones_por_reembolso_capital: null + ganancia_en_enajenacion_de_terrenos_y_activo_fijo: null + inventario_acumulable_del_ejercicio: null + otros_ingresos_fiscales_no_contables: null + deducciones_contables_no_fiscales: 117415 + costo_de_ventas_contable: null + depreciacion_y_amortizacion_contable: 106 + gastos_que_no_reunen_requisitos_fiscales: 4307 + isr_ietu_impac_ptu: 113002 + perdida_contable_enajenacion_de_acciones: null + perdida_contable_enajenacion_de_activo_fijo: null + perdida_en_participacion_subsidiaria: null + intereses_devengados_que_exceden_valor_mercado_y_moratorios_pagados_o_no: 0 + otras_deducciones_contables_no_fiscales: 0 + deducciones_fiscales_no_contables: 0 + ajuste_anual_inflacion_deducible: null + costo_vendido_fiscal: null + deduccion_inversiones: null + estimulo_fiscal_por_deduccion_inmediata_inversiones: null + donacion_bienes_basicos_subsistencia_humana: 0 + estimulo_fiscal_contratacion_personas_discapacidad_yo_mayores: 0 + deduccion_impuesto_sobre_renta_retenido_personas_discapacidad_yo_mayores: 0 + perdida_fiscal_en_enajenacion_acciones: null + perdida_fiscal_en_enajenacion_de_terrenos_y_activo_fijo: null + intereses_moratorios_efectivamente_pagados: null + otras_deducciones_fiscales_no_contables: null + ingresos_contables_no_fiscales: null + intereses_moratorios_devengados_a_favor_cobrados_o_no: null + anticipos_de_clientes_ejercicios_anteriores: null + saldos_a_favor_impuestos_y_su_actualizacion: null + utilidad_contable_enajenacion_de_activo_fijo: null + utilidad_contable_enajenacion_de_acciones: null + utilidad_en_participacion_subsidiaria: null + otros_ingresos_contables_no_fiscales: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416133 + deducciones_autorizadas: + sueldos_salarios: null + honorarios_pagados_a_personas_fisicas: null + regalias_y_asistencia_tecnica: null + donativos_otorgados: null + uso_o_goce_temporal_de_bienes_pagados_a_personas_fisicas: null + fletes_y_acarreos_pagados_a_parsonas_fisicas: null + contribuciones_pagadas_excepto_isr_ietu_impac_iva_ieps: null + seguros_fianzas: null + perdida_por_creditos_incobrables: null + viaticos_y_gastos_viaje: 59527 + combustible_y_lubricantes: null + credito_al_salario_no_disminuido_de_contribuciones: null + aportaciones_sar_infonavit_y_jubilaciones_vejez: null + aportaciones_para_fondos_de_pensiones_y_jubilaciones: null + cuotas_imss: null + consumos_en_restaurantes: 11254 + perdida_por_operaciones_financieras_derivadas: null + deduccion_por_concepto_de_ayuda_alimentaria_para_trabajadores: null + monto_total_pagos_que_sean_ingresos_exentos_para_trabajador: null + monto_deducible_al_47_pagos_son_ingresos_exentos_para_trabajador: null + monto_deducible_al_53_pagos_son_ingresos_exentos_para_trabajador: null + uso_o_goce_temporal_de_automoviles_baterias_electricas_o_electricos_con_motor_combustion_o_hidrogeno: null + otras_deducciones_autorizadas: 424346 + total_deducciones_autorizadas: 495127 + cifras_cierre_ejercicio: + perdidas_fiscales_de_ejercicios_anteriores_pendientes_de_amortizar_actualiazadas: null + saldo_promedio_anual_de_creditos: 142795 + saldo_promedio_anual_de_deudas: 144765 + coeficiente_de_utilidad_por_aplicar_en_ejercicio_siguiente: 0.4567 + porcentaje_de_participacion_consolidable: null + isr_causado_en_exceso_del_impac_en_los_3_ejercicios_anteriores_pendientes_aplicar: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_2013_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_a_partir_2014_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_reinvertida: null + saldo_actualizado_de_cuenta_de_capital_de_aportacion: null + saldo_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_renovables: null + determinacion_del_impuesto_sobre_la_renta: + determinacion_del_impuesto_sobre_la_renta: + total_ingresos_acumulables: 911260 + total_deducciones_autorizadas_y_deduccion_inmediata_inversiones: 495126 + deduccion_adicional_por_pago_servicios_personales_en_operacion_maquila: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416134 + ptu_pagada_en_el_ejercicio: null + utilidad_fiscal_del_ejercicio: 416134 + perdidas_fiscales_de_ejercicios_anteriores_que_se_aplican_en_ejercicio: 39462 + resultado_fiscal: 376672 + impuesto_causado_en_ejercicio: 113002 + tienes_estimulos_fiscales_a_acreditar: SIN SELECCIÓN + impuesto_sobre_la_renta_del_ejercicio: 113002 + pagos_provisionales_efectuados_enterados_a_federacion: null + impuesto_retenido_al_contribuyente: null + impuesto_acreditable_pagado_en_extranjero: null + impuesto_acreditable_por_dividendos_o_utilidades_distribuidos: null + otras_cantidades_a_cargo: null + otras_cantidades_a_favor: null + diferencia_a_cargo: 113002 + isr_a_cargo_del_ejercicio: 113002 + isr_a_favor_del_ejercicio: null + impuesto_sobre_ingresos_sujetos_a_regimenes_fiscales_preferentes: null + datos_informativos_ejercicio: + monto_aplicado_del_estimulo_fiscal_de_chatarrizacion: 0 + monto_deducible_de_pagos_efectuados_por_uso_o_goce_temporal_automoviles: 0 + impac_recuperado_en_ejercicio_derivado_de_deconsolidacion: 0 + ingresos_obtenidos_por_apoyos_gubernamentales: 0 + gastos_realidados_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_de_inversion_en_artes_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_inversion_en_proyectos_programas_para_deporte_de_alto_rendimiento_pendiente_aplicar: 0 + saldo_pendiente_aplicar_por_inversion_en_equipos_de_alimentacion_vehiculos_electricos: 0 + credito_fiscal_autorizado_en_ejercicio_a_produccion_distribucion_cinematografica_nacional_pendiente_aplicar: 0 + datos_informativos_ejercicios_anteriores_aplicados_en_ejercicio: + total_estimulo_produccion_y_distribucion_cinematografica_nacional_ejercicios_anteriores_aplicado_en_ejercicio: null + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_inversion_en_proyectos_programas_para_deporte_alto_rendimiento_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_inversion_artes_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_a_produccion_distribucion_nacional_pendiente_aplicar: 0 + dividendos_o_utilidades_distribuidos: + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_en_2013_y_anteriores: null + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_a_partir_de_2014: null + provenientes_de_cuenta_de_utilidad_fisica_neta_reinvertida_cufinre: null + no_provenientes_de_cufin_ni_cufinre_en_efectivo: null + no_provenientes_de_cufin_ni_cufinre_en_acciones: null + monto_del_impuesto_pagado_no_proveniente_de_cufin_ni_cufinre: null + monto_del_impuesto_pagado_de_utilidades_provenientes_de_cufinre: null + provenientes_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_energia_de_fuentes_renovables_o_sistemas_cogeneracion_electricidad_eficiente: null + detalle_pago_r1_isr_personas_morales: + a_cargo: 113002 + parte_actualizada: null + recargos: null + multa_por_correccion: null + total_contribuciones: 113002 + desea_aplicar_alguna_compensacion_o_estimulo: 'NO' + cantidad_a_cargo: 113002 + opta_por_pagar_parcialidades: SIN SELECCIÓN + importe_de_primera_parcialidad: null + importe_sin_primera_parcialidad: null + cantidad_a_favor: null + cantidad_a_pagar: 113002 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnBusinessListMonthly: + summary: Tax Return Business Monthly + description: Example of a monthly business tax return + value: + - collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: DPA950805RR2 + denominacion_razon_social: Aloha Mahalo SC + tipo_declaracion: Normal + ejercicio: 2020 + periodo_declaracion: Diciembre + fecha_hora_presentacion: '2021-01-18T19:24:00-06:00' + numero_operacion: '400475119' + tipo_complementaria: null + determinacion_isr: + personas_morales_regimen_general: + suma_ingresos_nominales_meses_anteriores_ejercicio: 69848414 + estimulos_acreditables: null + ingresos_nominales_mes_que_declara: 6482479 + reducciones: null + total_ingresos_nominales: 76330893 + impuestos_del_periodo: 284098 + coeficiente_utilidad: 0.2318 + pagos_provisionales_efectuados_anterioridad: 303039 + utilidad_fiscal_pago_provisional: 17693501 + impuesto_retenido: 29925 + ptu: null + otras_cantidades_a_cargo_contribuyente: null + iventario_acumulable: null + otras_cantidades_a_favor_contribuyente: null + anticipos_rendimientos_distribuidos_periodo: 16746509 + diferencia_a_cargo: 0 + perdidas_fiscales_ejercicios_anteriores_pendientes: null + estimulo_fiscal_deduccion_inmediata: null + impuesto_correspondiente_participacion_consolidable: null + deduccion_adicional_fomento_primer_empleo: null + porcentaje_participacion_consolidable: null + base_gravable_pago_provisional: 946992 + impuesto_a_cargo: 0 + isr_causado: 284098 + ieps_alcohol: null + detalle_pago_isr: + r1_isr_personas_morales: + a_cargo: 0 + acreditamiento_sorteo_buen_fin: null + parte_actualizada: null + diesel_marino: null + recargos: null + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 0 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 0 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + uso_infraestructura_carretera_cuota: null + cantidad_a_pagar: 0 + otros_estimulos: null + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r12_isr_retenciones_por_salarios: + a_cargo: 415945 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 379 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 415945 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: 379 + cantidad_a_cargo: 415566 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 415566 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r13_isr_retenciones_por_asimilados_a_salarios: + a_cargo: 254588 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 254588 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 254588 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 254588 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r14_isr_retenciones_por_servicios_profesionales: + a_cargo: 104482 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 104482 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 104482 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 104482 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + determinacion_iva: + montos_actos_actividades_pagados: + total_actos_actividades_pagados_tasa_16: 2094706 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + total_actos_actividades_sujetos_estimulo_rfn: 0 + total_actos_actividades_pagados_tasa_0: 0 + total_actos_actividades_pagados_importacion_bienes_tasa_16: null + total_actos_actividades_pagados_no_paga_iva: 0 + detalle_total_actos_actividades_pagados_tasa_16: + intereses_pagados_tasa_16: null + otros_actos_pagados_tasa_16: 2094706 + regalias_pagadas_tasa_16: null + total_actos_pagados_tasa_16: 2094706 + determinacion_iva_acreditable: + total_iva_actos_actividades_pagados_tasa_16: 335153 + iva_trasladado_o_pagado_adquisicion_bienes_distintos_inversiones_actos_no_obligados_pago_impuesto: null + iva_pagado_sujeto_estimulo_rfn: null + iva_trasladado_o_pagado_importacion_inversiones_actos_no_obligados_pago_impuesto: null + total_actos_actividades_pagados_importacion_bienes_tasa_16: 0 + iva_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: 0 + proporcion_utilizada_conforme_art_5: null + total_iva_trasladado_contribuyente: 335153 + proporcion_utilizada_conforme_art_5_b: null + iva_trasladado_adquisicion_bienes_distintos_inversiones_actos_gravados: 335153 + iva_pagado_importacion_adquisicion_bienes_distintos_inversiones_actos_gravados: null + iva_acreditable: 335153 + monto_acreditable_actualizado_a_incrementar_derivado_ajuste: null + iva_pagado_importacion_inversiones_actos_gravados: null + total_iva_acreditable_periodo: 335153 + total_iva_actos_actividades_gravados: 335153 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + iva_trasladado_adquisicion_inversiones_actos_gravados: null + iva_acreditable_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: null + determinacion_iva: + valor_actos_actividades_gravados_tasa_16: 6457950 + otras_cantidades_a_favor_contribuyente: null + valor_actos_actividades_gravados_tasa_11: null + cantidad_a_cargo: 312421 + valor_actos_actividades_gravados_tasa_0_exportacion: null + saldo_a_favor: null + valor_actos_actividades_gravados_tasa_9_otros: null + devolucion_inmediata_obtenida: null + suma_actos_actividades_gravados: 6457950 + saldo_a_favor_periodo: 0 + valor_actos_actividades_no_se_deba_pagar_impuesto_exentos: null + acreditamiento_saldo_favor_periodos_anteriores: null + impuesto_causado: 1033272 + diferencia_a_cargo: 312421 + cantidad_actualizada_a_reintegrarse_derivada_de_ajuste: null + ieps_acreditable_alcohol: null + iva_retenido_al_contribuyente: 385698 + impuesto_a_cargo: 312421 + total_iva_acreditable: 335153 + remanente_saldo_favor_ieps_alcohol: null + otras_cantidades_a_cargo_contribuyente: null + detalle_valor_actos_actividades_gravados_tasa_16: + intereses_cobrados_tasa_16: null + otros_actos_actividades_gravados_tasa_16: 6457950 + regalias_entre_partes_relacionadas_tasa_16: null + total_actos_actividades_gravados_tasa_16: 6457950 + detalle_pago_iva: + r21_iva: + a_cargo: 312421 + cretificados_tesofe: null + a_favor: null + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 312421 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 312421 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + diesel_automotriz_transporte: null + uso_infraestructura_carretera_cuota: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 312421 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r21_iva_retenciones: + a_cargo: 111448 + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 111448 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 111448 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + otros_estimulos: null + cantidad_a_favor: null + cretificados_tesofe: null + cantidad_a_pagar: 111448 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListDetail: + summary: Tax Return Personal + description: Example of a list of personal tax returns + value: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T17:28:00-05:00' + numero_operacion: '00000000001' + periodo_declaracion: Del Ejercicio + rfc: ABCD111111A11 + tipo_declaracion: Normal + nombre: JOHN DOE + sueldos_salarios: + retenedores: + - rfc_retenedor: ABCD222222A22 + nombre_denominacion_razon_social: ACME CORP + ingresos_exentos: 118263 + ingreso_anual: 2265 + subsidio_empleo: 0 + impuesto_retenido: 19497 + ingreso_anual: 118263 + ingresos_acumulables: 115998 + ingresos_exentos: 2265 + subsidio_empleo: 0 + servicios_profesionales: + deducciones_autorizadas: + deducciones_autorizadas: 11870 + otras_deducciones: null + detalle_deducciones: + - tipo_deduccion: GASTOS + concepto: GASOLINA Y MANTENIMIENTO DE TRANSPORTE + monto_detallado: 9682 + - tipo_deduccion: GASTOS + concepto: COMPRAS Y GASTOS GENERALES + monto_detallado: 2188 + total_deducciones_autorizadas: 11870 + ingresos: + ingresos_acumulables: 46000 + ingresos_exentos: null + otros_ingresos: null + total_ingresos: 46000 + resultado_fiscal: + utilidad_fiscal: 34130 + ptu_pagada_ejercicio: 0 + perdidas_fiscales_ejercicios_anteriores_aplicadas: 0 + utilidad_gravable: 34130 + pagos_provisionales: + pagos_provisionales_efectuados_en_ejercicio: 0 + retenciones_isr: + isr_retenido_personas_morales: 4600 + deducciones_personales: + honorarios_medicos_dentales_hospitalarios: + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 1000 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A44 + monto_deducible: 502.34 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC333333A33 + monto_deducible: 258.83 + - rfc_emisor: ABC444444A55 + monto_deducible: 14183.1 + - rfc_emisor: ABC444444A66 + monto_deducible: 1658 + - rfc_emisor: ABC444444A77 + monto_deducible: 1600 + - rfc_emisor: ABC444444A88 + monto_deducible: 1064 + - rfc_emisor: ABC444444A99 + monto_deducible: 927.57 + donativos: + - rfc_emisor: ABC555555A99 + monto_deducible: 10.03 + aportaciones_voluntarias_complementarias_al_sar: + - rfc_emisor: ABC666666A99 + monto_deducible: 12.03 + - rfc_emisor: ABC777777A99 + monto_deducible: 87.22 + primas_por_seguros_de_gasto_medico: + - rfc_emisor: ABC777777A99 + monto_deducible: 20.03 + determinacion_impuesto: + base_gravable: 126864 + deducciones_personales: 23264 + ingresos_acumulables: 150128 + isr_favorable: 10308 + isr_conforme_tarifa_final: 13789 + isr_retenido: 24097 + num_clabe: '000000000000000001' + nombre_banco: BANCO SA + pagos_provisionales: 0 + titular_clabe_permite_verificacion: SÍ + accion_saldo_a_favor: DEVOLUCIÓN + retenciones: + sueldos_salarios: + - rfc_retenedor: ABC444444A99 + monto_retenciones: 118263 + retenciones_isr: 19497 + dividendos: [] + servicios_profesionales: + - rfc_retenedor: ABC444444A00 + monto_retenciones: 46000 + retenciones_isr: 4600 + dividendos: + monto_acumulable_dividendos_utilidades: null + monto_total_isr_pagado_sociedad: null + datos_informativos: + credito_fiscal_autorizado_proyectos_investigacion_desarrollo: 0 + credito_fiscal_autorizado_proyectos_apoyo_deporte_alto_rendimiento: 0 + credito_fiscal_autorizado_proyectos_inversion_artes: 0 + credito_fiscal_autorizado_inversion_equipos_fijos: 0 + credito_fiscal_autorizado_produccion_distribucion_cinematografica: 0 + saldo_credito_fiscal_autorizado_anteriores_investigacion_desarrollo: 0 + saldo_credito_fiscal_anteriores_proyectos_inversion_artes: 0 + saldo_credito_fiscal_anteriores_produccion_distribucion_cinematografica: 0 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnPersonalListMonthlyPFAEDetail: + summary: Tax Return Personal Monthly (PFAE) + description: Example of a PFAE-type monthly personal tax return + value: + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnPersonalListMonthlyPFAIDetail: + summary: Tax Return Personal Monthly (PFAI) + description: Example of a PFAI-type monthly personal tax return + value: + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: null + nombre: null + tipo_declaracion: null + ejercicio: null + periodo_declaracion: null + fecha_hora_presentacion: null + numero_operacion: null + isr: + tipo: PFAE + determinacion: + ingresos_periodos_anteriores: 0 + ingresos_periodo: 0 + total_ingresos: 0 + compras_gastos_periodos_anteriores: 1596 + compra_gastos_periodo: 399 + total_compras_gastos: 1995 + base_gravable_pago_provisional: 0 + isr_causado: 0 + pagos_provisionales_efectuados_anterioridad: 0 + isr_retenido_periodos_anteriores: 0 + impuesto_retenido: 0 + isr_cargo: 0 + tipo_de_deduccíon: dedduccíon opicional + optas_por_el_cálculo_acumulado: 'NO' + deduccíon_opcional: 700 + impuesto_predial: 0 + total_deducciones_autorizadas: 700 + tienes_facilidades_administrativas_o_estímulos_deducibles: 'NO' + detalle_del_pago: + a_cargo: 0 + parte_actualizada: 0 + recargos: 0 + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + iva: + determinacion: + actividades_gravadas_tasa_16: 0 + actividades_gravadas_tasa_0: 0 + actividades_exentas: 0 + iva_cobrado_periodo_tasa_16: 0 + iva_acreditable_periodo: 0 + iva_retenido: 0 + saldo_a_favor: null + impuesto_a_favor: null + impuesto_a_cargo: 54 + cantidad_a_cargo: 54 + detalle_del_pago: + total_contribuciones: 0 + total_aplicaciones: 0 + cantidad_a_cargo: 0 + cantidad_a_pagar: 0 + a_favor: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxReturnBusinessListDetail: + summary: Tax Return Business + description: Example of a list of business tax returns + value: + id: 02589c41-ba22-4d44-8558-8111cc751318 + link: 19697249-01b8-443e-a451-76bfc5fbeebf + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + ejercicio: 2018 + fecha_hora_presentacion: '2020-01-07T16:55:00-06:00' + numero_operacion: '000000000001' + periodo_declaracion: Del Ejercicio + rfc: ABC1111111A1 + tipo_declaracion: Normal + tipo_complementaria: null + denominacion_razon_social: ACME CORP + datos_adicionales: + indica_si_optas_por_dictaminar_tus_estados_financieros: 'NO' + estas_obligado_a_presentar_la_informacion_sobre_tu_situacion_fiscal: 'NO' + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero: SIN SELECCIÓN + estas_obligado_unicamente_por_supuesto_distinto_al_de_haber_realizado_operaciones_con_residentes_extranjero_inferiores_100mdp: SIN SELECCIÓN + optas_por_presentar_informacion_sobre_tu_situacion_fiscal: SIN SELECCIÓN + indica_si_te_dedicas_exclisivamente_a_generacion_energia_fuentes_renovables_o_cogeneracion_electricidad_eficiente: 'NO' + estado_resultados: + ventas_servicios_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + ventas_servicios_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + devoluciones_descuentos_bonificaciones_ventas_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ingresos_netos: + partes_relacionadas: null + partes_no_relacionadas: 911165 + total: 911165 + inventario_inicial: null + compras_netas_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + compras_netas_importacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + inventario_final: null + costo_mercancias: null + mano_de_obra: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + maquilas: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + gastos_indirectos_fabricacion: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + costo_ventas_servicios: null + utilidad_bruta: 911165 + perdida_bruta: null + gastos_operacion: + partes_relacionadas: null + partes_no_relacionadas: 499540 + total: 499540 + utilidad_operacion: 411625 + perdida_operacion: null + intereses_devengados_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_favor_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + ganancia_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_devengados_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + intereses_moratorios_a_cargo_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + perdida_cambiaria: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_favorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + resultado_posicion_monetaria_desfavorable: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + otras_operaciones_financieras: null + resultado_integral_financiamiento: null + otros_gastos_nacionales: null + otros_gastos_extranjero: null + otros_gastos: null + otros_productos_nacionales: null + otros_productos_extranjero: null + otros_productos: null + ingresos_partidas_discontinuas_extraordinarias: null + gastos_partidas_discontinuas_extraordinarias: null + utilidad_antes_impuesto: 411625 + perdida_antes_impuesto: null + isr: 113002 + ietu: null + impac: null + ptu: null + utilidad_participacion_subsidiaria: null + perdida_participacion_subsidiaria: null + efectos_reexpresion_favorables_excepto_resultado_posicion_monetaria: null + efectos_reexpresion_desfavorables_excepto_resultado_posicion_monetaria: null + utilidad_neta: 298623 + perdida_neta: null + estado_posicion_financiera_balance: + activo: + efectivo_caja_depositos_instituciones_credito_nacionales: 726644 + efectivo_caja_depositos_instituciones_credito_extranjero: null + inversiones_valores_instituciones_nacionales_excepto_acciones: null + inversiones_valores_instituciones_extranjero_excepto_acciones: null + cuentas_documentos_por_cobrar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + cuentas_documentos_por_cobrar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_a_favor: null + inventarios: null + otros_activos_circulantes: 13277 + inversiones_en_acciones_nacionales: null + inversiones_en_acciones_extranjero: null + inversiones_en_acciones_total: null + terrenos: null + construcciones: null + construcciones_en_proceso: null + maquinaria_y_equipo: null + mobiliario_y_equipo_oficina: null + equipo_de_computo: null + equipo_de_transporte: null + otros_activos_fijos: 12756 + depreciacion_acumulada: -106 + cargos_y_gastos_diferidos: 9319 + amortizacion_acumulada: null + suma_activo: 761890 + pasivo: + cuentas_documentos_por_pagar_nacionales: + partes_relacionadas: null + partes_no_relacionadas: 268227 + total: 268227 + cuentas_documentos_por_pagar_extranjero: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + contribuciones_por_pagar: 223490 + anticipos_de_clientes: + partes_relacionadas: null + partes_no_relacionadas: null + total: null + aportaciones_futuros_aumentos_de_capital: null + otros_pasivos: null + suma_pasivo: 491717 + capital_contable: + capital_social_proveniente_aportaciones: 10000 + capital_social_proveniente_capitalizacion: null + reservas: null + otras_cuentas_capital: null + aportaciones_futuros_aumentos_de_capital: null + utilidades_acumuladas: null + utilidad_del_ejercicio: 298623 + perdidas_acumuladas: -38450 + perdida_del_ejercicio: null + exceso_en_actualizacion_capital: null + insuficiencia_en_actualizacion_capital: null + actualizacion_del_capital_contable: null + suma_capital_contable: 270173 + suma_pasivo_mas_capital_contable: 761890 + conciliacion_entre_resultado_contable_fiscal: + utilidad_o_perdida_neta: 298623 + efectos_reexpresion: null + resultado_posicion_monetaria: null + utilidad_o_perdida_neta_historica: 298623 + ingresos_fiscales_no_contables: 95 + ajuste_anual_inflacion_acumulable: 95 + anticipos_de_clientes: null + intereses_moratorios_efectivamente_cobrados: null + ganancia_en_enajenacion_acciones_por_reembolso_capital: null + ganancia_en_enajenacion_de_terrenos_y_activo_fijo: null + inventario_acumulable_del_ejercicio: null + otros_ingresos_fiscales_no_contables: null + deducciones_contables_no_fiscales: 117415 + costo_de_ventas_contable: null + depreciacion_y_amortizacion_contable: 106 + gastos_que_no_reunen_requisitos_fiscales: 4307 + isr_ietu_impac_ptu: 113002 + perdida_contable_enajenacion_de_acciones: null + perdida_contable_enajenacion_de_activo_fijo: null + perdida_en_participacion_subsidiaria: null + intereses_devengados_que_exceden_valor_mercado_y_moratorios_pagados_o_no: 0 + otras_deducciones_contables_no_fiscales: 0 + deducciones_fiscales_no_contables: 0 + ajuste_anual_inflacion_deducible: null + costo_vendido_fiscal: null + deduccion_inversiones: null + estimulo_fiscal_por_deduccion_inmediata_inversiones: null + donacion_bienes_basicos_subsistencia_humana: 0 + estimulo_fiscal_contratacion_personas_discapacidad_yo_mayores: 0 + deduccion_impuesto_sobre_renta_retenido_personas_discapacidad_yo_mayores: 0 + perdida_fiscal_en_enajenacion_acciones: null + perdida_fiscal_en_enajenacion_de_terrenos_y_activo_fijo: null + intereses_moratorios_efectivamente_pagados: null + otras_deducciones_fiscales_no_contables: null + ingresos_contables_no_fiscales: null + intereses_moratorios_devengados_a_favor_cobrados_o_no: null + anticipos_de_clientes_ejercicios_anteriores: null + saldos_a_favor_impuestos_y_su_actualizacion: null + utilidad_contable_enajenacion_de_activo_fijo: null + utilidad_contable_enajenacion_de_acciones: null + utilidad_en_participacion_subsidiaria: null + otros_ingresos_contables_no_fiscales: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416133 + deducciones_autorizadas: + sueldos_salarios: null + honorarios_pagados_a_personas_fisicas: null + regalias_y_asistencia_tecnica: null + donativos_otorgados: null + uso_o_goce_temporal_de_bienes_pagados_a_personas_fisicas: null + fletes_y_acarreos_pagados_a_parsonas_fisicas: null + contribuciones_pagadas_excepto_isr_ietu_impac_iva_ieps: null + seguros_fianzas: null + perdida_por_creditos_incobrables: null + viaticos_y_gastos_viaje: 59527 + combustible_y_lubricantes: null + credito_al_salario_no_disminuido_de_contribuciones: null + aportaciones_sar_infonavit_y_jubilaciones_vejez: null + aportaciones_para_fondos_de_pensiones_y_jubilaciones: null + cuotas_imss: null + consumos_en_restaurantes: 11254 + perdida_por_operaciones_financieras_derivadas: null + deduccion_por_concepto_de_ayuda_alimentaria_para_trabajadores: null + monto_total_pagos_que_sean_ingresos_exentos_para_trabajador: null + monto_deducible_al_47_pagos_son_ingresos_exentos_para_trabajador: null + monto_deducible_al_53_pagos_son_ingresos_exentos_para_trabajador: null + uso_o_goce_temporal_de_automoviles_baterias_electricas_o_electricos_con_motor_combustion_o_hidrogeno: null + otras_deducciones_autorizadas: 424346 + total_deducciones_autorizadas: 495127 + cifras_cierre_ejercicio: + perdidas_fiscales_de_ejercicios_anteriores_pendientes_de_amortizar_actualiazadas: null + saldo_promedio_anual_de_creditos: 142795 + saldo_promedio_anual_de_deudas: 144765 + coeficiente_de_utilidad_por_aplicar_en_ejercicio_siguiente: 0.4567 + porcentaje_de_participacion_consolidable: null + isr_causado_en_exceso_del_impac_en_los_3_ejercicios_anteriores_pendientes_aplicar: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_2013_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_neta_a_partir_2014_y_anteriores: null + saldo_actualizado_de_cuenta_de_utilidad_fiscal_reinvertida: null + saldo_actualizado_de_cuenta_de_capital_de_aportacion: null + saldo_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_renovables: null + determinacion_del_impuesto_sobre_la_renta: + determinacion_del_impuesto_sobre_la_renta: + total_ingresos_acumulables: 911260 + total_deducciones_autorizadas_y_deduccion_inmediata_inversiones: 495126 + deduccion_adicional_por_pago_servicios_personales_en_operacion_maquila: null + utilidad_o_perdida_fiscal_antes_de_ptu: 416134 + ptu_pagada_en_el_ejercicio: null + utilidad_fiscal_del_ejercicio: 416134 + perdidas_fiscales_de_ejercicios_anteriores_que_se_aplican_en_ejercicio: 39462 + resultado_fiscal: 376672 + impuesto_causado_en_ejercicio: 113002 + tienes_estimulos_fiscales_a_acreditar: SIN SELECCIÓN + impuesto_sobre_la_renta_del_ejercicio: 113002 + pagos_provisionales_efectuados_enterados_a_federacion: null + impuesto_retenido_al_contribuyente: null + impuesto_acreditable_pagado_en_extranjero: null + impuesto_acreditable_por_dividendos_o_utilidades_distribuidos: null + otras_cantidades_a_cargo: null + otras_cantidades_a_favor: null + diferencia_a_cargo: 113002 + isr_a_cargo_del_ejercicio: 113002 + isr_a_favor_del_ejercicio: null + impuesto_sobre_ingresos_sujetos_a_regimenes_fiscales_preferentes: null + datos_informativos_ejercicio: + monto_aplicado_del_estimulo_fiscal_de_chatarrizacion: 0 + monto_deducible_de_pagos_efectuados_por_uso_o_goce_temporal_automoviles: 0 + impac_recuperado_en_ejercicio_derivado_de_deconsolidacion: 0 + ingresos_obtenidos_por_apoyos_gubernamentales: 0 + gastos_realidados_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_en_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_proyectos_de_inversion_en_artes_pendiente_aplicar: 0 + credito_fiscal_autorizado_en_ejercicio_por_inversion_en_proyectos_programas_para_deporte_de_alto_rendimiento_pendiente_aplicar: 0 + saldo_pendiente_aplicar_por_inversion_en_equipos_de_alimentacion_vehiculos_electricos: 0 + credito_fiscal_autorizado_en_ejercicio_a_produccion_distribucion_cinematografica_nacional_pendiente_aplicar: 0 + datos_informativos_ejercicios_anteriores_aplicados_en_ejercicio: + total_estimulo_produccion_y_distribucion_cinematografica_nacional_ejercicios_anteriores_aplicado_en_ejercicio: null + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_inversion_en_proyectos_programas_para_deporte_alto_rendimiento_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_investigacion_desarrollo_tecnologico_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_por_proyectos_inversion_artes_pendiente_aplicar: 0 + saldo_credito_fiscal_autorizado_ejercicios_anteriores_a_produccion_distribucion_nacional_pendiente_aplicar: 0 + dividendos_o_utilidades_distribuidos: + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_en_2013_y_anteriores: null + provenientes_de_cuenta_de_utilidad_fisica_neta_cufin_generada_a_partir_de_2014: null + provenientes_de_cuenta_de_utilidad_fisica_neta_reinvertida_cufinre: null + no_provenientes_de_cufin_ni_cufinre_en_efectivo: null + no_provenientes_de_cufin_ni_cufinre_en_acciones: null + monto_del_impuesto_pagado_no_proveniente_de_cufin_ni_cufinre: null + monto_del_impuesto_pagado_de_utilidades_provenientes_de_cufinre: null + provenientes_de_cuenta_de_utilidad_fiscal_neta_por_inversion_en_energia_de_fuentes_renovables_o_sistemas_cogeneracion_electricidad_eficiente: null + detalle_pago_r1_isr_personas_morales: + a_cargo: 113002 + parte_actualizada: null + recargos: null + multa_por_correccion: null + total_contribuciones: 113002 + desea_aplicar_alguna_compensacion_o_estimulo: 'NO' + cantidad_a_cargo: 113002 + opta_por_pagar_parcialidades: SIN SELECCIÓN + importe_de_primera_parcialidad: null + importe_sin_primera_parcialidad: null + cantidad_a_favor: null + cantidad_a_pagar: 113002 + pdf: '=PDF-STRING=' + receipt_pdf: '=PDF-STRING=' + TaxReturnBusinessListMonthlyDetail: + summary: Tax Return Business Monthly + description: Example of a monthly business tax return + value: + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + informacion_general: + rfc: DPA950805RR2 + denominacion_razon_social: Aloha Mahalo SC + tipo_declaracion: Normal + ejercicio: 2020 + periodo_declaracion: Diciembre + fecha_hora_presentacion: '2021-01-18T19:24:00-06:00' + numero_operacion: '400475119' + tipo_complementaria: null + determinacion_isr: + personas_morales_regimen_general: + suma_ingresos_nominales_meses_anteriores_ejercicio: 69848414 + estimulos_acreditables: null + ingresos_nominales_mes_que_declara: 6482479 + reducciones: null + total_ingresos_nominales: 76330893 + impuestos_del_periodo: 284098 + coeficiente_utilidad: 0.2318 + pagos_provisionales_efectuados_anterioridad: 303039 + utilidad_fiscal_pago_provisional: 17693501 + impuesto_retenido: 29925 + ptu: null + otras_cantidades_a_cargo_contribuyente: null + iventario_acumulable: null + otras_cantidades_a_favor_contribuyente: null + anticipos_rendimientos_distribuidos_periodo: 16746509 + diferencia_a_cargo: 0 + perdidas_fiscales_ejercicios_anteriores_pendientes: null + estimulo_fiscal_deduccion_inmediata: null + impuesto_correspondiente_participacion_consolidable: null + deduccion_adicional_fomento_primer_empleo: null + porcentaje_participacion_consolidable: null + base_gravable_pago_provisional: 946992 + impuesto_a_cargo: 0 + isr_causado: 284098 + ieps_alcohol: null + detalle_pago_isr: + r1_isr_personas_morales: + a_cargo: 0 + acreditamiento_sorteo_buen_fin: null + parte_actualizada: null + diesel_marino: null + recargos: null + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 0 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 0 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + uso_infraestructura_carretera_cuota: null + cantidad_a_pagar: 0 + otros_estimulos: null + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r12_isr_retenciones_por_salarios: + a_cargo: 415945 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 379 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 415945 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: 379 + cantidad_a_cargo: 415566 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 415566 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r13_isr_retenciones_por_asimilados_a_salarios: + a_cargo: 254588 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 254588 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 254588 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 254588 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r14_isr_retenciones_por_servicios_profesionales: + a_cargo: 104482 + acreditamiento_sorteos: null + parte_actualizada: 0 + diesel_marino: null + recargos: 0 + total_aplicaciones: 0 + multa_por_correccion: null + fecha_pago_realizado_anterioridad: null + total_de_contribuciones: 104482 + monto_pagado_anterioridad: null + credito_al_salario: null + importe_pagado_ultimas_48_hrs: null + subsidio_empleo: null + cantidad_a_cargo: 104482 + impuesto_a_depositos_efectivo_acreditable: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + diesel_automotriz_transporte: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 104482 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + determinacion_iva: + montos_actos_actividades_pagados: + total_actos_actividades_pagados_tasa_16: 2094706 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + total_actos_actividades_sujetos_estimulo_rfn: 0 + total_actos_actividades_pagados_tasa_0: 0 + total_actos_actividades_pagados_importacion_bienes_tasa_16: null + total_actos_actividades_pagados_no_paga_iva: 0 + detalle_total_actos_actividades_pagados_tasa_16: + intereses_pagados_tasa_16: null + otros_actos_pagados_tasa_16: 2094706 + regalias_pagadas_tasa_16: null + total_actos_pagados_tasa_16: 2094706 + determinacion_iva_acreditable: + total_iva_actos_actividades_pagados_tasa_16: 335153 + iva_trasladado_o_pagado_adquisicion_bienes_distintos_inversiones_actos_no_obligados_pago_impuesto: null + iva_pagado_sujeto_estimulo_rfn: null + iva_trasladado_o_pagado_importacion_inversiones_actos_no_obligados_pago_impuesto: null + total_actos_actividades_pagados_importacion_bienes_tasa_16: 0 + iva_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: 0 + proporcion_utilizada_conforme_art_5: null + total_iva_trasladado_contribuyente: 335153 + proporcion_utilizada_conforme_art_5_b: null + iva_trasladado_adquisicion_bienes_distintos_inversiones_actos_gravados: 335153 + iva_pagado_importacion_adquisicion_bienes_distintos_inversiones_actos_gravados: null + iva_acreditable: 335153 + monto_acreditable_actualizado_a_incrementar_derivado_ajuste: null + iva_pagado_importacion_inversiones_actos_gravados: null + total_iva_acreditable_periodo: 335153 + total_iva_actos_actividades_gravados: 335153 + total_actos_actividades_pagados_importacion_bienes_tasa_11: null + iva_trasladado_adquisicion_inversiones_actos_gravados: null + iva_acreditable_bienes_utilizados_indistintamente_actos_gravados_o_actos_no_obligados_pago_impuesto: null + determinacion_iva: + valor_actos_actividades_gravados_tasa_16: 6457950 + otras_cantidades_a_favor_contribuyente: null + valor_actos_actividades_gravados_tasa_11: null + cantidad_a_cargo: 312421 + valor_actos_actividades_gravados_tasa_0_exportacion: null + saldo_a_favor: null + valor_actos_actividades_gravados_tasa_9_otros: null + devolucion_inmediata_obtenida: null + suma_actos_actividades_gravados: 6457950 + saldo_a_favor_periodo: 0 + valor_actos_actividades_no_se_deba_pagar_impuesto_exentos: null + acreditamiento_saldo_favor_periodos_anteriores: null + impuesto_causado: 1033272 + diferencia_a_cargo: 312421 + cantidad_actualizada_a_reintegrarse_derivada_de_ajuste: null + ieps_acreditable_alcohol: null + iva_retenido_al_contribuyente: 385698 + impuesto_a_cargo: 312421 + total_iva_acreditable: 335153 + remanente_saldo_favor_ieps_alcohol: null + otras_cantidades_a_cargo_contribuyente: null + detalle_valor_actos_actividades_gravados_tasa_16: + intereses_cobrados_tasa_16: null + otros_actos_actividades_gravados_tasa_16: 6457950 + regalias_entre_partes_relacionadas_tasa_16: null + total_actos_actividades_gravados_tasa_16: 6457950 + detalle_pago_iva: + r21_iva: + a_cargo: 312421 + cretificados_tesofe: null + a_favor: null + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 312421 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 312421 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + diesel_automotriz_transporte: null + uso_infraestructura_carretera_cuota: null + cantidad_a_favor: null + otros_estimulos: null + cantidad_a_pagar: 312421 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + r21_iva_retenciones: + a_cargo: 111448 + diesel_marino: null + parte_actualizada: 0 + total_aplicaciones: 0 + recargos: 0 + fecha_pago_realizado_anterioridad: null + multa_por_correccion: null + monto_pagado_anterioridad: null + total_de_contribuciones: 111448 + importe_pagado_ultimas_48_hrs: null + credito_al_salario: null + cantidad_a_cargo: 111448 + subsidio_empleo: null + aplica_primera_parcialidad: 'NO' + compensaciones: null + credito_ieps_diesel: null + otros_estimulos: null + cantidad_a_favor: null + cretificados_tesofe: null + cantidad_a_pagar: 111448 + importe_1ra_parcialidad: null + importe_sin_1ra_parcialidad: null + pdf: '===PDF_BINARY====' + receipt_pdf: '===PDF_BINARY====' + type: monthly + TaxStatusPersonalListPaginated: + summary: Personal Tax Status + description: Example of a list of personal tax status + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: e88d29d1-3dc6-407f-825c-a9b50453e349 + link: 401d5a8e-79e2-472e-a1ca-8f4646f5cb24 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: Alfredo Gonzalo Robin + id_cif: '2274235873432' + tax_payer_information: + rfc: GGTF770303G7 + curp: BEMP930403HDFLLT00 + name: Alfredo + first_last_name: Gonzalo + second_last_name: Robin + start_operations_date: '2000-06-01' + status_padron: ACTIVO + last_status_change_date: '2000-06-01' + commercial_name: Alfredo Gonzalo Robin + social_name: null + email: alfredo@robin.com + phone: '667507132' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Asalariado + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen de Sueldos y Salarios e Ingresos Asimilados a Salarios + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo + que corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/09/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + ExpsnSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjel= + pdf: '=PDF-STRING=' + TaxStatusBusinessListPaginated: + summary: Business Tax Status + description: Example of a list of business tax status + value: + count: 101 + next: https://sandbox.belvo.com/api/{endpoint}/?page=2 + previous: null + results: + - id: 6de34cb3-bf0d-445d-b832-7ec7781e2c6f + link: 0b2edc42-7214-4c68-b22e-ae6885bf7c07 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: ACNE SA DE CV + id_cif: '2274235873432' + tax_payer_information: + rfc: GHTF980303F7 + curp: null + name: null + first_last_name: null + second_last_name: null + start_operations_date: '1995-08-01' + status_padron: ACTIVO + last_status_change_date: '1995-08-01' + commercial_name: null + social_name: ACNE SA DE CV + email: contact@acne.com + phone: '555507122' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Otros servicios profesionales, científicos y técnicos + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen General de Ley Personas Morales + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo + que corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/04/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + EtenSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjow= + pdf: '=PDF-STRING=' + TaxStatusPersonalList: + summary: Personal Tax Status + description: Example of a list of personal tax status + value: + id: 6de34cb3-bf0d-445d-b832-7ec7781e2c6f + link: 401d5a8e-79e2-472e-a1ca-8f4646f5cb24 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: Alfredo Gonzalo Robin + id_cif: '2274235873432' + tax_payer_information: + rfc: GGTF770303G7 + curp: BEMP930403HDFLLT00 + name: Alfredo + first_last_name: Gonzalo + second_last_name: Robin + start_operations_date: '2000-06-01' + status_padron: ACTIVO + last_status_change_date: '2000-06-01' + commercial_name: Alfredo Gonzalo Robin + social_name: null + email: alfredo@robin.com + phone: '667507132' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Asalariado + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen de Sueldos y Salarios e Ingresos Asimilados a Salarios + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo que + corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/09/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + ExpsnSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjel= + pdf: '=PDF-STRING=' + TaxStatusBusinessList: + summary: Business Tax Status + description: Example of a list of business tax status + value: + id: 6de34cb3-bf0d-445d-b832-7ec7781e2c6f + link: 0b2edc42-7214-4c68-b22e-ae6885bf7c07 + collected_at: '2022-02-09T08:45:50.406032Z' + created_at: '2022-02-09T08:46:20.406032Z' + place_and_date_of_issuance: BUENAVENTURA, CIUDAD DE MEXICO A 22 DE FEBRERO DE 2021 + official_name: ACNE SA DE CV + id_cif: '2274235873432' + tax_payer_information: + rfc: GHTF980303F7 + curp: null + name: null + first_last_name: null + second_last_name: null + start_operations_date: '1995-08-01' + status_padron: ACTIVO + last_status_change_date: '1995-08-01' + commercial_name: null + social_name: ACNE SA DE CV + email: contact@acne.com + phone: '555507122' + address: + postal_code: '21255' + street_type: BOULEVARD (BLVD.) + street: GENERAL GIMENO + exterior_number: '4360' + interior_number: PLANTA BAJA + suburb: BUENAVENTURA + locality: null + municipality: ALTOS DE MIRAMAR + state: CIUDAD DE MEXICO + between_street: + - street_one: CALLE PRINCIPE + street_two: CALLE NUEVA ROMA + economic_activity: + - order: '1' + economic_activity: Otros servicios profesionales, científicos y técnicos + percentage: '100' + initial_date: '2014-11-05' + end_date: null + regimes: + - regimen: Régimen General de Ley Personas Morales + initial_date: '2003-01-01' + end_date: null + obligations: + - obligation: Declaración informativa de IVA con la anual de ISR + expiration: Conjuntamente con la declaración anual del ejercicio. + initial_date: '2004-03-31' + end_date: null + - obligation: Pago definitivo mensual de IVA. + expiration: >- + A más tardar el día 17 del mes inmediato posterior al periodo que + corresponda. + initial_date: '2004-03-31' + end_date: null + digital_stamp: >- + ||2020/04/26|GHTF980303F7|CONSTANCIA DE SITUACIÓN + FISCAL|2044441088666600000034|| + digital_stamp_chain: >- + EtenSA9t1adG7bn+Jj23kj43JK+XbMPxdOppwabhXD+pXseSqYowWWDna0mpUk3264lkj2345j23faNZB852dCDt9KAjow= + pdf: null + CategorizationExample: + summary: Categorization + description: Example of categorized transactions + value: + transactions: + - transaction_id: 3CWE4927CF15355 + account_holder_type: INDIVIDUAL + account_holder_id: '7890098789087' + account_id: EREB-89077589 + account_category: CREDIT_CARD + value_date: '2022-11-18' + description: APPL3STORE + type: OUTFLOW + amount: 650.89 + currency: BRL + institution: Erebor Retail Brasil + mcc: 2345 + category: Income & Payments + subcategory: Freelance + merchant: + logo: >- + https://www.apple.com/ac/structured-data/images/open_graph_logo.png?202110180 + website: https://www.apple.com/br/ + merchant_name: Apple, Inc + - transaction_id: 3CWE4927CF15996 + account_holder_type: INDIVIDUAL + account_holder_id: '996685090015' + account_id: BDBACA-89077896 + account_category: CHECKING_ACCOUNT + value_date: '2022-12-02' + description: OXXO SP + type: OUTFLOW + amount: 999.9 + currency: BRL + institution: BCO DO BRASIL + mcc: null + category: Income & Payments + subcategory: Freelance + merchant: + logo: >- + https://storage.googleapis.com/new-cdn.mercafacil.com/wl_assets/dynamic/65d84ba0-a2f3-11ed-8928-dd578f525074-MOBILE_1OCo1.png + website: https://merchants-r-us.com + merchant_name: Merchants R Us Global +x-readme: + explorer-enabled: true + proxy-enabled: true + samples-enabled: true + samples-languages: + - curl diff --git a/sdks/db/processed-custom-request-cache/belvo.com.yaml b/sdks/db/processed-custom-request-cache/belvo.com.yaml new file mode 100644 index 0000000000..b5c767fab7 --- /dev/null +++ b/sdks/db/processed-custom-request-cache/belvo.com.yaml @@ -0,0 +1,280 @@ +processed: + securitySchemes: + basicAuth: + type: http + scheme: basic + description: >- + Belvo employs **basic authentication** using your secret keys. Just use + your secretId as the `username` and secretPassword as the `password`. + For example: + + + ```text Authentication example + + curl \ + -u =BASE64-SECRET_ID=:=BASE64-SECRET_PASSWORD= + https://sandbox.belvo.com/api/ + ``` + + + For information on how to get your API keys, check out our [Get Started + in 5 + Minutes](https://developers.belvo.com/docs/get-started-in-5-minutes) + DevPortal article. + apiBaseUrl: https://sandbox.belvo.com + apiVersion: 1.102.0 + apiDescription: > + # Introduction + + + 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: + + + + - **Bank information** such as account information, real-time + + balance, historical transactions, and account owner identification. + + + - **Fiscal information** such as received and sent invoices and tax returns. + + + + fiscal-endpoints + + + + In this API reference you'll find all the information you need about each + + + endpoint and resource. + + + +
+ + + Tip: Make sure that you also check out our Developer + + Portal for guides on how to get started, using our Sandbox environment, as well as how to integrate the widget or use our quickstart application. + + +
+ + + + ## Environment + + + We currently offer three environments: sandbox, development, and + + production. + + + + When using our SDKs, make sure to use the **Alias** (and not the Base URL). + + + + | Environment | Purpose | Access | + + |-----------|-------|-------| + + | **Sandbox** | The [Sandbox + environment](https://developers.belvo.com/docs/test-in-sandbox) is dedicated + for your testing and development phases. In this environment, you can create + links without real credentials and you can pull test data from all + endpoints. **⚠️The sandbox environment is refreshed frequently and your test + data can be updated or deleted.** | Base URL (cURL): + https://sandbox.belvo.com/

Alias (SDKs): sandbox| + + |**Development**|The Development environment is dedicated for testing with + real credentials and institutions with real-world institutions. You can + create up to 25 links for free in this environment.| Base URL (cURL): + https://development.belvo.com/

Alias (SDKs): development | + + | **Production** | The Production environment is dedicated for live + applications with real connections to institutions. In this environment, you + + will need real credentials to create links and you will pull real data from + the institutions.| Base URL (cURL): https://api.belvo.com/

Alias + + (SDKs): production| + + + + For each environment, you'll need to [generate separate API + + keys](https://developers.belvo.com/docs/get-your-belvo-api-keys). + + + + ## 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 + 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 + + + + ### Error messages + + + + 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. Check the table below to see how to + + handle each error code. + + + - `field` *(optional)*: The specific field in the request body that has an + + issue. + + + + + ### Request identifier + + + When you need help with a specific error, add the request identifier + + (`request_id`) in your message to the Belvo support team. This will speed up + + investigations and get you back up and running in no time at all. + + + + ### Error codes and troubleshooting + + + + For a full list of errors and how to troubleshoot them, please see our + + dedicated [Error handling + + articles](https://developers.belvo.com/docs/integration-overview#error-handling) + + in our DevPortal. + + + + + ### Retry policy + + + + Please see our recommended [retry + + policies](https://developers.belvo.com/docs/integration-overview#error-retry-policy) + + in the DevPortal. + apiTitle: Belvo API Docs + endpoints: 37 + sdkMethods: 80 + schemas: 300 + parameters: 590 + contactUrl: https://developers.belvo.com + contactEmail: support@belvo.com + originalCustomRequest: + type: GET + url: https://statics.belvo.io/openapi-specs/BelvoOpenFinanceApiSpec.yaml + customRequestSpecFilename: belvo.com.yaml + difficultyScore: 377.5 diff --git a/sdks/db/progress/belvo-progress.yaml b/sdks/db/progress/belvo-progress.yaml new file mode 100644 index 0000000000..0cae0ccb52 --- /dev/null +++ b/sdks/db/progress/belvo-progress.yaml @@ -0,0 +1,1079 @@ +examples: {} +examples_2: {} +examples_3: {} +ignoreObjectsWithNoProperties: true +ignorePotentialIncorrectType: true +operationIds: + /api/accounts/: + get: Accounts_listAll + patch: Accounts_resumeRetrieveSession + post: Accounts_createLinkAccounts + /api/accounts/{id}/: + delete: Accounts_deleteSpecificAccount + get: Accounts_getDetails + /api/balances/: + get: Balances_getAll + patch: Balances_resumeSession + post: Balances_getLinkBalances + /api/balances/{id}/: + delete: Balances_deleteBalance + get: Balances_getDetails + /api/categorization/: + post: Categorization_categorizeTransactions + /api/credit-score/: + get: CreditScore_listAll + post: CreditScore_getByLink + /api/credit-score/{id}/: + delete: CreditScore_deleteSpecificScore + get: CreditScore_getDetailsById + /api/employment-records/: + get: EmploymentRecordsMexico_listAll + post: EmploymentRecordsMexico_getDetails + /api/employment-records/{id}/: + delete: EmploymentRecordsMexico_deleteRecord + get: EmploymentRecordsMexico_getDetails + /api/enrich/credit-score/: + post: CreditScoreEyod_getUserCreditScore + /api/enrich/incomes/: + post: IncomeVerification_enrichUserIncomes + /api/incomes/: + get: Incomes_listAll + patch: Incomes_resumeSession + post: Incomes_getInsights + /api/incomes/{id}/: + delete: Incomes_deleteIncome + get: Incomes_getDetails + /api/institutions/: + get: Institutions_getAll + /api/institutions/{id}/: + get: Institutions_getDetails + /api/invoices/: + get: Invoices_listAll + patch: Invoices_completeRequest + post: Invoices_getLinkInvoices + /api/invoices/{id}/: + delete: Invoices_deleteInvoice + get: Invoices_getDetails + /api/links/: + get: Links_listAll + patch: Links_resumeSession + post: Links_registerNewLink + /api/links/{id}/: + delete: Links_deleteLinkAccounts + get: Links_getDetails + patch: Links_changeAccessMode + put: Links_updateCredentials + /api/owners/: + get: Owners_listAll + patch: Owners_resumeRetrieveSession + post: Owners_getLinkOwner + /api/owners/{id}/: + delete: Owners_deleteOwner + get: Owners_getDetails + /api/recurring-expenses/: + get: RecurringExpenses_listAll + patch: RecurringExpenses_resumeRequest + post: RecurringExpenses_getInsights + /api/recurring-expenses/{id}/: + delete: RecurringExpenses_deleteExpense + get: RecurringExpenses_getDetails + /api/risk-insights/: + get: RiskInsights_listAllRiskInsights + patch: RiskInsights_resumeInsightsSession + post: RiskInsights_getForLink + /api/risk-insights/{id}/: + delete: RiskInsights_deleteSpecificInsight + get: RiskInsights_getDetails + /api/tax-compliance-status/: + get: TaxComplianceStatus_listAll + post: TaxComplianceStatus_getFiscalLinkInfo + /api/tax-compliance-status/{id}/: + delete: TaxComplianceStatus_deleteSpecificTaxComplianceStatus + get: TaxComplianceStatus_getDetails + /api/tax-declarations/: + get: TaxDeclarations_listAll + post: TaxDeclarations_getFiscalLink + /api/tax-declarations/{id}/: + delete: TaxDeclarations_deleteSpecificDeclaration + get: TaxDeclarations_getDetails + /api/tax-retentions/: + get: TaxRetentions_listAll + post: TaxRetentions_getLinkTaxRetentions + /api/tax-retentions/{id}/: + delete: TaxRetentions_deleteSpecificTaxRetention + get: TaxRetentions_getDetails + /api/tax-returns/: + get: TaxReturns_listAll + post: TaxReturns_getInformation + /api/tax-returns/{id}/: + delete: TaxReturns_deleteSpecificTaxReturn + get: TaxReturns_getDetails + /api/tax-status/: + get: TaxStatus_listAll + post: TaxStatus_getLinkTaxStatus + /api/tax-status/{id}/: + delete: TaxStatus_deleteSpecificTaxStatus + get: TaxStatus_getDetails + /api/transactions/: + get: Transactions_listAllTransactions + patch: Transactions_resumeRetrieveSession + post: Transactions_createLinkTransactions + /api/transactions/{id}/: + delete: Transactions_removeById + get: Transactions_getDetails +operationTags: {} +renameTags: {} +requestSchemaNames: + /api/enrich/credit-score: + post: + application/json: CreditScoreEyodGetUserCreditScoreRequest + /api/tax-returns: + post: + application/json: TaxReturnsGetInformationRequest +responseDescriptions: {} +responseSchemaNames: + /api/accounts: + get: + '200': + application/json: AccountsListAllResponse + '401': + application/json: AccountsListAll401Response + patch: + '200': + application/json: AccountsResumeRetrieveSessionResponse + '201': + application/json: AccountsResumeRetrieveSession201Response + '400': + application/json: AccountsResumeRetrieveSession400Response + '401': + application/json: AccountsResumeRetrieveSession401Response + '408': + application/json: AccountsResumeRetrieveSession408Response + '428': + application/json: AccountsResumeRetrieveSession428Response + '500': + application/json: AccountsResumeRetrieveSession500Response + post: + '200': + application/json: AccountsCreateLinkAccountsResponse + '201': + application/json: AccountsCreateLinkAccounts201Response + '400': + application/json: AccountsCreateLinkAccounts400Response + '401': + application/json: AccountsCreateLinkAccounts401Response + '408': + application/json: AccountsCreateLinkAccounts408Response + '428': + application/json: AccountsCreateLinkAccounts428Response + '500': + application/json: AccountsCreateLinkAccounts500Response + /api/accounts/{id}: + delete: + '401': + application/json: AccountsDeleteSpecificAccountResponse + '404': + application/json: AccountsDeleteSpecificAccount404Response + get: + '200': + application/json: AccountsGetDetailsResponse + '401': + application/json: AccountsGetDetails401Response + '404': + application/json: AccountsGetDetails404Response + /api/balances: + get: + '401': + application/json: BalancesGetAllResponse + patch: + '200': + application/json: BalancesResumeSessionResponse + '201': + application/json: BalancesResumeSession201Response + '400': + application/json: BalancesResumeSession400Response + '401': + application/json: BalancesResumeSession401Response + '408': + application/json: BalancesResumeSession408Response + '428': + application/json: BalancesResumeSession428Response + '500': + application/json: BalancesResumeSession500Response + post: + '200': + application/json: BalancesGetLinkBalancesResponse + '201': + application/json: BalancesGetLinkBalances201Response + '400': + application/json: BalancesGetLinkBalances400Response + '401': + application/json: BalancesGetLinkBalances401Response + '408': + application/json: BalancesGetLinkBalances408Response + '428': + application/json: BalancesGetLinkBalances428Response + '500': + application/json: BalancesGetLinkBalances500Response + /api/balances/{id}: + delete: + '401': + application/json: BalancesDeleteBalanceResponse + '404': + application/json: BalancesDeleteBalance404Response + get: + '401': + application/json: BalancesGetDetailsResponse + '404': + application/json: BalancesGetDetails404Response + /api/categorization: + post: + '400': + application/json: CategorizationCategorizeTransactionsResponse + '401': + application/json: CategorizationCategorizeTransactions401Response + '403': + application/json: CategorizationCategorizeTransactions403Response + '500': + application/json: CategorizationCategorizeTransactions500Response + /api/credit-score: + get: + '401': + application/json: CreditScoreListAllResponse + post: + '400': + application/json: CreditScoreGetByLinkResponse + '401': + application/json: CreditScoreGetByLink401Response + '408': + application/json: CreditScoreGetByLink408Response + '428': + application/json: CreditScoreGetByLink428Response + '500': + application/json: CreditScoreGetByLink500Response + /api/credit-score/{id}: + delete: + '401': + application/json: CreditScoreDeleteSpecificScoreResponse + '404': + application/json: CreditScoreDeleteSpecificScore404Response + get: + '401': + application/json: CreditScoreGetDetailsByIdResponse + '404': + application/json: CreditScoreGetDetailsById404Response + /api/employment-records: + get: + '401': + application/json: EmploymentRecordsMexicoListAllResponse + post: + '200': + application/json: EmploymentRecordsMexicoGetDetailsResponse + '201': + application/json: EmploymentRecordsMexicoGetDetails201Response + '400': + application/json: EmploymentRecordsMexicoGetDetails400Response + '401': + application/json: EmploymentRecordsMexicoGetDetails401Response + '408': + application/json: EmploymentRecordsMexicoGetDetails408Response + '428': + application/json: EmploymentRecordsMexicoGetDetails428Response + '500': + application/json: EmploymentRecordsMexicoGetDetails500Response + /api/employment-records/{id}: + delete: + '401': + application/json: EmploymentRecordsMexicoDeleteRecordResponse + '404': + application/json: EmploymentRecordsMexicoDeleteRecord404Response + get: + '401': + application/json: EmploymentRecordsMexicoGetDetails401Response + '404': + application/json: EmploymentRecordsMexicoGetDetails404Response + /api/enrich/credit-score: + post: + '200': + application/json: CreditScoreEyodGetUserCreditScoreResponse + '400': + application/json: CreditScoreEyodGetUserCreditScore400Response + '401': + application/json: CreditScoreEyodGetUserCreditScore401Response + '403': + application/json: CreditScoreEyodGetUserCreditScore403Response + '500': + application/json: CreditScoreEyodGetUserCreditScore500Response + /api/enrich/incomes: + post: + '200': + application/json: IncomeVerificationEnrichUserIncomesResponse + '400': + application/json: IncomeVerificationEnrichUserIncomes400Response + '401': + application/json: IncomeVerificationEnrichUserIncomes401Response + '403': + application/json: IncomeVerificationEnrichUserIncomes403Response + '500': + application/json: IncomeVerificationEnrichUserIncomes500Response + /api/incomes: + get: + '401': + application/json: IncomesListAllResponse + patch: + '200': + application/json: IncomesResumeSessionResponse + '201': + application/json: IncomesResumeSession201Response + '400': + application/json: IncomesResumeSession400Response + '401': + application/json: IncomesResumeSession401Response + '408': + application/json: IncomesResumeSession408Response + '428': + application/json: IncomesResumeSession428Response + '500': + application/json: IncomesResumeSession500Response + post: + '400': + application/json: IncomesGetInsightsResponse + '401': + application/json: IncomesGetInsights401Response + '408': + application/json: IncomesGetInsights408Response + '428': + application/json: IncomesGetInsights428Response + '500': + application/json: IncomesGetInsights500Response + /api/incomes/{id}: + delete: + '401': + application/json: IncomesDeleteIncomeResponse + '404': + application/json: IncomesDeleteIncome404Response + get: + '401': + application/json: IncomesGetDetailsResponse + '404': + application/json: IncomesGetDetails404Response + /api/institutions: + get: + '401': + application/json: InstitutionsGetAllResponse + /api/institutions/{id}: + get: + '401': + application/json: InstitutionsGetDetailsResponse + '404': + application/json: InstitutionsGetDetails404Response + /api/invoices: + get: + '401': + application/json: InvoicesListAllResponse + patch: + '200': + application/json: InvoicesCompleteRequestResponse + '201': + application/json: InvoicesCompleteRequest201Response + '400': + application/json: InvoicesCompleteRequest400Response + '401': + application/json: InvoicesCompleteRequest401Response + '408': + application/json: InvoicesCompleteRequest408Response + '428': + application/json: InvoicesCompleteRequest428Response + '500': + application/json: InvoicesCompleteRequest500Response + post: + '200': + application/json: InvoicesGetLinkInvoicesResponse + '201': + application/json: InvoicesGetLinkInvoices201Response + '400': + application/json: InvoicesGetLinkInvoices400Response + '401': + application/json: InvoicesGetLinkInvoices401Response + '408': + application/json: InvoicesGetLinkInvoices408Response + '500': + application/json: InvoicesGetLinkInvoices500Response + /api/invoices/{id}: + delete: + '401': + application/json: InvoicesDeleteInvoiceResponse + '404': + application/json: InvoicesDeleteInvoice404Response + get: + '200': + application/json: InvoicesGetDetailsResponse + '401': + application/json: InvoicesGetDetails401Response + '404': + application/json: InvoicesGetDetails404Response + /api/links: + get: + '401': + application/json: LinksListAllResponse + patch: + '400': + application/json: LinksResumeSessionResponse + '401': + application/json: LinksResumeSession401Response + '428': + application/json: LinksResumeSession428Response + '500': + application/json: LinksResumeSession500Response + post: + '400': + application/json: LinksRegisterNewLinkResponse + '401': + application/json: LinksRegisterNewLink401Response + '428': + application/json: LinksRegisterNewLink428Response + '500': + application/json: LinksRegisterNewLink500Response + /api/links/{id}: + delete: + '401': + application/json: LinksDeleteLinkAccountsResponse + '404': + application/json: LinksDeleteLinkAccounts404Response + get: + '401': + application/json: LinksGetDetailsResponse + '404': + application/json: LinksGetDetails404Response + patch: + '400': + application/json: LinksChangeAccessModeResponse + '401': + application/json: LinksChangeAccessMode401Response + '404': + application/json: LinksChangeAccessMode404Response + '428': + application/json: LinksChangeAccessMode428Response + '500': + application/json: LinksChangeAccessMode500Response + put: + '400': + application/json: LinksUpdateCredentialsResponse + '401': + application/json: LinksUpdateCredentials401Response + '404': + application/json: LinksUpdateCredentials404Response + '428': + application/json: LinksUpdateCredentials428Response + '500': + application/json: LinksUpdateCredentials500Response + /api/owners: + get: + '200': + application/json: OwnersListAllResponse + '401': + application/json: OwnersListAll401Response + patch: + '200': + application/json: OwnersResumeRetrieveSessionResponse + '201': + application/json: OwnersResumeRetrieveSession201Response + '400': + application/json: OwnersResumeRetrieveSession400Response + '401': + application/json: OwnersResumeRetrieveSession401Response + '408': + application/json: OwnersResumeRetrieveSession408Response + '428': + application/json: OwnersResumeRetrieveSession428Response + '500': + application/json: OwnersResumeRetrieveSession500Response + post: + '200': + application/json: OwnersGetLinkOwnerResponse + '201': + application/json: OwnersGetLinkOwner201Response + '400': + application/json: OwnersGetLinkOwner400Response + '401': + application/json: OwnersGetLinkOwner401Response + '408': + application/json: OwnersGetLinkOwner408Response + '428': + application/json: OwnersGetLinkOwner428Response + '500': + application/json: OwnersGetLinkOwner500Response + /api/owners/{id}: + delete: + '401': + application/json: OwnersDeleteOwnerResponse + '404': + application/json: OwnersDeleteOwner404Response + get: + '200': + application/json: OwnersGetDetailsResponse + '401': + application/json: OwnersGetDetails401Response + '404': + application/json: OwnersGetDetails404Response + /api/recurring-expenses: + get: + '401': + application/json: RecurringExpensesListAllResponse + patch: + '200': + application/json: RecurringExpensesResumeRequestResponse + '201': + application/json: RecurringExpensesResumeRequest201Response + '400': + application/json: RecurringExpensesResumeRequest400Response + '401': + application/json: RecurringExpensesResumeRequest401Response + '408': + application/json: RecurringExpensesResumeRequest408Response + '428': + application/json: RecurringExpensesResumeRequest428Response + '500': + application/json: RecurringExpensesResumeRequest500Response + post: + '200': + application/json: RecurringExpensesGetInsightsResponse + '201': + application/json: RecurringExpensesGetInsights201Response + '400': + application/json: RecurringExpensesGetInsights400Response + '401': + application/json: RecurringExpensesGetInsights401Response + '408': + application/json: RecurringExpensesGetInsights408Response + '428': + application/json: RecurringExpensesGetInsights428Response + '500': + application/json: RecurringExpensesGetInsights500Response + /api/recurring-expenses/{id}: + delete: + '401': + application/json: RecurringExpensesDeleteExpenseResponse + '404': + application/json: RecurringExpensesDeleteExpense404Response + get: + '200': + application/json: RecurringExpensesGetDetailsResponse + '401': + application/json: RecurringExpensesGetDetails401Response + '404': + application/json: RecurringExpensesGetDetails404Response + /api/risk-insights: + get: + '401': + application/json: RiskInsightsListAllRiskInsightsResponse + patch: + '200': + application/json: RiskInsightsResumeInsightsSessionResponse + '201': + application/json: RiskInsightsResumeInsightsSession201Response + '400': + application/json: RiskInsightsResumeInsightsSession400Response + '401': + application/json: RiskInsightsResumeInsightsSession401Response + '408': + application/json: RiskInsightsResumeInsightsSession408Response + '428': + application/json: RiskInsightsResumeInsightsSession428Response + '500': + application/json: RiskInsightsResumeInsightsSession500Response + post: + '400': + application/json: RiskInsightsGetForLinkResponse + '401': + application/json: RiskInsightsGetForLink401Response + '408': + application/json: RiskInsightsGetForLink408Response + '428': + application/json: RiskInsightsGetForLink428Response + '500': + application/json: RiskInsightsGetForLink500Response + /api/risk-insights/{id}: + delete: + '401': + application/json: RiskInsightsDeleteSpecificInsightResponse + '404': + application/json: RiskInsightsDeleteSpecificInsight404Response + get: + '200': + application/json: RiskInsightsGetDetailsResponse + '401': + application/json: RiskInsightsGetDetails401Response + '404': + application/json: RiskInsightsGetDetails404Response + /api/tax-compliance-status: + get: + '401': + application/json: TaxComplianceStatusListAllResponse + post: + '400': + application/json: TaxComplianceStatusGetFiscalLinkInfoResponse + '401': + application/json: TaxComplianceStatusGetFiscalLinkInfo401Response + '408': + application/json: TaxComplianceStatusGetFiscalLinkInfo408Response + '500': + application/json: TaxComplianceStatusGetFiscalLinkInfo500Response + /api/tax-compliance-status/{id}: + delete: + '401': + application/json: TaxComplianceStatusDeleteSpecificTaxComplianceStatusResponse + '404': + application/json: TaxComplianceStatusDeleteSpecificTaxComplianceStatus404Response + get: + '401': + application/json: TaxComplianceStatusGetDetailsResponse + '404': + application/json: TaxComplianceStatusGetDetails404Response + /api/tax-declarations: + get: + '200': + application/json: TaxDeclarationsListAllResponse + '401': + application/json: TaxDeclarationsListAll401Response + post: + '200': + application/json: TaxDeclarationsGetFiscalLinkResponse + '201': + application/json: TaxDeclarationsGetFiscalLink201Response + '400': + application/json: TaxDeclarationsGetFiscalLink400Response + '401': + application/json: TaxDeclarationsGetFiscalLink401Response + '500': + application/json: TaxDeclarationsGetFiscalLink500Response + /api/tax-declarations/{id}: + delete: + '401': + application/json: TaxDeclarationsDeleteSpecificDeclarationResponse + '404': + application/json: TaxDeclarationsDeleteSpecificDeclaration404Response + get: + '200': + application/json: TaxDeclarationsGetDetailsResponse + '401': + application/json: TaxDeclarationsGetDetails401Response + '404': + application/json: TaxDeclarationsGetDetails404Response + /api/tax-retentions: + get: + '401': + application/json: TaxRetentionsListAllResponse + post: + '200': + application/json: TaxRetentionsGetLinkTaxRetentionsResponse + '201': + application/json: TaxRetentionsGetLinkTaxRetentions201Response + '400': + application/json: TaxRetentionsGetLinkTaxRetentions400Response + '401': + application/json: TaxRetentionsGetLinkTaxRetentions401Response + '408': + application/json: TaxRetentionsGetLinkTaxRetentions408Response + '500': + application/json: TaxRetentionsGetLinkTaxRetentions500Response + /api/tax-retentions/{id}: + delete: + '401': + application/json: TaxRetentionsDeleteSpecificTaxRetentionResponse + '404': + application/json: TaxRetentionsDeleteSpecificTaxRetention404Response + get: + '401': + application/json: TaxRetentionsGetDetailsResponse + '404': + application/json: TaxRetentionsGetDetails404Response + /api/tax-returns: + get: + '200': + application/json: TaxReturnsListAllResponse + '401': + application/json: TaxReturnsListAll401Response + post: + '200': + application/json: TaxReturnsGetInformationResponse + '201': + application/json: TaxReturnsGetInformation201Response + '400': + application/json: TaxReturnsGetInformation400Response + '401': + application/json: TaxReturnsGetInformation401Response + '500': + application/json: TaxReturnsGetInformation500Response + /api/tax-returns/{id}: + delete: + '401': + application/json: TaxReturnsDeleteSpecificTaxReturnResponse + '404': + application/json: TaxReturnsDeleteSpecificTaxReturn404Response + get: + '200': + application/json: TaxReturnsGetDetailsResponse + '401': + application/json: TaxReturnsGetDetails401Response + '404': + application/json: TaxReturnsGetDetails404Response + /api/tax-status: + get: + '401': + application/json: TaxStatusListAllResponse + post: + '200': + application/json: TaxStatusGetLinkTaxStatusResponse + '201': + application/json: TaxStatusGetLinkTaxStatus201Response + '400': + application/json: TaxStatusGetLinkTaxStatus400Response + '401': + application/json: TaxStatusGetLinkTaxStatus401Response + '408': + application/json: TaxStatusGetLinkTaxStatus408Response + '500': + application/json: TaxStatusGetLinkTaxStatus500Response + /api/tax-status/{id}: + delete: + '401': + application/json: TaxStatusDeleteSpecificTaxStatusResponse + '404': + application/json: TaxStatusDeleteSpecificTaxStatus404Response + get: + '200': + application/json: TaxStatusGetDetailsResponse + '401': + application/json: TaxStatusGetDetails401Response + '404': + application/json: TaxStatusGetDetails404Response + /api/transactions: + get: + '200': + application/json: TransactionsListAllTransactionsResponse + '401': + application/json: TransactionsListAllTransactions401Response + patch: + '200': + application/json: TransactionsResumeRetrieveSessionResponse + '201': + application/json: TransactionsResumeRetrieveSession201Response + '400': + application/json: TransactionsResumeRetrieveSession400Response + '401': + application/json: TransactionsResumeRetrieveSession401Response + '408': + application/json: TransactionsResumeRetrieveSession408Response + '428': + application/json: TransactionsResumeRetrieveSession428Response + '500': + application/json: TransactionsResumeRetrieveSession500Response + post: + '200': + application/json: TransactionsCreateLinkTransactionsResponse + '201': + application/json: TransactionsCreateLinkTransactions201Response + '400': + application/json: TransactionsCreateLinkTransactions400Response + '401': + application/json: TransactionsCreateLinkTransactions401Response + '408': + application/json: TransactionsCreateLinkTransactions408Response + '428': + application/json: TransactionsCreateLinkTransactions428Response + '500': + application/json: TransactionsCreateLinkTransactions500Response + /api/transactions/{id}: + delete: + '401': + application/json: TransactionsRemoveByIdResponse + '404': + application/json: TransactionsRemoveById404Response + get: + '200': + application/json: TransactionsGetDetailsResponse + '401': + application/json: TransactionsGetDetails401Response + '404': + application/json: TransactionsGetDetails404Response +securityParameters: + X-Belvo-Request-Mode: + header: false + access_mode: + query: false + account: + query: false + account__balance__available: + query: false + account__balance__available__gt: + query: false + account__balance__available__gte: + query: false + account__balance__available__lt: + query: false + account__balance__available__lte: + query: false + account__balance__available__range: + query: false + account__balance__current: + query: false + account__balance__current__gt: + query: false + account__balance__current__gte: + query: false + account__balance__current__lt: + query: false + account__balance__current__lte: + query: false + account__balance__current__range: + query: false + account__in: + query: false + account__type: + query: false + account__type__in: + query: false + account_type: + query: false + account_type__in: + query: false + accounting_date: + query: false + accounting_date__gt: + query: false + accounting_date__gte: + query: false + accounting_date__lt: + query: false + accounting_date__lte: + query: false + accounting_date__range: + query: false + amount: + query: false + amount__gt: + query: false + amount__gte: + query: false + amount__lt: + query: false + amount__lte: + query: false + amount__range: + query: false + balance: + query: false + balance__available: + query: false + balance__available__gt: + query: false + balance__available__gte: + query: false + balance__available__lt: + query: false + balance__available__lte: + query: false + balance__available__range: + query: false + balance__current: + query: false + balance__current__gt: + query: false + balance__current__gte: + query: false + balance__current__lt: + query: false + balance__current__lte: + query: false + balance__current__range: + query: false + balance__gt: + query: false + balance__gte: + query: false + balance__lt: + query: false + balance__lte: + query: false + balance__range: + query: false + category: + query: false + category__in: + query: false + collected_at: + query: false + collected_at__gt: + query: false + collected_at__gte: + query: false + collected_at__lt: + query: false + collected_at__lte: + query: false + collected_at__range: + query: false + country_code: + query: false + country_code__in: + query: false + created_at: + query: false + created_at__gt: + query: false + created_at__gte: + query: false + created_at__lt: + query: false + created_at__lte: + query: false + created_at__range: + query: false + created_by__not_in: + query: false + credit_card_data__bill_name__in: + query: false + currency: + query: false + currency__in: + query: false + display_name: + query: false + display_name__icontains: + query: false + ejercicio: + query: false + ejercicio__gt: + query: false + ejercicio__gte: + query: false + ejercicio__lt: + query: false + ejercicio__lte: + query: false + ejercicio__range: + query: false + email: + query: false + external_id: + query: false + external_id__in: + query: false + fields: + query: false + id: + query: false + id__in: + query: false + institution: + query: false + institution__in: + query: false + institution_user_id: + query: false + institution_user_id__in: + query: false + internal_identification: + query: false + internal_identification__in: + query: false + invoice_date: + query: false + invoice_date__gt: + query: false + invoice_date__gte: + query: false + invoice_date__lt: + query: false + invoice_date__lte: + query: false + invoice_date__range: + query: false + invoice_identification: + query: false + invoice_identification__in: + query: false + link: + query: false + link__in: + query: false + name: + query: false + name__icontains: + query: false + name__in: + query: false + number: + query: false + number__in: + query: false + omit: + query: false + page: + query: false + page_size: + query: false + public_identification_name: + query: false + public_identification_value: + query: false + reference: + query: false + reference__in: + query: false + refresh_rate: + query: false + resources__allin: + query: false + status: + query: false + status__in: + query: false + tipo_declaracion: + query: false + tipo_declaracion__in: + query: false + total_amount: + query: false + total_amount__gt: + query: false + total_amount__gte: + query: false + total_amount__lt: + query: false + total_amount__lte: + query: false + total_amount__range: + query: false + type: + query: false + type__in: + query: false + value_date: + query: false + value_date__gt: + query: false + value_date__gte: + query: false + value_date__lt: + query: false + value_date__lte: + query: false + value_date__range: + query: false + website: + query: false + year: + query: false + year__gt: + query: false + year__gte: + query: false + year__lt: + query: false + year__lte: + query: false + year__range: + query: false +validServerUrls: {} diff --git a/sdks/db/published/from-custom-request_belvo.com.json b/sdks/db/published/from-custom-request_belvo.com.json new file mode 100644 index 0000000000..5cc274eb58 --- /dev/null +++ b/sdks/db/published/from-custom-request_belvo.com.json @@ -0,0 +1,6054 @@ +{ + "securitySchemes": { + "basicAuth": { + "type": "http", + "scheme": "basic", + "description": "Belvo employs **basic authentication** using your secret keys. Just use your secretId as the `username` and secretPassword as the `password`. For example:\n\n```text Authentication example\ncurl \\\n -u =BASE64-SECRET_ID=:=BASE64-SECRET_PASSWORD=\n https://sandbox.belvo.com/api/\n```\n\nFor information on how to get your API keys, check out our [Get Started in 5 Minutes](https://developers.belvo.com/docs/get-started-in-5-minutes) DevPortal article." + } + }, + "apiBaseUrl": "https://sandbox.belvo.com", + "apiVersion": "1.102.0", + "apiDescription": "# Introduction\n\nBelvo 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.\n\nThrough our API, you can access:\n\n\n- **Bank information** such as account information, real-time\nbalance, historical transactions, and account owner identification.\n\n- **Fiscal information** such as received and sent invoices and tax returns.\n\n\n\n\n\nIn this API reference you'll find all the information you need about each\n\nendpoint and resource.\n\n\n
\n\nTip: Make sure that you also check out our Developer\nPortal for guides on how to get started, using our Sandbox environment, as well as how to integrate the widget or use our quickstart application.\n\n
\n\n\n## Environment\n\nWe currently offer three environments: sandbox, development, and\nproduction.\n\n\nWhen using our SDKs, make sure to use the **Alias** (and not the Base URL).\n\n\n| Environment | Purpose | Access |\n|-----------|-------|-------|\n| **Sandbox** | The [Sandbox environment](https://developers.belvo.com/docs/test-in-sandbox) is dedicated for your testing and development phases. In this environment, you can create links without real credentials and you can pull test data from all endpoints. **⚠️The sandbox environment is refreshed frequently and your test data can be updated or deleted.** | Base URL (cURL): https://sandbox.belvo.com/

Alias (SDKs): sandbox|\n|**Development**|The Development environment is dedicated for testing with real credentials and institutions with real-world institutions. You can create up to 25 links for free in this environment.| Base URL (cURL): https://development.belvo.com/

Alias (SDKs): development |\n| **Production** | The Production environment is dedicated for live applications with real connections to institutions. In this environment, you\nwill need real credentials to create links and you will pull real data from the institutions.| Base URL (cURL): https://api.belvo.com/

Alias\n(SDKs): production|\n\n\nFor each environment, you'll need to [generate separate API\nkeys](https://developers.belvo.com/docs/get-your-belvo-api-keys).\n\n\n## Response codes\n\n\nWe use the following HTTP status code in the response depending on the\nsuccess or failure:\n\n\n| Status Code | Description |\n|-----------|-------|\n| `200` | ✅ **Success** - The content is available in the response body. |\n| `201` | ✅ **Success** - The content was created successfully on Belvo. |\n| `204` | ✅ **Success** - No content to return. |\n| `400` | ❌ **Bad Request Error** - Request returned an error, detail in content.|\n| `401` | ❌ **Unauthorized** - The Belvo credentials provided are not valid.|\n| `404` | ❌ **Not Found** - The resource you try to access cannot be found.|\n| `405` | ❌ **Method Not Allowed** - The HTTP method you are using is not accepted for this resource.|\n| `408` | ❌ **Request Timeout** - The request timed out and was terminated by the server.|\n| `428` | ❌ **MFA Token Required** - MFA token was required by the institution to connect. |\n| `500` | ❌ **Internal Server Error** - The detail of the error is available in the response body.|\n\n\n## Error handling\n\n\n### Error messages\n\n\nBelvo API errors are returned in JSON format. For example, an error might\nlook like this:\n\n\n```json\n\n[\n {\n \"request_id\": \"a6e1c493d7a29d91aed4338e6fcf077d\",\n \"message\": \"This field is required.\",\n \"code\": \"required\",\n \"field\": \"link\"\n }\n]\n\n```\n\n\nTypically, an error response will have the following parameters:\n\n- `request_id`: a unique ID for the request, you should share it with the\nBelvo support team for investigations.\n\n- `message`: human-readable description of the error.\n\n- `code`: a unique code for the error. Check the table below to see how to\nhandle each error code.\n\n- `field` *(optional)*: The specific field in the request body that has an\nissue.\n\n\n\n### Request identifier\n\nWhen you need help with a specific error, add the request identifier\n(`request_id`) in your message to the Belvo support team. This will speed up\ninvestigations and get you back up and running in no time at all.\n\n\n### Error codes and troubleshooting\n\n\nFor a full list of errors and how to troubleshoot them, please see our\ndedicated [Error handling\narticles](https://developers.belvo.com/docs/integration-overview#error-handling)\nin our DevPortal.\n\n\n\n### Retry policy\n\n\nPlease see our recommended [retry\npolicies](https://developers.belvo.com/docs/integration-overview#error-retry-policy)\nin the DevPortal.\n", + "apiTitle": "Belvo API Docs", + "endpoints": 37, + "sdkMethods": 80, + "schemas": 575, + "parameters": 590, + "contactUrl": "https://developers.belvo.com", + "contactEmail": "support@belvo.com", + "originalCustomRequest": { + "type": "GET", + "url": "https://statics.belvo.io/openapi-specs/BelvoOpenFinanceApiSpec.yaml" + }, + "customRequestSpecFilename": "belvo.com.yaml", + "difficultyScore": 377.5, + "difficulty": "Hard", + "company": "Belvo", + "sdkName": "belvo-{language}-sdk", + "clientName": "Belvo", + "metaDescription": "Belvo es la plataforma líder de datos y pagos de open finance en Latinoamérica. Ayudamos a innovadores financieros a acceder a los datos financieros de tus usuarios, entender mejor su comportamiento y habilitar pagos instantáneos gracias al open finance, con el objetivo de impulsar productos más eficientes, seguros e inclusivos.", + "apiStatusUrls": "inherit", + "homepage": "belvo.com", + "developerDocumentation": "developers.belvo.com", + "categories": [ + "finance", + "open_banking", + "fintech", + "financial_services", + "latam", + "latin_america", + "open_finance" + ], + "category": "Finance", + "methods": [ + { + "url": "/api/links", + "method": "listAll", + "httpMethod": "get", + "tag": "Links", + "typeScriptTag": "links", + "description": "List all links", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "id", + "schema": "string", + "description": "Return information only for this resource `id`.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f" + }, + { + "name": "idIn", + "schema": "array", + "description": "Return information for these resource `id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "institution", + "schema": "string", + "description": "Return results only for this institution (use the Belvo-designated name, such as `erebor_mx_retail`).", + "example": "erebor_mx_retail" + }, + { + "name": "institutionIn", + "schema": "array", + "description": "Return results only for these institutions (use the Belvo-designated names, such as `erebor_mx_retail` and `gringotts_mx_retail`).", + "example": "erebor_mx_retail,gringotts_mx_retail" + }, + { + "name": "accessMode", + "schema": "string", + "description": "Return links only with this access mode. Can be either `single` or `recurrent`.", + "example": "single" + }, + { + "name": "createdAt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after or on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-04" + }, + { + "name": "createdAtLt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before this date (in `YYYY-MM-DD` format).", + "example": "2022-04-01" + }, + { + "name": "createdAtLte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before or on this date (in `YYYY-MM-DD` format).", + "example": "2022-03-30" + }, + { + "name": "createdAtRange", + "schema": "array", + "description": "Return accounts that were last updated in Belvo's database between two dates (in `YYYY-MM-DD` format).", + "example": "2022-03-03,2022-05-04" + }, + { + "name": "createdByNotIn", + "schema": "array", + "description": "Return links that were not created by these Belvo users.", + "example": "578947e2-3c9a-4401-bbad-59b2f2d2b91b,d3d941ab-4ca5-43c1-8b23-db329ee4cb7e" + }, + { + "name": "externalId", + "schema": "string", + "description": "Return links with this external ID.", + "example": "InternalUser4000" + }, + { + "name": "externalIdIn", + "schema": "array", + "description": "Return links with these external IDs.", + "example": "InternalUser4000,InternalUser4001" + }, + { + "name": "institutionUserId", + "schema": "string", + "description": "Return links with this specific institution user ID.", + "example": "ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0=" + }, + { + "name": "institutionUserIdIn", + "schema": "array", + "description": "Return links with these institution user IDs.", + "example": "ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0=,YwuTM0uEEh1BbVgDZBcNpa_-Tm3l2q8ZkZNrlhp-pNA=" + }, + { + "name": "refreshRate", + "schema": "string", + "description": "Return links with this refresh rate. Choose between `6h`, `12h`, `24h`, `7d`, or `30d`.", + "example": "24h" + }, + { + "name": "status", + "schema": "string", + "description": "Return links with this status. Choose between `valid`, `invalid`, `unconfirmed`, or `token_required`.", + "example": "invalid" + }, + { + "name": "statusIn", + "schema": "array", + "description": "Return links with these statuses. Choose between `valid`, `invalid`, `unconfirmed`, or `token_required`.", + "example": "invalid,unconfirmed" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/links", + "method": "resumeSession", + "httpMethod": "patch", + "tag": "Links", + "typeScriptTag": "links", + "description": "Complete a links request", + "parameters": [ + { + "name": "session", + "schema": "string", + "required": true, + "description": "", + "example": "6e7b283c6efa449c9c028a16b5c249fa" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "683005d6-f45c-4adb-b289-f1a12f50f80c" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/links", + "method": "registerNewLink", + "httpMethod": "post", + "tag": "Links", + "typeScriptTag": "links", + "description": "Register a new link", + "parameters": [ + { + "name": "institution", + "schema": "string", + "required": true, + "description": "", + "example": "erebor_mx_retail" + }, + { + "name": "username", + "schema": "string", + "required": true, + "description": "", + "example": "username" + }, + { + "name": "password", + "schema": "string", + "required": false, + "description": "", + "example": "password" + }, + { + "name": "external_id", + "schema": "string", + "required": false, + "description": "", + "example": "56ab5706-6e00-48a4-91c9-ca55968678d9" + }, + { + "name": "username2", + "schema": "string", + "required": false, + "description": "", + "example": "secondusername" + }, + { + "name": "username3", + "schema": "string", + "required": false, + "description": "", + "example": "thirdusername" + }, + { + "name": "password2", + "schema": "string", + "required": false, + "description": "", + "example": "pin" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "access_mode", + "schema": "string", + "required": false, + "description": "", + "default": "recurrent" + }, + { + "name": "fetch_resources", + "schema": "array", + "required": false, + "description": "", + "example": [ + "ACCOUNTS", + "TRANSACTIONS" + ] + }, + { + "name": "credentials_storage", + "schema": "string", + "required": false, + "description": "", + "example": "27d" + }, + { + "name": "stale_in", + "schema": "string", + "required": false, + "description": "", + "example": "42d" + }, + { + "name": "username_type", + "schema": "string", + "required": false, + "description": "", + "example": "001" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/links/{id}", + "method": "deleteLinkAccounts", + "httpMethod": "delete", + "tag": "Links", + "typeScriptTag": "links", + "description": "Delete a link", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `link.id` that you want to delete.", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/links/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Links", + "typeScriptTag": "links", + "description": "Get a link's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `link.id` you want to get detailed information about.", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/links/{id}", + "method": "changeAccessMode", + "httpMethod": "patch", + "tag": "Links", + "typeScriptTag": "links", + "description": "Change a link's access mode", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `link.id` you want to change the `access_mode` for.", + "example": "e4bb1afb-4a4f-4dd6-8be0-e615d233185b" + }, + { + "name": "access_mode", + "schema": "string", + "required": true, + "description": "", + "example": "ACCESS_MODE", + "default": "recurrent" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/links/{id}", + "method": "updateCredentials", + "httpMethod": "put", + "tag": "Links", + "typeScriptTag": "links", + "description": "Update a link's credentials", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `link.id` you want to update.", + "example": "ID" + }, + { + "name": "password", + "schema": "string", + "required": true, + "description": "", + "example": "password" + }, + { + "name": "password2", + "schema": "string", + "required": false, + "description": "", + "example": "pin" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "username_type", + "schema": "string", + "required": false, + "description": "", + "example": "001" + }, + { + "name": "certificate", + "schema": "string", + "required": false, + "description": "", + "example": "1234567890abcd=" + }, + { + "name": "private_key", + "schema": "string", + "required": false, + "description": "", + "example": "1234567890abcd=" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/accounts", + "method": "listAll", + "httpMethod": "get", + "tag": "Accounts", + "typeScriptTag": "accounts", + "description": "List all accounts", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page. \n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "description": "The `link.id` you want to filter by.\n\nℹ️ We highly recommend adding the `link.id` filter in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "linkIn", + "schema": "array", + "description": "Return results only for these `link.id`s.", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65" + }, + { + "name": "balanceAvailable", + "schema": "number", + "description": "Return accounts that have a `balance.available` matching exactly this value.", + "example": 4000 + }, + { + "name": "balanceAvailableLt", + "schema": "number", + "description": "Return accounts that have a `balance.available` less than this value.", + "example": 6000 + }, + { + "name": "balanceAvailableLte", + "schema": "number", + "description": "Return accounts that have a `balance.available` less than or equal to this value.", + "example": 5999 + }, + { + "name": "balanceAvailableGt", + "schema": "number", + "description": "Return accounts that have a `balance.available` greater than this value.", + "example": 2000 + }, + { + "name": "balanceAvailableGte", + "schema": "number", + "description": "Return accounts that have a `balance.available` greater than or equal to this value.", + "example": 1999 + }, + { + "name": "balanceAvailableRange", + "schema": "array", + "description": "Return accounts that have a `balance.available` within a range of two values.", + "example": "3000.00,4350.00" + }, + { + "name": "balanceCurrent", + "schema": "number", + "description": "Return accounts that have a `balance.current` matching exactly this value.", + "example": 4000 + }, + { + "name": "balanceCurrentLt", + "schema": "number", + "description": "Return accounts that have a `balance.current` less than this value.", + "example": 6000 + }, + { + "name": "balanceCurrentLte", + "schema": "number", + "description": "Return accounts that have a `balance.available` less than or equal to this value.", + "example": 5999 + }, + { + "name": "balanceCurrentGt", + "schema": "number", + "description": "Return accounts that have a `balance.current` greater than this value.", + "example": 2000 + }, + { + "name": "balanceCurrentGte", + "schema": "number", + "description": "Return accounts that have a `balance.available` greater than or equal to this value.", + "example": 1999 + }, + { + "name": "balanceCurrentRange", + "schema": "array", + "description": "Return accounts that have a `balance.current` within a range of two values.", + "example": "3000.00,4350.00" + }, + { + "name": "category", + "schema": "string", + "description": "Return accounts only for the given category (for example, `CHECKING_ACCOUNT` and `SAVINGS_ACCOUNT`).", + "example": "CREDIT_ACCOUNT" + }, + { + "name": "categoryIn", + "schema": "array", + "description": "Return accounts only for the given categories (for example, `CHECKING_ACCOUNT` and `SAVINGS_ACCOUNT`).", + "example": "CHECKING_ACCOUNT,SAVINGS_ACCOUNT" + }, + { + "name": "createdAt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after or on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-04" + }, + { + "name": "createdAtLt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before this date (in `YYYY-MM-DD` format).", + "example": "2022-04-01" + }, + { + "name": "createdAtLte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before or on this date (in `YYYY-MM-DD` format).", + "example": "2022-03-30" + }, + { + "name": "createdAtRange", + "schema": "array", + "description": "Return accounts that were last updated in Belvo's database between two dates (in `YYYY-MM-DD` format).", + "example": "2022-03-03,2022-05-04" + }, + { + "name": "currency", + "schema": "string", + "description": "Return results that hold finances or balances in only this three-letter currency code.", + "example": "COP" + }, + { + "name": "currencyIn", + "schema": "array", + "description": "Return results that have funds or balances in one of these three-letter currency codes.", + "example": "COP,MXN" + }, + { + "name": "id", + "schema": "string", + "description": "Return information only for this resource `id`.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f" + }, + { + "name": "idIn", + "schema": "array", + "description": "Return information for these resource `id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "institution", + "schema": "string", + "description": "Return results only for this institution (use the Belvo-designated name, such as `erebor_mx_retail`).", + "example": "erebor_mx_retail" + }, + { + "name": "institutionIn", + "schema": "array", + "description": "Return results only for these institutions (use the Belvo-designated names, such as `erebor_mx_retail` and `gringotts_mx_retail`).", + "example": "erebor_mx_retail,gringotts_mx_retail" + }, + { + "name": "name", + "schema": "string", + "description": "Return accounts with exactly this internal (specified by the institution) name.", + "example": "Cuenta Perfiles- M.N. - MXN-666" + }, + { + "name": "nameIcontains", + "schema": "string", + "description": "Return accounts partially matching this internal (specified by the institution) name.", + "example": "Perfiles" + }, + { + "name": "number", + "schema": "string", + "description": "Return information only for this account number (as specified by the institution).", + "example": "4057068115181" + }, + { + "name": "numberIn", + "schema": "array", + "description": "Return information for these account numbers (as specified by the institution).", + "example": "4057068115181,7809346821648" + }, + { + "name": "publicIdentificationName", + "schema": "string", + "description": "Return information only for this type of account ID. For example, CLABE accounts.", + "example": "CLABE" + }, + { + "name": "publicIdentificationValue", + "schema": "string", + "description": "Return information only for this account ID. For example, the account number for a CLABE account.", + "example": "150194683119900273" + }, + { + "name": "type", + "schema": "string", + "description": "Return information only for accounts matching this account type, as designated by the institution.", + "example": "Cuentas de efectivo" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/accounts", + "method": "resumeRetrieveSession", + "httpMethod": "patch", + "tag": "Accounts", + "typeScriptTag": "accounts", + "description": "Complete an accounts request", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "session", + "schema": "string", + "required": true, + "description": "", + "example": "6e7b283c6efa449c9c028a16b5c249fa" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "683005d6-f45c-4adb-b289-f1a12f50f80c" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/accounts", + "method": "createLinkAccounts", + "httpMethod": "post", + "tag": "Accounts", + "typeScriptTag": "accounts", + "description": "Retrieve accounts for a link", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "2ccd5e15-194a-4a19-a45a-e7223c7e6717" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/accounts/{id}", + "method": "deleteSpecificAccount", + "httpMethod": "delete", + "tag": "Accounts", + "typeScriptTag": "accounts", + "description": "Delete an account", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `account.id` you want to delete.", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/accounts/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Accounts", + "typeScriptTag": "accounts", + "description": "Get an account's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `account.id` you want to get detailed information about.", + "example": "ID" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/transactions", + "method": "listAllTransactions", + "httpMethod": "get", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "List all transactions", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "The `link.id` you want to filter by.\n\nℹ️ We highly recommend adding the `link.id` filter in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "linkIn", + "schema": "array", + "description": "Return results only for these `link.id`s.", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65" + }, + { + "name": "account", + "schema": "string", + "description": "The `account.id` you want to filter by.\n\nℹ️ We highly recommend adding either the `link.id` or the `account.id` filters in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "accountIn", + "schema": "array", + "description": "Return results only for these `account.id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "accountBalanceAvailable", + "schema": "number", + "description": "Return transactions that have a `account.balance.available` matching exactly this value.", + "example": 4000 + }, + { + "name": "accountBalanceAvailableLt", + "schema": "number", + "description": "Return transactions that have a `account.balance.available` less than this value.", + "example": 6000 + }, + { + "name": "accountBalanceAvailableLte", + "schema": "number", + "description": "Return transactions that have a `account.balance.available` less than or equal to this value.", + "example": 5999 + }, + { + "name": "accountBalanceAvailableGt", + "schema": "number", + "description": "Return transactions that have a `account.balance.available` more than this value.", + "example": 6000 + }, + { + "name": "accountBalanceAvailableGte", + "schema": "number", + "description": "Return transactions that have a `account.balance.available` more than or equal to this value.", + "example": 5999 + }, + { + "name": "accountBalanceAvailableRange", + "schema": "array", + "description": "Return transactions that have a `account.balance.available` within a range of two values.", + "example": "3000.00,4350.00" + }, + { + "name": "accountBalanceCurrent", + "schema": "number", + "description": "Return transactions that have a `account.balance.current` matching exactly this value.", + "example": 4000 + }, + { + "name": "accountBalanceCurrentGt", + "schema": "number", + "description": "Return transactions that have a `account.balance.current` greater than this value.", + "example": 4020 + }, + { + "name": "accountBalanceCurrentGte", + "schema": "number", + "description": "Return transactions that have a `account.balance.current` greater than or equal to this value.", + "example": 4019 + }, + { + "name": "accountBalanceCurrentLt", + "schema": "number", + "description": "Return transactions that have a `account.balance.current` less than this value.", + "example": 3000 + }, + { + "name": "accountBalanceCurrentLte", + "schema": "number", + "description": "Return transactions that have a `account.balance.current` less than or equal to this value.", + "example": 2999 + }, + { + "name": "accountBalanceCurrentRange", + "schema": "array", + "description": "Return transactions that have a `account.balance.current` within a range of two values.", + "example": "3000.00,4350.00" + }, + { + "name": "accountType", + "schema": "string", + "description": "Return information only for transactions matching this account type, as designated by the institution.", + "example": "Cuentas de efectivo" + }, + { + "name": "accountTypeIn", + "schema": "array", + "description": "Return information only for transactions matching these account types, as designated by the institution.", + "example": "Cuentas de efectivo,Depositos Ahorro" + }, + { + "name": "accountingDate", + "schema": "string", + "description": "Return transactions that were processed by the institution on exactly this date (`YYYY-MM-DD`).", + "example": "2022-05-05" + }, + { + "name": "accountingDateGt", + "schema": "string", + "description": "Return transactions that were processed by the institution after this date (`YYYY-MM-DD`).", + "example": "2022-05-06" + }, + { + "name": "accountingDateGte", + "schema": "string", + "description": "Return transactions that were processed by the institution on this date (`YYYY-MM-DD`) or later.", + "example": "2022-05-04" + }, + { + "name": "accountingDateLt", + "schema": "string", + "description": "Return transactions that were processed by the institution before this date (`YYYY-MM-DD`).", + "example": "2022-03-02" + }, + { + "name": "accountingDateLte", + "schema": "string", + "description": "Return transactions that were processed by the institution on this date (`YYYY-MM-DD`) or earlier.", + "example": "2022-03-01" + }, + { + "name": "accountingDateRange", + "schema": "array", + "description": "Return transactions that were processed by the institution in this date range (`YYYY-MM-DD`).", + "example": "2022-03-01,2022-05-06" + }, + { + "name": "amount", + "schema": "number", + "description": "Return results only for this value.", + "example": 1000 + }, + { + "name": "amountGt", + "schema": "number", + "description": "Return results only for more than this amount.", + "example": 1000 + }, + { + "name": "amountGte", + "schema": "number", + "description": "Return results only for and more than this amount.", + "example": 1000 + }, + { + "name": "amountLt", + "schema": "number", + "description": "Return results only for less than this amount.", + "example": 1000 + }, + { + "name": "amountLte", + "schema": "number", + "description": "Return results only for this amount or less.", + "example": 1000 + }, + { + "name": "amountRange", + "schema": "array", + "description": "Return results between this amount range.", + "example": "1001.00,2000.00" + }, + { + "name": "collectedAt", + "schema": "string", + "description": "Return items that were retrieved from the institution on this date (`YYYY-MM-DD` or full `ISO-8601` timestamp).", + "example": "2022-05-01" + }, + { + "name": "collectedAtGt", + "schema": "string", + "description": "Return items that were retrieved from the institution after this date (`YYYY-MM-DD` or full `ISO-8601` timestamp).", + "example": "2022-05-05" + }, + { + "name": "collectedAtGte", + "schema": "string", + "description": "Return items that were retrieved from the institution after or on this date (`YYYY-MM-DD` or full `ISO-8601` timestamp).", + "example": "2022-05-04" + }, + { + "name": "collectedAtLt", + "schema": "string", + "description": "Return items that were retrieved from the institution before this date (`YYYY-MM-DD` or full `ISO-8601` timestamp).", + "example": "2022-04-01" + }, + { + "name": "collectedAtLte", + "schema": "string", + "description": "Return items that were retrieved from the institution before or on this date (`YYYY-MM-DD` or full `ISO-8601` timestamp).", + "example": "2022-03-30" + }, + { + "name": "collectedAtRange", + "schema": "array", + "description": "Return items that were retrieved from the institution between two dates (`YYYY-MM-DD` or full `ISO-8601` timestamp).", + "example": "2022-03-03,2022-05-04" + }, + { + "name": "createdAt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after or on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-04" + }, + { + "name": "createdAtLt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before this date (in `YYYY-MM-DD` format).", + "example": "2022-04-01" + }, + { + "name": "createdAtLte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before or on this date (in `YYYY-MM-DD` format).", + "example": "2022-03-30" + }, + { + "name": "createdAtRange", + "schema": "array", + "description": "Return accounts that were last updated in Belvo's database between two dates (in `YYYY-MM-DD` format).", + "example": "2022-03-03,2022-05-04" + }, + { + "name": "currency", + "schema": "string", + "description": "Return results that hold finances or balances in only this three-letter currency code.", + "example": "COP" + }, + { + "name": "currencyIn", + "schema": "array", + "description": "Return results that have funds or balances in one of these three-letter currency codes.", + "example": "COP,MXN" + }, + { + "name": "creditCardDataBillNameIn", + "schema": "array", + "description": "Return transactions for one of these bill names.", + "example": "maio-2022,feb-2022" + }, + { + "name": "reference", + "schema": "string", + "description": "Returns transactions with this institution-assigned reference number.", + "example": "085904452810319225" + }, + { + "name": "referenceIn", + "schema": "array", + "description": "Returns transactions with these institution-assigned reference numbers.", + "example": "085904452810319225,8703" + }, + { + "name": "status", + "schema": "string", + "description": "Return transactions with this status. Can be either `PENDING`, `PROCESSED`, or `UNCATEGORIZED`.", + "example": "PENDING" + }, + { + "name": "statusIn", + "schema": "array", + "description": "Return transactions with these statuses. Can be either `PENDING`, `PROCESSED`, or `UNCATEGORIZED`.", + "example": "PENDING,PROCESSED" + }, + { + "name": "type", + "schema": "string", + "description": "Return transactions with this type. Can be either `INFLOW` or `OUTFLOW`.", + "example": "OUTFLOW" + }, + { + "name": "typeIn", + "schema": "array", + "description": "Return transactions with this types. Can be either `INFLOW` or `OUTFLOW`.", + "example": "INFLOW,OUTFLOW" + }, + { + "name": "valueDate", + "schema": "string", + "description": "Return results for exactly this date (`YYYY-MM-DD`).", + "example": "2022-05-05" + }, + { + "name": "valueDateGt", + "schema": "string", + "description": "Return results that occurred after this date (`YYYY-MM-DD`).", + "example": "2022-05-06" + }, + { + "name": "valueDateGte", + "schema": "string", + "description": "Return results for this date (`YYYY-MM-DD`) or later.", + "example": "2022-05-04" + }, + { + "name": "valueDateLt", + "schema": "string", + "description": "Return results for before this date (`YYYY-MM-DD`).", + "example": "2022-03-02" + }, + { + "name": "valueDateLte", + "schema": "string", + "description": "Return results for this date (`YYYY-MM-DD`) or earlier.", + "example": "2022-03-01" + }, + { + "name": "valueDateRange", + "schema": "array", + "description": "Return results for this date (`YYYY-MM-DD`) range.", + "example": "2022-03-01,2022-05-06" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/transactions", + "method": "resumeRetrieveSession", + "httpMethod": "patch", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Complete a transactions request", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "session", + "schema": "string", + "required": true, + "description": "", + "example": "6e7b283c6efa449c9c028a16b5c249fa" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "683005d6-f45c-4adb-b289-f1a12f50f80c" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/transactions", + "method": "createLinkTransactions", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Retrieve transactions for a link", + "parameters": [ + { + "name": "xBelvoRequestMode", + "schema": "string", + "description": "", + "example": "async" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "2ccd5e15-194a-4a19-a45a-e7223c7e6717" + }, + { + "name": "account", + "schema": "string", + "required": false, + "description": "", + "example": "d4617561-1c01-4b2f-83b6-a594f7b3bc57" + }, + { + "name": "date_from", + "schema": "string", + "required": true, + "description": "", + "example": "2020-08-05" + }, + { + "name": "date_to", + "schema": "string", + "required": true, + "description": "", + "example": "2020-10-05" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "202", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/transactions/{id}", + "method": "removeById", + "httpMethod": "delete", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Delete a transaction", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `transaction.id` that you want to delete.", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/transactions/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Get a transaction's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `transaction.id` you want to get detailed information about.", + "example": "ID" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/balances", + "method": "getAll", + "httpMethod": "get", + "tag": "Balances", + "typeScriptTag": "balances", + "description": "List all balances", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "description": "The `link.id` you want to filter by.\n\nℹ️ We highly recommend adding the `link.id` filter in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "linkIn", + "schema": "array", + "description": "Return results only for these `link.id`s.", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65" + }, + { + "name": "account", + "schema": "string", + "description": "The `account.id` you want to filter by.\n\nℹ️ We highly recommend adding either the `link.id` or the `account.id` filters in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "accountIn", + "schema": "array", + "description": "Return results only for these `account.id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "accountType", + "schema": "string", + "description": "Return information only for accounts matching this account type, as designated by the institution.", + "example": "Cuentas de efectivo" + }, + { + "name": "accountTypeIn", + "schema": "array", + "description": "Return information only for accounts matching these account types, as designated by the institution.", + "example": "Cuentas de efectivo,Credito" + }, + { + "name": "balance", + "schema": "number", + "description": "Return balances matching exactly this value.", + "example": 530 + }, + { + "name": "balanceLt", + "schema": "number", + "description": "Return balances less than this value.", + "example": 540 + }, + { + "name": "balanceLte", + "schema": "number", + "description": "Return balances less than or equal to this value.", + "example": 541 + }, + { + "name": "balanceGt", + "schema": "number", + "description": "Return balances greater than this value.", + "example": 520 + }, + { + "name": "balanceGte", + "schema": "number", + "description": "Return balances greater than or equal to this value.", + "example": 519 + }, + { + "name": "balanceRange", + "schema": "array", + "description": "Return balances between these two values.", + "example": "519.00,541.00" + }, + { + "name": "currency", + "schema": "string", + "description": "Return results that hold finances or balances in only this three-letter currency code.", + "example": "COP" + }, + { + "name": "currencyIn", + "schema": "array", + "description": "Return results that have funds or balances in one of these three-letter currency codes.", + "example": "COP,MXN" + }, + { + "name": "id", + "schema": "string", + "description": "Return information only for this resource `id`.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f" + }, + { + "name": "idIn", + "schema": "array", + "description": "Return information for these resource `id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "institution", + "schema": "string", + "description": "Return results only for this institution (use the Belvo-designated name, such as `erebor_mx_retail`).", + "example": "erebor_mx_retail" + }, + { + "name": "institutionIn", + "schema": "array", + "description": "Return results only for these institutions (use the Belvo-designated names, such as `erebor_mx_retail` and `gringotts_mx_retail`).", + "example": "erebor_mx_retail,gringotts_mx_retail" + }, + { + "name": "valueDate", + "schema": "string", + "description": "Return results for exactly this date (`YYYY-MM-DD`).", + "example": "2022-05-05" + }, + { + "name": "valueDateGt", + "schema": "string", + "description": "Return results that occurred after this date (`YYYY-MM-DD`).", + "example": "2022-05-06" + }, + { + "name": "valueDateGte", + "schema": "string", + "description": "Return results for this date (`YYYY-MM-DD`) or later.", + "example": "2022-05-04" + }, + { + "name": "valueDateLt", + "schema": "string", + "description": "Return results for before this date (`YYYY-MM-DD`).", + "example": "2022-03-02" + }, + { + "name": "valueDateLte", + "schema": "string", + "description": "Return results for this date (`YYYY-MM-DD`) or earlier.", + "example": "2022-03-01" + }, + { + "name": "valueDateRange", + "schema": "array", + "description": "Return results for this date (`YYYY-MM-DD`) range.", + "example": "2022-03-01,2022-05-06" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/balances", + "method": "resumeSession", + "httpMethod": "patch", + "tag": "Balances", + "typeScriptTag": "balances", + "description": "Complete a balances request", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "session", + "schema": "string", + "required": true, + "description": "", + "example": "6e7b283c6efa449c9c028a16b5c249fa" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "683005d6-f45c-4adb-b289-f1a12f50f80c" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/balances", + "method": "getLinkBalances", + "httpMethod": "post", + "tag": "Balances", + "typeScriptTag": "balances", + "description": "Retrieve balances for a link", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "2ccd5e15-194a-4a19-a45a-e7223c7e6717" + }, + { + "name": "account", + "schema": "string", + "required": false, + "description": "", + "example": "d4617561-1c01-4b2f-83b6-a594f7b3bc57" + }, + { + "name": "date_from", + "schema": "string", + "required": true, + "description": "", + "example": "2021-01-18" + }, + { + "name": "date_to", + "schema": "string", + "required": true, + "description": "", + "example": "2021-02-15" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/balances/{id}", + "method": "deleteBalance", + "httpMethod": "delete", + "tag": "Balances", + "typeScriptTag": "balances", + "description": "Delete a balance", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `balance.id` that you want to delete.", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/balances/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Balances", + "typeScriptTag": "balances", + "description": "Get a balance's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `balance.id` you want to get detailed information about.", + "example": "ID" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/institutions", + "method": "getAll", + "httpMethod": "get", + "tag": "Institutions", + "typeScriptTag": "institutions", + "description": "List all institutions", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "displayName", + "schema": "string", + "description": "Return institutions that partially match this display name.", + "example": "Erebor Bank" + }, + { + "name": "countryCode", + "schema": "string", + "description": "Return institutions only for this two-letter country code.", + "example": "MX" + }, + { + "name": "countryCodeIn", + "schema": "array", + "description": "Return institutions only for these two-letter country codes.", + "example": "CO,BR" + }, + { + "name": "resourcesAllin", + "schema": "array", + "description": "Return institutions that support these resources.", + "example": "ACCOUNTS,OWNERS,TRANSACTIONS" + }, + { + "name": "name", + "schema": "string", + "description": "Return an institution with this Belvo-designated name.", + "example": "erebor_mx_retail" + }, + { + "name": "nameIn", + "schema": "array", + "description": "Return institutions with one or more of these Belvo-designated names.", + "example": "erebor_br_retail,gotham_co_business" + }, + { + "name": "status", + "schema": "string", + "description": "Return institutions with the given status. You can choose between `healthy` or `down`.", + "example": "healthy" + }, + { + "name": "statusIn", + "schema": "array", + "description": "Return institutions with one of the given statuses. You can choose between `healthy` or `down`.", + "example": "healthy,down" + }, + { + "name": "type", + "schema": "string", + "description": "Return institutions of this type. You can choose between `bank`, `fiscal`, or `employment`.", + "example": "fiscal" + }, + { + "name": "typeIn", + "schema": "array", + "description": "Return institutions of one of these types. You can choose between `bank`, `fiscal`, or `employment`.", + "example": "fiscal,bank" + }, + { + "name": "website", + "schema": "string", + "description": "Return institutions with this website URL.", + "example": "https://www.erebor.mx" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/institutions/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Institutions", + "typeScriptTag": "institutions", + "description": "Get an institution's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `institution.id` you want to get detailed information about.", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/owners", + "method": "listAll", + "httpMethod": "get", + "tag": "Owners", + "typeScriptTag": "owners", + "description": "List all owners", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "description": "The `link.id` you want to filter by.\n\nℹ️ We highly recommend adding the `link.id` filter in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "linkIn", + "schema": "array", + "description": "Return results only for these `link.id`s.", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65" + }, + { + "name": "id", + "schema": "string", + "description": "Return information only for this resource `id`.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f" + }, + { + "name": "idIn", + "schema": "array", + "description": "Return information for these resource `id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "createdAt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after or on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-04" + }, + { + "name": "createdAtLt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before this date (in `YYYY-MM-DD` format).", + "example": "2022-04-01" + }, + { + "name": "createdAtLte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before or on this date (in `YYYY-MM-DD` format).", + "example": "2022-03-30" + }, + { + "name": "createdAtRange", + "schema": "array", + "description": "Return accounts that were last updated in Belvo's database between two dates (in `YYYY-MM-DD` format).", + "example": "2022-03-03,2022-05-04" + }, + { + "name": "email", + "schema": "string", + "description": "Returns owners whose email address match your query.", + "example": "lopes.d@gmail.com" + }, + { + "name": "displayNameIcontains", + "schema": "string", + "description": "Return owners whose full display name partially matches your query. For example, `mar` will return results for Mark, Maria, Neymar, Remarque, and so on.", + "example": "Daniela" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/owners", + "method": "resumeRetrieveSession", + "httpMethod": "patch", + "tag": "Owners", + "typeScriptTag": "owners", + "description": "Complete an owners request", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "session", + "schema": "string", + "required": true, + "description": "", + "example": "6e7b283c6efa449c9c028a16b5c249fa" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "683005d6-f45c-4adb-b289-f1a12f50f80c" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/owners", + "method": "getLinkOwner", + "httpMethod": "post", + "tag": "Owners", + "typeScriptTag": "owners", + "description": "Retrieve owners for a link", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "2ccd5e15-194a-4a19-a45a-e7223c7e6717" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/owners/{id}", + "method": "deleteOwner", + "httpMethod": "delete", + "tag": "Owners", + "typeScriptTag": "owners", + "description": "Delete an owner", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `owner.id` that you want to delete.", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/owners/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Owners", + "typeScriptTag": "owners", + "description": "Get an owner's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `owner.id` you want to get detailed information about.", + "example": "ID" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/invoices", + "method": "listAll", + "httpMethod": "get", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "List all invoices", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "description": "The `link.id` you want to filter by.\n\nℹ️ We highly recommend adding the `link.id` filter in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "linkIn", + "schema": "array", + "description": "Return results only for these `link.id`s.", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65" + }, + { + "name": "id", + "schema": "string", + "description": "Return information only for this resource `id`.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f" + }, + { + "name": "idIn", + "schema": "array", + "description": "Return information for these resource `id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "createdAt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after or on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-04" + }, + { + "name": "createdAtLt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before this date (in `YYYY-MM-DD` format).", + "example": "2022-04-01" + }, + { + "name": "createdAtLte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before or on this date (in `YYYY-MM-DD` format).", + "example": "2022-03-30" + }, + { + "name": "createdAtRange", + "schema": "array", + "description": "Return accounts that were last updated in Belvo's database between two dates (in `YYYY-MM-DD` format).", + "example": "2022-03-03,2022-05-04" + }, + { + "name": "invoiceDate", + "schema": "string", + "description": "Return invoices issued exactly on this date (`YYYY-MM-DD`).", + "example": "2022-05-05" + }, + { + "name": "invoiceDateLt", + "schema": "string", + "description": "Return balances issued before this date (`YYYY-MM-DD`).", + "example": "2022-03-02" + }, + { + "name": "invoiceDateLte", + "schema": "string", + "description": "Return balances issued on this date or earlier (`YYYY-MM-DD`).", + "example": "2022-03-01" + }, + { + "name": "invoiceDateGt", + "schema": "string", + "description": "Return invoices issued after this date (`YYYY-MM-DD`).", + "example": "2022-05-06" + }, + { + "name": "invoiceDateGte", + "schema": "string", + "description": "Return invoices issued on this date or later (`YYYY-MM-DD`)", + "example": "2022-05-04" + }, + { + "name": "invoiceDateRange", + "schema": "array", + "description": "Return invoices issued within this date range (`YYYY-MM-DD`).", + "example": "2022-03-01,2022-05-06" + }, + { + "name": "invoiceIdentification", + "schema": "string", + "description": "Return an invoice with this ID (as provided by the insitution).", + "example": "862B9918-3K6H-4E0B-NAI9-2BE2D833B840" + }, + { + "name": "invoiceIdentificationIn", + "schema": "array", + "description": "Return invoices with these IDs (as provided by the institution).", + "example": "862B9918-3K6H-4E0B-NAI9-2BE2D833B840,992B9918-3G6H-4E0B-DAI9-2BE2D833B833" + }, + { + "name": "status", + "schema": "string", + "description": "Return invoices with this status. Can be either `Vigente` (https://developers.belvo.com or `Cancelado` (https://developers.belvo.com.", + "example": "Vigente" + }, + { + "name": "statusIn", + "schema": "array", + "description": "Return invoices with these statuses. Can be either `Vigente` (https://developers.belvo.com or `Cancelado` (https://developers.belvo.com.", + "example": "Vigente,Cancelado" + }, + { + "name": "type", + "schema": "string", + "description": "Return invoices of this type. Can be either `OUTFLOW` or `INFLOW`.", + "example": "OUTFLOW" + }, + { + "name": "typeIn", + "schema": "array", + "description": "Return invoices of these types. Can be either `OUTFLOW` or `INFLOW`.", + "example": "OUTFLOW,INFLOW" + }, + { + "name": "totalAmount", + "schema": "number", + "description": "Return invoices matching exactly this value.", + "example": 1000 + }, + { + "name": "totalAmountLt", + "schema": "number", + "description": "Return invoices less than this value.", + "example": 540 + }, + { + "name": "totalAmountLte", + "schema": "number", + "description": "Return invoices less than or equal to this value.", + "example": 541 + }, + { + "name": "totalAmountGt", + "schema": "number", + "description": "Return invoices greater than this value.", + "example": 520 + }, + { + "name": "totalAmountGte", + "schema": "number", + "description": "Return invoices greater than or equal to this value.", + "example": 519 + }, + { + "name": "totalAmountRange", + "schema": "array", + "description": "Return invoices between these two values.", + "example": "519.00,541.00" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/invoices", + "method": "completeRequest", + "httpMethod": "patch", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Complete an invoices request", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "session", + "schema": "string", + "required": true, + "description": "", + "example": "6e7b283c6efa449c9c028a16b5c249fa" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "683005d6-f45c-4adb-b289-f1a12f50f80c" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/invoices", + "method": "getLinkInvoices", + "httpMethod": "post", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Retrieve invoices for a link", + "parameters": [ + { + "name": "xBelvoRequestMode", + "schema": "string", + "description": "", + "example": "async" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "d4617561-1c01-4b2f-83b6-a594f7b3bc57" + }, + { + "name": "date_from", + "schema": "string", + "required": true, + "description": "", + "example": "2020-01-01" + }, + { + "name": "date_to", + "schema": "string", + "required": true, + "description": "", + "example": "2020-02-01" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "INFLOW" + }, + { + "name": "attach_xml", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "202", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/invoices/{id}", + "method": "deleteInvoice", + "httpMethod": "delete", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Delete an invoice", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `invoice.id` that you want to delete.", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/invoices/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Get an invoice's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `invoice.id` you want to get detailed information about.", + "example": "ID" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/tax-returns", + "method": "listAll", + "httpMethod": "get", + "tag": "Tax returns", + "typeScriptTag": "taxReturns", + "description": "List all tax returns", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "description": "The `link.id` you want to filter by.\n\nℹ️ We highly recommend adding the `link.id` filter in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "linkIn", + "schema": "array", + "description": "Return results only for these `link.id`s.", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65" + }, + { + "name": "id", + "schema": "string", + "description": "Return information only for this resource `id`.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f" + }, + { + "name": "idIn", + "schema": "array", + "description": "Return information for these resource `id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "createdAt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after or on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-04" + }, + { + "name": "createdAtLt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before this date (in `YYYY-MM-DD` format).", + "example": "2022-04-01" + }, + { + "name": "createdAtLte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before or on this date (in `YYYY-MM-DD` format).", + "example": "2022-03-30" + }, + { + "name": "createdAtRange", + "schema": "array", + "description": "Return accounts that were last updated in Belvo's database between two dates (in `YYYY-MM-DD` format).", + "example": "2022-03-03,2022-05-04" + }, + { + "name": "ejercicio", + "schema": "string", + "description": "Return tax returns for exactly this year (`YYYY`).", + "example": "2018" + }, + { + "name": "ejercicioLt", + "schema": "string", + "description": "Return tax returns for before this year (`YYYY`).", + "example": "2020" + }, + { + "name": "ejercicioLte", + "schema": "string", + "description": "Return tax returns for this year and earlier (`YYYY`).", + "example": "2021" + }, + { + "name": "ejercicioGt", + "schema": "string", + "description": "Return tax returns for after this year (`YYYY`).", + "example": "2019" + }, + { + "name": "ejercicioGte", + "schema": "string", + "description": "Return tax returns for this year or later (`YYYY`).", + "example": "2017" + }, + { + "name": "ejercicioRange", + "schema": "array", + "description": "Return tax returns for this range of years (`YYYY`).", + "example": "2015,2021" + }, + { + "name": "tipoDeclaracion", + "schema": "string", + "description": "Return tax returns with this declaration type.", + "example": "Normal" + }, + { + "name": "tipoDeclaracionIn", + "schema": "array", + "description": "Return tax returns with these declaration types.", + "example": "Normal,Commercial" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/tax-returns", + "method": "getInformation", + "httpMethod": "post", + "tag": "Tax returns", + "typeScriptTag": "taxReturns", + "description": "Retrieve tax returns for a link", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/tax-returns/{id}", + "method": "deleteSpecificTaxReturn", + "httpMethod": "delete", + "tag": "Tax returns", + "typeScriptTag": "taxReturns", + "description": "Delete a tax return", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The ID of the tax return you want to delete.", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/tax-returns/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Tax returns", + "typeScriptTag": "taxReturns", + "description": "Get a tax return's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `tax-return.id` you want to get detailed information about.", + "example": "ID" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/tax-status", + "method": "listAll", + "httpMethod": "get", + "tag": "Tax status", + "typeScriptTag": "taxStatus", + "description": "List all tax statuses", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "description": "The `link.id` you want to filter by.\n\nℹ️ We highly recommend adding the `link.id` filter in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "linkIn", + "schema": "array", + "description": "Return results only for these `link.id`s.", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65" + }, + { + "name": "id", + "schema": "string", + "description": "Return information only for this resource `id`.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f" + }, + { + "name": "idIn", + "schema": "array", + "description": "Return information for these resource `id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "createdAt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after or on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-04" + }, + { + "name": "createdAtLt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before this date (in `YYYY-MM-DD` format).", + "example": "2022-04-01" + }, + { + "name": "createdAtLte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before or on this date (in `YYYY-MM-DD` format).", + "example": "2022-03-30" + }, + { + "name": "createdAtRange", + "schema": "array", + "description": "Return accounts that were last updated in Belvo's database between two dates (in `YYYY-MM-DD` format).", + "example": "2022-03-03,2022-05-04" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/tax-status", + "method": "getLinkTaxStatus", + "httpMethod": "post", + "tag": "Tax status", + "typeScriptTag": "taxStatus", + "description": "Retrieve tax statuses for a link", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "d4617561-1c01-4b2f-83b6-a594f7b3bc57" + }, + { + "name": "attach_pdf", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/tax-status/{id}", + "method": "deleteSpecificTaxStatus", + "httpMethod": "delete", + "tag": "Tax status", + "typeScriptTag": "taxStatus", + "description": "Delete a tax status", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "the `tax-status.id` that you want to delete", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/tax-status/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Tax status", + "typeScriptTag": "taxStatus", + "description": "Get a tax status's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `tax-status.id` you want to get detailed information about.", + "example": "ID" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/tax-compliance-status", + "method": "listAll", + "httpMethod": "get", + "tag": "Tax compliance status", + "typeScriptTag": "taxComplianceStatus", + "description": "List all tax compliance statuses", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "description": "The `link.id` you want to filter by.\n\nℹ️ We highly recommend adding the `link.id` filter in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "linkIn", + "schema": "array", + "description": "Return results only for these `link.id`s.", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65" + }, + { + "name": "id", + "schema": "string", + "description": "Return information only for this resource `id`.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f" + }, + { + "name": "idIn", + "schema": "array", + "description": "Return information for these resource `id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "createdAt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after or on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-04" + }, + { + "name": "createdAtLt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before this date (in `YYYY-MM-DD` format).", + "example": "2022-04-01" + }, + { + "name": "createdAtLte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before or on this date (in `YYYY-MM-DD` format).", + "example": "2022-03-30" + }, + { + "name": "createdAtRange", + "schema": "array", + "description": "Return accounts that were last updated in Belvo's database between two dates (in `YYYY-MM-DD` format).", + "example": "2022-03-03,2022-05-04" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/tax-compliance-status", + "method": "getFiscalLinkInfo", + "httpMethod": "post", + "tag": "Tax compliance status", + "typeScriptTag": "taxComplianceStatus", + "description": "Retrieve tax compliance statuses for a link", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "d4617561-1c01-4b2f-83b6-a594f7b3bc57" + }, + { + "name": "attach_pdf", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/tax-compliance-status/{id}", + "method": "deleteSpecificTaxComplianceStatus", + "httpMethod": "delete", + "tag": "Tax compliance status", + "typeScriptTag": "taxComplianceStatus", + "description": "Delete a tax compliance status", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `tax-compliance-status.id` that you want to delete.", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/tax-compliance-status/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Tax compliance status", + "typeScriptTag": "taxComplianceStatus", + "description": "Get a tax compliance status's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `tax-compliance-status.id` you want to get detailed information\nabout.\n", + "example": "ID" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/incomes", + "method": "listAll", + "httpMethod": "get", + "tag": "Incomes", + "typeScriptTag": "incomes", + "description": "List all incomes", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "account", + "schema": "string", + "description": "The `account.id` you want to filter by.\n\nℹ️ We highly recommend adding either the `link.id` or the `account.id` filters in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "accountIn", + "schema": "array", + "description": "Return results only for these `account.id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "link", + "schema": "string", + "description": "The `link.id` you want to filter by.\n\nℹ️ We highly recommend adding the `link.id` filter in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "linkIn", + "schema": "array", + "description": "Return results only for these `link.id`s.", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/incomes", + "method": "resumeSession", + "httpMethod": "patch", + "tag": "Incomes", + "typeScriptTag": "incomes", + "description": "Complete an incomes request", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "session", + "schema": "string", + "required": true, + "description": "", + "example": "6e7b283c6efa449c9c028a16b5c249fa" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "683005d6-f45c-4adb-b289-f1a12f50f80c" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/incomes", + "method": "getInsights", + "httpMethod": "post", + "tag": "Incomes", + "typeScriptTag": "incomes", + "description": "Retrieve incomes for a link", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "2ccd5e15-194a-4a19-a45a-e7223c7e6717" + }, + { + "name": "allowed_income_types", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "minimum_confidence_level", + "schema": "string", + "required": false, + "description": "", + "example": "HIGH" + }, + { + "name": "date_from", + "schema": "string", + "required": false, + "description": "", + "example": "2020-08-01" + }, + { + "name": "date_to", + "schema": "string", + "required": false, + "description": "", + "example": "2020-12-30" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Income insights" + }, + { + "statusCode": "201", + "description": "Income insights" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/incomes/{id}", + "method": "deleteIncome", + "httpMethod": "delete", + "tag": "Incomes", + "typeScriptTag": "incomes", + "description": "Delete an income", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "the `income.id` that you want to delete", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/incomes/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Incomes", + "typeScriptTag": "incomes", + "description": "Get an income's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `income.id` you want to get detailed information about.", + "example": "ID" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Income insights" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/recurring-expenses", + "method": "listAll", + "httpMethod": "get", + "tag": "Recurring Expenses", + "typeScriptTag": "recurringExpenses", + "description": "List all recurring expenses", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "description": "The `link.id` you want to filter by.\n\nℹ️ We highly recommend adding the `link.id` filter in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "linkIn", + "schema": "array", + "description": "Return results only for these `link.id`s.", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65" + }, + { + "name": "account", + "schema": "string", + "description": "The `account.id` you want to filter by.\n\nℹ️ We highly recommend adding either the `link.id` or the `account.id` filters in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "accountIn", + "schema": "array", + "description": "Return results only for these `account.id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "id", + "schema": "string", + "description": "Return information only for this resource `id`.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f" + }, + { + "name": "idIn", + "schema": "array", + "description": "Return information for these resource `id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/recurring-expenses", + "method": "resumeRequest", + "httpMethod": "patch", + "tag": "Recurring Expenses", + "typeScriptTag": "recurringExpenses", + "description": "Complete a recurring expenses request", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "session", + "schema": "string", + "required": true, + "description": "", + "example": "6e7b283c6efa449c9c028a16b5c249fa" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "683005d6-f45c-4adb-b289-f1a12f50f80c" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/recurring-expenses", + "method": "getInsights", + "httpMethod": "post", + "tag": "Recurring Expenses", + "typeScriptTag": "recurringExpenses", + "description": "Retrieve recurring expenses for a link", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "2ccd5e15-194a-4a19-a45a-e7223c7e6717" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "default": true + }, + { + "name": "date_from", + "schema": "string", + "required": false, + "description": "", + "example": "2022-08-01" + }, + { + "name": "date_to", + "schema": "string", + "required": false, + "description": "", + "example": "2022-12-30" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/recurring-expenses/{id}", + "method": "deleteExpense", + "httpMethod": "delete", + "tag": "Recurring Expenses", + "typeScriptTag": "recurringExpenses", + "description": "Delete a recurring expense", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `recurring-expenses.id` that you want to delete", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/recurring-expenses/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Recurring Expenses", + "typeScriptTag": "recurringExpenses", + "description": "Get a recurring expense's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `recurring-expenses.id` you want to get detailed information about.", + "example": "ID" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/risk-insights", + "method": "listAllRiskInsights", + "httpMethod": "get", + "tag": "Risk Insights", + "typeScriptTag": "riskInsights", + "description": "List all risk insights", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "description": "The `link.id` you want to filter by.\n\nℹ️ We highly recommend adding the `link.id` filter in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "linkIn", + "schema": "array", + "description": "Return results only for these `link.id`s.", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65" + }, + { + "name": "account", + "schema": "string", + "description": "The `account.id` you want to filter by.\n\nℹ️ We highly recommend adding either the `link.id` or the `account.id` filters in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "accountIn", + "schema": "array", + "description": "Return results only for these `account.id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "id", + "schema": "string", + "description": "Return information only for this resource `id`.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f" + }, + { + "name": "idIn", + "schema": "array", + "description": "Return information for these resource `id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/risk-insights", + "method": "resumeInsightsSession", + "httpMethod": "patch", + "tag": "Risk Insights", + "typeScriptTag": "riskInsights", + "description": "Complete a risk insights request", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "session", + "schema": "string", + "required": true, + "description": "", + "example": "6e7b283c6efa449c9c028a16b5c249fa" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "683005d6-f45c-4adb-b289-f1a12f50f80c" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/risk-insights", + "method": "getForLink", + "httpMethod": "post", + "tag": "Risk Insights", + "typeScriptTag": "riskInsights", + "description": "Retrieve risk insights for a link", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "2ccd5e15-194a-4a19-a45a-e7223c7e6717" + }, + { + "name": "token", + "schema": "string", + "required": false, + "description": "", + "example": "1234ab" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/risk-insights/{id}", + "method": "deleteSpecificInsight", + "httpMethod": "delete", + "tag": "Risk Insights", + "typeScriptTag": "riskInsights", + "description": "Delete a risk insight", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `risk-insights.id` that you want to delete", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/risk-insights/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Risk Insights", + "typeScriptTag": "riskInsights", + "description": "Get a risk insight's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `risk-insights.id` you want to get detailed information about.", + "example": "ID" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/tax-retentions", + "method": "listAll", + "httpMethod": "get", + "tag": "Tax retentions", + "typeScriptTag": "taxRetentions", + "description": "List all tax retentions", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "description": "The `link.id` you want to filter by.\n\nℹ️ We highly recommend adding the `link.id` filter in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "linkIn", + "schema": "array", + "description": "Return results only for these `link.id`s.", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65" + }, + { + "name": "createdAt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after or on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-04" + }, + { + "name": "createdAtLt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before this date (in `YYYY-MM-DD` format).", + "example": "2022-04-01" + }, + { + "name": "createdAtLte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before or on this date (in `YYYY-MM-DD` format).", + "example": "2022-03-30" + }, + { + "name": "createdAtRange", + "schema": "array", + "description": "Return accounts that were last updated in Belvo's database between two dates (in `YYYY-MM-DD` format).", + "example": "2022-03-03,2022-05-04" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/tax-retentions", + "method": "getLinkTaxRetentions", + "httpMethod": "post", + "tag": "Tax retentions", + "typeScriptTag": "taxRetentions", + "description": "Retrieve tax retentions for a link", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "9e432f18-36ca-4bd6-a3f3-1971e58dc1e8" + }, + { + "name": "date_from", + "schema": "string", + "required": true, + "description": "", + "example": "2020-01-01" + }, + { + "name": "date_to", + "schema": "string", + "required": true, + "description": "", + "example": "2020-02-01" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "INFLOW" + }, + { + "name": "attach_xml", + "schema": "boolean", + "required": false, + "description": "", + "default": true + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/tax-retentions/{id}", + "method": "deleteSpecificTaxRetention", + "httpMethod": "delete", + "tag": "Tax retentions", + "typeScriptTag": "taxRetentions", + "description": "Delete a tax retention", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `tax-retention.id` that you want to delete.", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/tax-retentions/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Tax retentions", + "typeScriptTag": "taxRetentions", + "description": "Get a tax retention's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `tax-retention.id` you want to get detailed information\nabout.\n", + "example": "ID" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/tax-declarations", + "method": "listAll", + "httpMethod": "get", + "tag": "Tax declarations", + "typeScriptTag": "taxDeclarations", + "description": "List all tax declarations", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "description": "The `link.id` you want to filter by.\n\nℹ️ We highly recommend adding the `link.id` filter in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "linkIn", + "schema": "array", + "description": "Return results only for these `link.id`s.", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65" + }, + { + "name": "id", + "schema": "string", + "description": "Return information only for this resource `id`.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f" + }, + { + "name": "idIn", + "schema": "array", + "description": "Return information for these resource `id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "createdAt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after or on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-04" + }, + { + "name": "createdAtLt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before this date (in `YYYY-MM-DD` format).", + "example": "2022-04-01" + }, + { + "name": "createdAtLte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before or on this date (in `YYYY-MM-DD` format).", + "example": "2022-03-30" + }, + { + "name": "createdAtRange", + "schema": "array", + "description": "Return accounts that were last updated in Belvo's database between two dates (in `YYYY-MM-DD` format).", + "example": "2022-03-03,2022-05-04" + }, + { + "name": "year", + "schema": "number", + "description": "Return results for this year (`YYYY`).", + "example": 2020 + }, + { + "name": "yearGt", + "schema": "number", + "description": "Return results for after this year (`YYYY`).", + "example": 2020 + }, + { + "name": "yearGte", + "schema": "number", + "description": "Return results for this year or after (`YYYY`).", + "example": 2019 + }, + { + "name": "yearLt", + "schema": "number", + "description": "Return results for before this year (`YYYY`).", + "example": 2018 + }, + { + "name": "yearLte", + "schema": "number", + "description": "Return results for this year or earlier (`YYYY`).", + "example": 2017 + }, + { + "name": "yearRange", + "schema": "array", + "description": "Return results between these two years (`YYYY`).", + "example": "2017,2021" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/tax-declarations", + "method": "getFiscalLink", + "httpMethod": "post", + "tag": "Tax declarations", + "typeScriptTag": "taxDeclarations", + "description": "Retrieve tax declarations for a link", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "d4617561-1c01-4b2f-83b6-a594f7b3bc57" + }, + { + "name": "year_from", + "schema": "string", + "required": true, + "description": "", + "example": "2018" + }, + { + "name": "year_to", + "schema": "string", + "required": true, + "description": "", + "example": "2019" + }, + { + "name": "attach_pdf", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/tax-declarations/{id}", + "method": "deleteSpecificDeclaration", + "httpMethod": "delete", + "tag": "Tax declarations", + "typeScriptTag": "taxDeclarations", + "description": "Delete a tax declration", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `tax-declration.id` that you want to delete.", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/tax-declarations/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Tax declarations", + "typeScriptTag": "taxDeclarations", + "description": "Get a tax declaration's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `tax-declaration.id` you want to get detailed information\nabout.\n", + "example": "ID" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/employment-records", + "method": "listAll", + "httpMethod": "get", + "tag": "Employment Records Mexico", + "typeScriptTag": "employmentRecordsMexico", + "description": "List all employment records", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "id", + "schema": "string", + "description": "Return information only for this resource `id`.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f" + }, + { + "name": "idIn", + "schema": "array", + "description": "Return information for these resource `id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "link", + "schema": "string", + "description": "The `link.id` you want to filter by.\n\nℹ️ We highly recommend adding the `link.id` filter in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "linkIn", + "schema": "array", + "description": "Return results only for these `link.id`s.", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65" + }, + { + "name": "internalIdentification", + "schema": "string", + "description": "The `internal_identification` you want to filter by.\n", + "example": "BLPM951331IONVGR54" + }, + { + "name": "internalIdentificationIn", + "schema": "array", + "description": "One or more `internal_identification`s you want to filter by.\n", + "example": "BLPM951331IONVGR54,GNQM951221IOMCGR59" + }, + { + "name": "collectedAt", + "schema": "string", + "description": "Return items that were retrieved from the institution on this date (`YYYY-MM-DD` or full `ISO-8601` timestamp).", + "example": "2022-05-01" + }, + { + "name": "collectedAtGt", + "schema": "string", + "description": "Return items that were retrieved from the institution after this date (`YYYY-MM-DD` or full `ISO-8601` timestamp).", + "example": "2022-05-05" + }, + { + "name": "collectedAtGte", + "schema": "string", + "description": "Return items that were retrieved from the institution after or on this date (`YYYY-MM-DD` or full `ISO-8601` timestamp).", + "example": "2022-05-04" + }, + { + "name": "collectedAtLt", + "schema": "string", + "description": "Return items that were retrieved from the institution before this date (`YYYY-MM-DD` or full `ISO-8601` timestamp).", + "example": "2022-04-01" + }, + { + "name": "collectedAtLte", + "schema": "string", + "description": "Return items that were retrieved from the institution before or on this date (`YYYY-MM-DD` or full `ISO-8601` timestamp).", + "example": "2022-03-30" + }, + { + "name": "collectedAtRange", + "schema": "array", + "description": "Return items that were retrieved from the institution between two dates (`YYYY-MM-DD` or full `ISO-8601` timestamp).", + "example": "2022-03-03,2022-05-04" + }, + { + "name": "createdAt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after this date (in `YYYY-MM-DD` format).", + "example": "2022-05-05" + }, + { + "name": "createdAtGte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database after or on this date (in `YYYY-MM-DD` format).", + "example": "2022-05-04" + }, + { + "name": "createdAtLt", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before this date (in `YYYY-MM-DD` format).", + "example": "2022-04-01" + }, + { + "name": "createdAtLte", + "schema": "string", + "description": "Return items that were last updated in Belvo's database before or on this date (in `YYYY-MM-DD` format).", + "example": "2022-03-30" + }, + { + "name": "createdAtRange", + "schema": "array", + "description": "Return accounts that were last updated in Belvo's database between two dates (in `YYYY-MM-DD` format).", + "example": "2022-03-03,2022-05-04" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/employment-records", + "method": "getDetails", + "httpMethod": "post", + "tag": "Employment Records Mexico", + "typeScriptTag": "employmentRecordsMexico", + "description": "Retrieve employment record details", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "d686c617-6d9e-4bc6-9801-5ac276ccb6a2" + }, + { + "name": "attach_pdf", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/employment-records/{id}", + "method": "deleteRecord", + "httpMethod": "delete", + "tag": "Employment Records Mexico", + "typeScriptTag": "employmentRecordsMexico", + "description": "Delete an employment record", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `employment-record.id` that you want to delete.", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/employment-records/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Employment Records Mexico", + "typeScriptTag": "employmentRecordsMexico", + "description": "Get an employment record's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `employment-record.id` you want to get detailed information about.", + "example": "ID" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Employment record response payload" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/enrich/incomes", + "method": "enrichUserIncomes", + "httpMethod": "post", + "tag": "Income Verification", + "typeScriptTag": "incomeVerification", + "description": "Verify incomes", + "parameters": [ + { + "name": "language", + "schema": "string", + "required": true, + "description": "", + "example": "pt" + }, + { + "name": "transactions", + "schema": "array", + "required": true, + "description": "" + }, + { + "name": "date_from", + "schema": "string", + "required": false, + "description": "", + "example": "2022-08-01" + }, + { + "name": "date_to", + "schema": "string", + "required": false, + "description": "", + "example": "2022-12-30" + }, + { + "name": "allowed_income_types", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "minimum_confidence_level", + "schema": "string", + "required": false, + "description": "", + "example": "HIGH" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "This error occurs when you try to access Belvo's resource without the correct permissions.\n" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/categorization", + "method": "categorizeTransactions", + "httpMethod": "post", + "tag": "Categorization", + "typeScriptTag": "categorization", + "description": "Categorize transactions", + "parameters": [ + { + "name": "language", + "schema": "string", + "required": true, + "description": "", + "example": "pt" + }, + { + "name": "transactions", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "This error occurs when you try to access Belvo's resource without the correct permissions.\n" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/credit-score", + "method": "listAll", + "httpMethod": "get", + "tag": "Credit Score", + "typeScriptTag": "creditScore", + "description": "List all credit scores", + "parameters": [ + { + "name": "page", + "schema": "integer", + "description": "A page number within the paginated result set.", + "example": 1 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "Indicates how many results to return per page. By default we return 100 results per page.\n\nℹ️ 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 (https://developers.belvo.com.\n", + "example": 100, + "default": 100 + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "account", + "schema": "string", + "description": "The `account.id` you want to filter by.\n\nℹ️ We highly recommend adding either the `link.id` or the `account.id` filters in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "accountIn", + "schema": "array", + "description": "Return results only for these `account.id`s.", + "example": "24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509" + }, + { + "name": "link", + "schema": "string", + "description": "The `link.id` you want to filter by.\n\nℹ️ We highly recommend adding the `link.id` filter in order to improve your performance.\n", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4" + }, + { + "name": "linkIn", + "schema": "array", + "description": "Return results only for these `link.id`s.", + "example": "8848bd0c-9c7e-4f53-a732-ec896b11d4c4,cc2b13cf-336e-497c-9fad-e074b580df65" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/credit-score", + "method": "getByLink", + "httpMethod": "post", + "tag": "Credit Score", + "typeScriptTag": "creditScore", + "description": "Retrieve a credit score for a link", + "parameters": [ + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + }, + { + "name": "link", + "schema": "string", + "required": true, + "description": "", + "example": "2ccd5e15-194a-4a19-a45a-e7223c7e6717" + }, + { + "name": "date_to", + "schema": "string", + "required": false, + "description": "", + "example": "2023-02-28" + }, + { + "name": "save_data", + "schema": "boolean", + "required": false, + "description": "", + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Credit Score response" + }, + { + "statusCode": "201", + "description": "Credit Score response" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "408", + "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" + }, + { + "statusCode": "428", + "description": "" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + }, + { + "url": "/api/credit-score/{id}", + "method": "deleteSpecificScore", + "httpMethod": "delete", + "tag": "Credit Score", + "typeScriptTag": "creditScore", + "description": "Delete a credit score", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "the `credit-score.id` that you want to delete", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No content" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/credit-score/{id}", + "method": "getDetailsById", + "httpMethod": "get", + "tag": "Credit Score", + "typeScriptTag": "creditScore", + "description": "Get a credit score's details", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The `credit-score.id` you want to get detailed information about.", + "example": "ID" + }, + { + "name": "omit", + "schema": "string", + "description": "Omit certain fields from being returned in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2" + }, + { + "name": "fields", + "schema": "string", + "description": "Return only the specified fields in the response. For more information, see our [Filtering responses](https://developers.belvo.com/docs/searching-and-filtering) DevPortal article.", + "example": "field1,field2,field3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Credit Score response" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "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" + } + ] + }, + { + "url": "/api/enrich/credit-score", + "method": "getUserCreditScore", + "httpMethod": "post", + "tag": "Credit Score (https://developers.belvo.com", + "typeScriptTag": "creditScoreHttps:DevelopersBelvoCom", + "description": "Retrieve Credit Score", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "This error occurs when you try to access Belvo's resource without the correct permissions.\n" + }, + { + "statusCode": "500", + "description": "This error occurs when we (https://developers.belvo.com have encountered an internal system error (sorry about that) or due to an unsupported response from the institution.\n \n" + } + ] + } + ], + "repositoryDescription": "Belvo es la plataforma líder de datos y pagos de open finance en Latinoamérica. Ayudamos a innovadores financieros a acceder a los datos financieros de tus usuarios, entender mejor su comportamiento y habilitar pagos instantáneos gracias al open finance, con el objetivo de impulsar productos más eficientes, seguros e inclusivos.", + "logo": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/belvo/logo.png", + "openApiRaw": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/belvo/openapi.yaml", + "openApiGitHubUi": "https://github.com/konfig-sdks/openapi-examples/tree/HEAD/belvo/openapi.yaml", + "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/belvo/imagePreview.png", + "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/belvo/favicon.png", + "clientNameCamelCase": "belvo", + "lastUpdated": "2024-03-28T23:23:00.755Z", + "typescriptSdkUsageCode": "import { Belvo } from 'belvo-typescript-sdk';\n\nconst belvo = new Belvo({\n /*\n * Belvo employs **basic authentication** using your secret keys. Just use your secretId as the `username` and secretPassword as the `password`. For example:\n * \n * ```text Authentication example\n * curl \\\n * -u =BASE64-SECRET_ID=:=BASE64-SECRET_PASSWORD=\n * https://sandbox.belvo.com/api/\n * ```\n * \n * For information on how to get your API keys, check out our [Get Started in 5 Minutes](https://developers.belvo.com/docs/get-started-in-5-minutes) DevPortal article.\n */\n username: \"USERNAME\",\n password: \"PASSWORD\"\n})", + "typescriptSdkFirstRequestCode": "// List all links\nconst listAllResponse = belvo.links.listAll({\n page: 1\n pageSize: 100\n omit: \"field1,field2\"\n fields: \"field1,field2,field3\"\n id: \"24ccab1d-3a86-4136-a6eb-e04bf52b356f\"\n idIn: \"24ccab1d-3a86-4136-a6eb-e04bf52b356f,beb2b197-3cf7-428d-bef3-f415c0d57509\"\n institution: \"erebor_mx_retail\"\n institutionIn: \"erebor_mx_retail,gringotts_mx_retail\"\n accessMode: \"single\"\n createdAt: \"2022-05-05\"\n createdAtGt: \"2022-05-05\"\n createdAtGte: \"2022-05-04\"\n createdAtLt: \"2022-04-01\"\n createdAtLte: \"2022-03-30\"\n createdAtRange: \"2022-03-03,2022-05-04\"\n createdByNotIn: \"578947e2-3c9a-4401-bbad-59b2f2d2b91b,d3d941ab-4ca5-43c1-8b23-db329ee4cb7e\"\n externalId: \"InternalUser4000\"\n externalIdIn: \"InternalUser4000,InternalUser4001\"\n institutionUserId: \"ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0=\"\n institutionUserIdIn: \"ezFoxjPDr7YnASnOaft5F3zt7D0kurgDNlLtZFjxUo0=,YwuTM0uEEh1BbVgDZBcNpa_-Tm3l2q8ZkZNrlhp-pNA=\"\n refreshRate: \"24h\"\n status: \"invalid\"\n statusIn: \"invalid,unconfirmed\"\n})", + "fixedSpecFileName": "belvo-fixed-spec.yaml" +} \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_belvo.com.json b/sdks/db/spec-data/from-custom-request_belvo.com.json new file mode 100644 index 0000000000..dfe4afaf99 --- /dev/null +++ b/sdks/db/spec-data/from-custom-request_belvo.com.json @@ -0,0 +1,26 @@ +{ + "securitySchemes": { + "basicAuth": { + "type": "http", + "scheme": "basic", + "description": "Belvo employs **basic authentication** using your secret keys. Just use your secretId as the `username` and secretPassword as the `password`. For example:\n\n```text Authentication example\ncurl \\\n -u =BASE64-SECRET_ID=:=BASE64-SECRET_PASSWORD=\n https://sandbox.belvo.com/api/\n```\n\nFor information on how to get your API keys, check out our [Get Started in 5 Minutes](https://developers.belvo.com/docs/get-started-in-5-minutes) DevPortal article." + } + }, + "apiBaseUrl": "https://sandbox.belvo.com", + "apiVersion": "1.102.0", + "apiDescription": "# Introduction\n\nBelvo 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.\n\nThrough our API, you can access:\n\n\n- **Bank information** such as account information, real-time\nbalance, historical transactions, and account owner identification.\n\n- **Fiscal information** such as received and sent invoices and tax returns.\n\n\n\n\n\nIn this API reference you'll find all the information you need about each\n\nendpoint and resource.\n\n\n
\n\nTip: Make sure that you also check out our Developer\nPortal for guides on how to get started, using our Sandbox environment, as well as how to integrate the widget or use our quickstart application.\n\n
\n\n\n## Environment\n\nWe currently offer three environments: sandbox, development, and\nproduction.\n\n\nWhen using our SDKs, make sure to use the **Alias** (and not the Base URL).\n\n\n| Environment | Purpose | Access |\n|-----------|-------|-------|\n| **Sandbox** | The [Sandbox environment](https://developers.belvo.com/docs/test-in-sandbox) is dedicated for your testing and development phases. In this environment, you can create links without real credentials and you can pull test data from all endpoints. **⚠️The sandbox environment is refreshed frequently and your test data can be updated or deleted.** | Base URL (cURL): https://sandbox.belvo.com/

Alias (SDKs): sandbox|\n|**Development**|The Development environment is dedicated for testing with real credentials and institutions with real-world institutions. You can create up to 25 links for free in this environment.| Base URL (cURL): https://development.belvo.com/

Alias (SDKs): development |\n| **Production** | The Production environment is dedicated for live applications with real connections to institutions. In this environment, you\nwill need real credentials to create links and you will pull real data from the institutions.| Base URL (cURL): https://api.belvo.com/

Alias\n(SDKs): production|\n\n\nFor each environment, you'll need to [generate separate API\nkeys](https://developers.belvo.com/docs/get-your-belvo-api-keys).\n\n\n## Response codes\n\n\nWe use the following HTTP status code in the response depending on the\nsuccess or failure:\n\n\n| Status Code | Description |\n|-----------|-------|\n| `200` | ✅ **Success** - The content is available in the response body. |\n| `201` | ✅ **Success** - The content was created successfully on Belvo. |\n| `204` | ✅ **Success** - No content to return. |\n| `400` | ❌ **Bad Request Error** - Request returned an error, detail in content.|\n| `401` | ❌ **Unauthorized** - The Belvo credentials provided are not valid.|\n| `404` | ❌ **Not Found** - The resource you try to access cannot be found.|\n| `405` | ❌ **Method Not Allowed** - The HTTP method you are using is not accepted for this resource.|\n| `408` | ❌ **Request Timeout** - The request timed out and was terminated by the server.|\n| `428` | ❌ **MFA Token Required** - MFA token was required by the institution to connect. |\n| `500` | ❌ **Internal Server Error** - The detail of the error is available in the response body.|\n\n\n## Error handling\n\n\n### Error messages\n\n\nBelvo API errors are returned in JSON format. For example, an error might\nlook like this:\n\n\n```json\n\n[\n {\n \"request_id\": \"a6e1c493d7a29d91aed4338e6fcf077d\",\n \"message\": \"This field is required.\",\n \"code\": \"required\",\n \"field\": \"link\"\n }\n]\n\n```\n\n\nTypically, an error response will have the following parameters:\n\n- `request_id`: a unique ID for the request, you should share it with the\nBelvo support team for investigations.\n\n- `message`: human-readable description of the error.\n\n- `code`: a unique code for the error. Check the table below to see how to\nhandle each error code.\n\n- `field` *(optional)*: The specific field in the request body that has an\nissue.\n\n\n\n### Request identifier\n\nWhen you need help with a specific error, add the request identifier\n(`request_id`) in your message to the Belvo support team. This will speed up\ninvestigations and get you back up and running in no time at all.\n\n\n### Error codes and troubleshooting\n\n\nFor a full list of errors and how to troubleshoot them, please see our\ndedicated [Error handling\narticles](https://developers.belvo.com/docs/integration-overview#error-handling)\nin our DevPortal.\n\n\n\n### Retry policy\n\n\nPlease see our recommended [retry\npolicies](https://developers.belvo.com/docs/integration-overview#error-retry-policy)\nin the DevPortal.\n", + "apiTitle": "Belvo API Docs", + "endpoints": 37, + "sdkMethods": 80, + "schemas": 300, + "parameters": 590, + "contactUrl": "https://developers.belvo.com", + "contactEmail": "support@belvo.com", + "originalCustomRequest": { + "type": "GET", + "url": "https://statics.belvo.io/openapi-specs/BelvoOpenFinanceApiSpec.yaml" + }, + "customRequestSpecFilename": "belvo.com.yaml", + "difficultyScore": 377.5, + "difficulty": "Hard" +} \ No newline at end of file diff --git a/sdks/db/spec-data/geneea.com_1.0.json b/sdks/db/spec-data/geneea.com_1.0.json index b150c7f16c..e69ad150ff 100644 --- a/sdks/db/spec-data/geneea.com_1.0.json +++ b/sdks/db/spec-data/geneea.com_1.0.json @@ -22,5 +22,5 @@ "schemas": 12, "parameters": 65, "difficultyScore": 34.25, - "difficulty": "Easy" + "difficulty": "Very Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/mandrillapp.com_1.0.json b/sdks/db/spec-data/mandrillapp.com_1.0.json index f098f89406..a4e632a78d 100644 --- a/sdks/db/spec-data/mandrillapp.com_1.0.json +++ b/sdks/db/spec-data/mandrillapp.com_1.0.json @@ -17,5 +17,5 @@ "schemas": 95, "parameters": 244, "difficultyScore": 198.5, - "difficulty": "Hard" + "difficulty": "Medium" } \ No newline at end of file diff --git a/sdks/db/spec-data/nfusionsolutions.biz_1.json b/sdks/db/spec-data/nfusionsolutions.biz_1.json index 2c2a023d05..7b5bbddd86 100644 --- a/sdks/db/spec-data/nfusionsolutions.biz_1.json +++ b/sdks/db/spec-data/nfusionsolutions.biz_1.json @@ -25,5 +25,5 @@ "contactUrl": "https://nfusionsolutions.com/contact-us", "contactEmail": "support@nfusionsolutions.com", "difficultyScore": 34.25, - "difficulty": "Easy" + "difficulty": "Very Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/openpolicy.local_0.28.0.json b/sdks/db/spec-data/openpolicy.local_0.28.0.json index 9ba20d9282..1f1b2decd6 100644 --- a/sdks/db/spec-data/openpolicy.local_0.28.0.json +++ b/sdks/db/spec-data/openpolicy.local_0.28.0.json @@ -17,5 +17,5 @@ "parameters": 33, "contactUrl": "https://github.com/open-policy-agent/opa", "difficultyScore": 34.25, - "difficulty": "Easy" + "difficulty": "Very Easy" } \ No newline at end of file diff --git a/sdks/publish.yaml b/sdks/publish.yaml index 4099f0dc87..980fdfb920 100644 --- a/sdks/publish.yaml +++ b/sdks/publish.yaml @@ -7019,3 +7019,25 @@ publish: serviceName: false sdkName: brevo-{language}-sdk clientName: Brevo + from-custom-request_belvo.com: + homepage: belvo.com + company: Belvo + developerDocumentation: developers.belvo.com + apiStatusUrls: inherit + metaDescription: >- + Belvo es la plataforma líder de datos y pagos de open finance en + Latinoamérica. Ayudamos a innovadores financieros a acceder a los datos + financieros de tus usuarios, entender mejor su comportamiento y habilitar + pagos instantáneos gracias al open finance, con el objetivo de impulsar + productos más eficientes, seguros e inclusivos. + categories: + - finance + - open_banking + - fintech + - financial_services + - latam + - latin_america + - open_finance + serviceName: false + sdkName: belvo-{language}-sdk + clientName: Belvo diff --git a/sdks/src/collect-from-custom-requests.ts b/sdks/src/collect-from-custom-requests.ts index 1fbcad9749..a69463e94b 100644 --- a/sdks/src/collect-from-custom-requests.ts +++ b/sdks/src/collect-from-custom-requests.ts @@ -2208,6 +2208,10 @@ const customRequests: Record = { type: "GET", url: "https://api.brevo.com/v3/swagger_definition_v3.yml", }, + "belvo.com": { + type: "GET", + url: "https://statics.belvo.io/openapi-specs/BelvoOpenFinanceApiSpec.yaml", + }, "podium.com": { lambda: async () => { const urls = await collectEndpointsFromReadme({