# Complete a recurring expenses request Used to resume an Recurring Expenses retrieve session that was paused because an MFA token was required by the institution. Endpoint: PATCH /api/recurring-expenses/ Version: 1.223.0 Security: basicAuth ## Query parameters: - `omit` (string) Omit certain fields from being returned in the response. For more information, see our Filtering responses DevPortal article. - `fields` (string) Return only the specified fields in the response. For more information, see our Filtering responses DevPortal article. ## Request fields (application/json): - `session` (string, required) 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` (string) The MFA token generated by the institution which is required to continue a session. Example: "1234ab" - `link` (string, required) 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` (boolean) 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 ## Response 200 fields (application/json): - `id` (string) Belvo's unique identifier for the current item. Example: "0d3ffb69-f83b-456e-ad8e-208d0998d71d" - `account` (object,null, required) 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. - `account.link` (string,null) The link.id the data belongs to. Example: "30cb4806-6e00-48a4-91c9-ca55968576c8" - `account.institution` (object) Details regarding the institution. - `account.institution.name` (string) The name of the institution, as designated by Belvo. Example: "erebor_mx_retail" - `account.institution.type` (string) The type of institution. We return one of the following values: - bank - fiscal - employment Enum: "bank", "fiscal", "employment" - `account.collected_at` (string, required) The ISO-8601 timestamp when the data point was collected. Example: "2022-02-09T08:45:50.406032Z" - `account.created_at` (string) The ISO-8601 timestamp of when the data point was created in Belvo's database. Example: "2022-02-09T08:45:50.406032Z" - `account.category` (string,null, required) 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 Enum: "CHECKING_ACCOUNT", "CREDIT_CARD", "INVESTMENT_ACCOUNT", "LOAN_ACCOUNT", "PENSION_FUND_ACCOUNT", "SAVINGS_ACCOUNT", "UNCATEGORIZED", null - `account.balance_type` (string,null, required) 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" - `account.type` (string,null, required) The account type, as designated by the institution. Example: "Cuentas de efectivo" - `account.name` (string,null, required) The account name, as given by the institution. Example: "Cuenta Perfiles- M.N. - MXN-666" - `account.number` (string,null, required) The account number, as designated by the institution. Example: "4057068115181" - `account.balance` (object, required) Details regarding the current and available balances for the account. - `account.balance.current` (number,null, required) 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 - `account.balance.available` (number,null) 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 - `account.currency` (string,null, required) 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" - `account.public_identification_name` (string,null, required) 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" - `account.public_identification_value` (string,null, required) 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" - `account.last_accessed_at` (string,null, required) 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" - `account.credit_data` (object,null, required) The credit options associated with this account. - `account.credit_data.credit_limit` (number,null, required) The maximum amount of credit the owner can receive. Example: 192000 - `account.credit_data.cutting_date` (string,null, required) The closing date of the credit period, in YYYY-MM-DD format. Example: "2019-12-11" - `account.credit_data.next_payment_date` (string, required) The due date for the next payment , in YYYY-MM-DD format. Example: "2019-12-13" - `account.credit_data.minimum_payment` (number,null, required) The minimum amount to be paid on the next_payment_date. Example: 2400.3 - `account.credit_data.no_interest_payment` (number,null, required) The minimum amount required to pay to avoid generating interest. Example: 2690.83 - `account.credit_data.interest_rate` (number,null, required) The annualized interest rate of the credit. Example: 4 - `account.credit_data.monthly_payment` (number,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The recurrent monthly payment, if applicable. - `account.credit_data.last_payment_date` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The date when the last credit payment was made, in YYYY-MM-DD format. - `account.credit_data.last_period_balance` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The balance remaining after the last_payment_date. - `account.loan_data` (object,null, required) The loan options associated with this account. - `account.loan_data.contract_amount` (number,null) The initial total loan amount, calculated by the institution, when the contract was signed. This amount includes the principal + interest + taxes + fees. Example: 202000 - `account.loan_data.principal` (number,null, required) Total amount of the loan (the amount the user receives). Example: 192000 - `account.loan_data.loan_type` (string,null) The type of the loan, according to the institution. Example: "Consignado" - `account.loan_data.payment_day` (string,null) The day of the month by which the owner needs to pay the loan (DD). Example: "27" - `account.loan_data.outstanding_principal` (number,null) Outstanding loan amount, that is, how much remains to pay on the principal (not including interest). Example: 142023 - `account.loan_data.outstanding_balance` (number,null, required) The amount remaining to pay in total, including interest. Example: 182000 - `account.loan_data.monthly_payment` (number,null, required) The recurrent monthly payment, if applicable. Example: 1000 - `account.loan_data.interest_rates` (array,null, required) Breakdown of the interest applied to the loan. - `account.loan_data.interest_rates.name` (string,null, required) The name of the type of interest rate applied to the loan. Example: "jurosEfetivo" - `account.loan_data.interest_rates.type` (string,null, required) The period that the interest is applied to the loan. We return one of the following values: - MONTHLY - YEARLY Enum: "MONTHLY", "YEARLY" - `account.loan_data.interest_rates.value` (number,null, required) The interest rate (in percent or currency value). Example: 7.85 - `account.loan_data.fees` (array,null) Breakdown of the fees applied to the loan. - `account.loan_data.fees.type` (string, required) The type of fee. We return one of the following values: - OPERATION_FEE - INSURANCE_FEE - OTHERS Enum: "OPERATION_FEE", "INSURANCE_FEE", "OTHERS" - `account.loan_data.fees.value` (number, required) The total value of the fee. Same currency of the Loan. Example: 5.6 - `account.loan_data.number_of_installments_total` (integer,null) The total number of installments required to pay the loan. Example: 60 - `account.loan_data.number_of_installments_outstanding` (integer,null) The number of installments left to pay. Example: 48 - `account.loan_data.contract_start_date` (string,null) The date when the loan contract was signed , in YYYY-MM-DD format. Example: "2020-03-01" - `account.loan_data.contract_end_date` (string) The date when the loan is expected to be completed, in YYYY-MM-DD format. Example: "2027-10-01" - `account.loan_data.contract_number` (string,null) The contract number of the loan, as given by the institution. Example: "890ASLDJF87SD00" - `account.loan_data.credit_limit` (number,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. Please see principal instead. - `account.loan_data.last_period_balance` (number,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. Please see outstanding_balance instead. - `account.loan_data.interest_rate` (number,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. Please see the interest_rates object instead. - `account.loan_data.limit_day` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. Please see payment_day instead. - `account.loan_data.cutting_day` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The closing day of the month for the loan. - `account.loan_data.cutting_date` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The closing date of the loan period, in YYYY-MM-DD format. - `account.loan_data.last_payment_date` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The date when the last loan payment was made, in YYYY-MM-DD format. - `account.loan_data.next_payment_date` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. Please use payment_day instead, in YYYY-MM-DD format. - `account.loan_data.no_interest_payment` (number,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The minimum amount required to pay to avoid generating interest. - `account.funds_data` (array,null) One or more funds that contribute to the the pension account. - `account.funds_data.name` (string,null) The pension fund name. Example: "FIX X" - `account.funds_data.type` (string,null) Type of pension fund. Example: "CNPJ" - `account.funds_data.public_identifications` (array,null) The fund's public IDs. - `account.funds_data.public_identifications.name` (string, required) The type of identification number for the fund. Example: "CNPJ" - `account.funds_data.public_identifications.value` (string,null, required) The fund's identification number. Example: "05.954.445/0221-68" - `account.funds_data.balance` (number,null) The amount in the fund. Example: 88427.94 - `account.funds_data.percentage` (number,null) How much this fund, as a percentage, contributes to the pension account's total. Example: 100 - `account.bank_product_id` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The institution's product ID for the account type. - `account.internal_identification` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The institution's internal identification for the account. - `name` (string,null, required) 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` (array, required) An array of minified transaction objects used to evaluate the recurring expense. If no transactions were found, we return an empty array. - `transactions.amount` (number, required) The transaction amount. Example: 2145.45 - `transactions.description` (string,null, required) 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" - `transactions.value_date` (string, required) The date when the transaction occurred, in YYYY-MM-DD format. Example: "2019-10-23" - `frequency` (string, required) The frequency at which this recurring expense occurs. â„šī¸ Note: Belvo only identifies MONTHLY frequencies. Enum: "MONTHLY" - `average_transaction_amount` (number, required) The average transaction amount of the recurring expense. Example: 32.9 - `median_transaction_amount` (number, required) The median transaction amount of the recurring expense. Example: 32.9 - `days_since_last_transaction` (integer, required) 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` (string, required) The transaction category for the recurring expense. For more information on the available categories, please see our Transaction categorization documentation. - 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) Enum: "Bills & Utilities", "Credits & Loans", "Insurance", "Online Platforms & Leisure", "Transport & Travel", "Taxes" - `payment_type` (string,null, required) The type of recurring expense. We return one of the following values: - SUBSCRIPTION - REGULAR Enum: "SUBSCRIPTION", "REGULAR" ## Response 201 fields (application/json): - `id` (string) Belvo's unique identifier for the current item. Example: "0d3ffb69-f83b-456e-ad8e-208d0998d71d" - `account` (object,null, required) 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. - `account.link` (string,null) The link.id the data belongs to. Example: "30cb4806-6e00-48a4-91c9-ca55968576c8" - `account.institution` (object) Details regarding the institution. - `account.institution.name` (string) The name of the institution, as designated by Belvo. Example: "erebor_mx_retail" - `account.institution.type` (string) The type of institution. We return one of the following values: - bank - fiscal - employment Enum: "bank", "fiscal", "employment" - `account.collected_at` (string, required) The ISO-8601 timestamp when the data point was collected. Example: "2022-02-09T08:45:50.406032Z" - `account.created_at` (string) The ISO-8601 timestamp of when the data point was created in Belvo's database. Example: "2022-02-09T08:45:50.406032Z" - `account.category` (string,null, required) 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 Enum: "CHECKING_ACCOUNT", "CREDIT_CARD", "INVESTMENT_ACCOUNT", "LOAN_ACCOUNT", "PENSION_FUND_ACCOUNT", "SAVINGS_ACCOUNT", "UNCATEGORIZED", null - `account.balance_type` (string,null, required) 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" - `account.type` (string,null, required) The account type, as designated by the institution. Example: "Cuentas de efectivo" - `account.name` (string,null, required) The account name, as given by the institution. Example: "Cuenta Perfiles- M.N. - MXN-666" - `account.number` (string,null, required) The account number, as designated by the institution. Example: "4057068115181" - `account.balance` (object, required) Details regarding the current and available balances for the account. - `account.balance.current` (number,null, required) 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 - `account.balance.available` (number,null) 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 - `account.currency` (string,null, required) 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" - `account.public_identification_name` (string,null, required) 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" - `account.public_identification_value` (string,null, required) 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" - `account.last_accessed_at` (string,null, required) 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" - `account.credit_data` (object,null, required) The credit options associated with this account. - `account.credit_data.credit_limit` (number,null, required) The maximum amount of credit the owner can receive. Example: 192000 - `account.credit_data.cutting_date` (string,null, required) The closing date of the credit period, in YYYY-MM-DD format. Example: "2019-12-11" - `account.credit_data.next_payment_date` (string, required) The due date for the next payment , in YYYY-MM-DD format. Example: "2019-12-13" - `account.credit_data.minimum_payment` (number,null, required) The minimum amount to be paid on the next_payment_date. Example: 2400.3 - `account.credit_data.no_interest_payment` (number,null, required) The minimum amount required to pay to avoid generating interest. Example: 2690.83 - `account.credit_data.interest_rate` (number,null, required) The annualized interest rate of the credit. Example: 4 - `account.credit_data.monthly_payment` (number,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The recurrent monthly payment, if applicable. - `account.credit_data.last_payment_date` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The date when the last credit payment was made, in YYYY-MM-DD format. - `account.credit_data.last_period_balance` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The balance remaining after the last_payment_date. - `account.loan_data` (object,null, required) The loan options associated with this account. - `account.loan_data.contract_amount` (number,null) The initial total loan amount, calculated by the institution, when the contract was signed. This amount includes the principal + interest + taxes + fees. Example: 202000 - `account.loan_data.principal` (number,null, required) Total amount of the loan (the amount the user receives). Example: 192000 - `account.loan_data.loan_type` (string,null) The type of the loan, according to the institution. Example: "Consignado" - `account.loan_data.payment_day` (string,null) The day of the month by which the owner needs to pay the loan (DD). Example: "27" - `account.loan_data.outstanding_principal` (number,null) Outstanding loan amount, that is, how much remains to pay on the principal (not including interest). Example: 142023 - `account.loan_data.outstanding_balance` (number,null, required) The amount remaining to pay in total, including interest. Example: 182000 - `account.loan_data.monthly_payment` (number,null, required) The recurrent monthly payment, if applicable. Example: 1000 - `account.loan_data.interest_rates` (array,null, required) Breakdown of the interest applied to the loan. - `account.loan_data.interest_rates.name` (string,null, required) The name of the type of interest rate applied to the loan. Example: "jurosEfetivo" - `account.loan_data.interest_rates.type` (string,null, required) The period that the interest is applied to the loan. We return one of the following values: - MONTHLY - YEARLY Enum: "MONTHLY", "YEARLY" - `account.loan_data.interest_rates.value` (number,null, required) The interest rate (in percent or currency value). Example: 7.85 - `account.loan_data.fees` (array,null) Breakdown of the fees applied to the loan. - `account.loan_data.fees.type` (string, required) The type of fee. We return one of the following values: - OPERATION_FEE - INSURANCE_FEE - OTHERS Enum: "OPERATION_FEE", "INSURANCE_FEE", "OTHERS" - `account.loan_data.fees.value` (number, required) The total value of the fee. Same currency of the Loan. Example: 5.6 - `account.loan_data.number_of_installments_total` (integer,null) The total number of installments required to pay the loan. Example: 60 - `account.loan_data.number_of_installments_outstanding` (integer,null) The number of installments left to pay. Example: 48 - `account.loan_data.contract_start_date` (string,null) The date when the loan contract was signed , in YYYY-MM-DD format. Example: "2020-03-01" - `account.loan_data.contract_end_date` (string) The date when the loan is expected to be completed, in YYYY-MM-DD format. Example: "2027-10-01" - `account.loan_data.contract_number` (string,null) The contract number of the loan, as given by the institution. Example: "890ASLDJF87SD00" - `account.loan_data.credit_limit` (number,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. Please see principal instead. - `account.loan_data.last_period_balance` (number,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. Please see outstanding_balance instead. - `account.loan_data.interest_rate` (number,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. Please see the interest_rates object instead. - `account.loan_data.limit_day` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. Please see payment_day instead. - `account.loan_data.cutting_day` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The closing day of the month for the loan. - `account.loan_data.cutting_date` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The closing date of the loan period, in YYYY-MM-DD format. - `account.loan_data.last_payment_date` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The date when the last loan payment was made, in YYYY-MM-DD format. - `account.loan_data.next_payment_date` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. Please use payment_day instead, in YYYY-MM-DD format. - `account.loan_data.no_interest_payment` (number,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The minimum amount required to pay to avoid generating interest. - `account.funds_data` (array,null) One or more funds that contribute to the the pension account. - `account.funds_data.name` (string,null) The pension fund name. Example: "FIX X" - `account.funds_data.type` (string,null) Type of pension fund. Example: "CNPJ" - `account.funds_data.public_identifications` (array,null) The fund's public IDs. - `account.funds_data.public_identifications.name` (string, required) The type of identification number for the fund. Example: "CNPJ" - `account.funds_data.public_identifications.value` (string,null, required) The fund's identification number. Example: "05.954.445/0221-68" - `account.funds_data.balance` (number,null) The amount in the fund. Example: 88427.94 - `account.funds_data.percentage` (number,null) How much this fund, as a percentage, contributes to the pension account's total. Example: 100 - `account.bank_product_id` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The institution's product ID for the account type. - `account.internal_identification` (string,null) This field has been deprecated. For more information regarding Belvo and deprecation, see our Deprecated fields explanation. The institution's internal identification for the account. - `name` (string,null, required) 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` (array, required) An array of minified transaction objects used to evaluate the recurring expense. If no transactions were found, we return an empty array. - `transactions.amount` (number, required) The transaction amount. Example: 2145.45 - `transactions.description` (string,null, required) 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" - `transactions.value_date` (string, required) The date when the transaction occurred, in YYYY-MM-DD format. Example: "2019-10-23" - `frequency` (string, required) The frequency at which this recurring expense occurs. â„šī¸ Note: Belvo only identifies MONTHLY frequencies. Enum: "MONTHLY" - `average_transaction_amount` (number, required) The average transaction amount of the recurring expense. Example: 32.9 - `median_transaction_amount` (number, required) The median transaction amount of the recurring expense. Example: 32.9 - `days_since_last_transaction` (integer, required) 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` (string, required) The transaction category for the recurring expense. For more information on the available categories, please see our Transaction categorization documentation. - 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) Enum: "Bills & Utilities", "Credits & Loans", "Insurance", "Online Platforms & Leisure", "Transport & Travel", "Taxes" - `payment_type` (string,null, required) The type of recurring expense. We return one of the following values: - SUBSCRIPTION - REGULAR Enum: "SUBSCRIPTION", "REGULAR" ## Response 403 fields (application/json): - `code` (string) 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` (string) 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` (string) 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" ## Response 404 fields (application/json): - `code` (string) A unique error code (not_found) that allows you to classify and handle the error programmatically. Example: "not_found" - `message` (string) A short description of the error. For not_found errors, the description is: - Not found Example: "Not found" - `request_id` (string) 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" ## Response 408 fields (application/json): - `code` (string) 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` (string) 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` (string) 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" ## Response 428 fields (application/json): - `code` (string) 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` (string) 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` (string) 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" - `session` (string) A 32-character unique ID of the login session (matching a regex pattern of: [a-f0-9]{32}). Example: "2675b703b9d4451f8d4861a3eee54449" - `expiry` (integer) Session duration time in seconds. Example: 9600 - `link` (string) Unique identifier created by Belvo, used to reference the current Link. Example: "30cb4806-6e00-48a4-91c9-ca55968576c8" - `token_generation_data` (object) Details on how to generate the token. - `token_generation_data.instructions` (string) Instructions for token generation. Example: "Use this code to generate the token" - `token_generation_data.type` (string) Type of the data to generate the token (QR code, numeric challenge). Example: "numeric" - `token_generation_data.value` (string) Value to use to generate the token. Example: "12345" - `token_generation_data.expects_user_input` (boolean) 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 ## Response 500 fields (application/json): - `code` (string) 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` (string) 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` (string) 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"