---
title: "Get a recurring expense's details"
method: GET
path: "/api/recurring-expenses/{id}/"
tags: ["Recurring Expenses"]
---

# Get a recurring expense's details

`GET /api/recurring-expenses/{id}/`

Get the details of a specific recurring expense.

## Path parameters

- `id` string, required

## Query parameters

- `omit` string
- `fields` string

## Response `200`

Ok

- RecurringExpenses[]
  - `id` string, uuid — Belvo's unique identifier for the current item.
  - `account` AccountOpenFinanceBrazil, nullable, required — Details regarding the account.
    - `id` string, uuid, required — Belvo's unique identifier for the current item.
    - `link` string, uuid, nullable, required — The `link.id` the data belongs to.
    - `institution` InstitutionAccount, required — Details regarding the institution.
      - `name` string — The name of the institution, as designated by Belvo.
      - `type` 'bank' | 'fiscal' | 'employment' — The type of institution. We return one of the following values: - `bank` - `fiscal` - `employment`
    - `collected_at` string, date-time, required — The ISO-8601 timestamp when the data point was collected.
    - `created_at` string, date-time, required — The ISO-8601 timestamp of when the data point was created in Belvo's database.
    - `last_accessed_at` string, date-time, nullable, required — The ISO-8601 timestamp of Belvo's most recent successful access to the institution for the given link.
    - `category` 'ADVANCE_DEPOSIT_ACCOUNT' | 'CHECKING_ACCOUNT' | 'CREDIT_CARD' | 'FINANCING_ACCOUNT' | 'INVESTMENT_ACCOUNT' | 'INVOICE_FINANCING_ACCOUNT' | 'LOAN_ACCOUNT' | 'PENSION_FUND_ACCOUNT' | 'SAVINGS_ACCOUNT' | 'UNCATEGORIZED', nullable, required — 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`
    - `balance_type` string, nullable, 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.
    - `overdraft` AccountOverdraftOpenFinanceBrazil, nullable
      - `arranged` number, float, required — 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.
      - `used` number, float, required — The overdraft value used. > **Non-nullable:** A value must be returned by Brazil's open finance network if the `overdraft` field is available.
      - `unarranged` number, float, required — 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` string, required — The account type, as designated by the institution. > **Non-nullable:** A value must be returned by Brazil's open finance network.
    - `subtype` string, required — The account subtype, as designated by the institution. > **Non-nullable:** A value must be returned by Brazil's open finance network.
    - `name` string, nullable, required — The account name, as given by the institution.
    - `number` string, nullable, required — The account number, as designated by the institution.
    - `agency` string, nullable, required — The branch code where the product was opened.
    - `check_digit` string, nullable, required — The check digit of the product's number, if applicable.
    - `balance` AccountBalanceOpenFinanceBrazil, required — Details regarding the current and available balances for the account.
      - `current` number, float, nullable, 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.
      - `available` number, float, nullable — 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`.
      - `blocked` number, float — 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.
      - `automatically_invested` number, float — 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.
    - `currency` string, required — 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.
    - `public_identification_name` string, nullable, required — The public name for the type of identification. For 🇧🇷 Brazilian savings and checking accounts, this field will be `AGENCY/ACCOUNT`.
    - `public_identification_value` string, nullable, required — 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"
    - `internal_identification` string, required — 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.
    - `credit_data` AccountCreditDataOpenFinanceBrazil, nullable, required — Details regarding the credit cards associated with this account.
      - `collected_at` string, date-time, required — The ISO-8601 timestamp when the data point was collected.
      - `credit_limit` number, float, nullable, required — The upper credit limit of the card. > **Non-nullable:** A value must be returned by Brazil's open finance network.
      - `limits` AccountCreditDataLimitsOpenFinanceBrazil[]
        - `identification_number` string, nullable, required — 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.
        - `credit_limit` number, float, nullable, required — The limit of the credit card.
        - `used_amount` number, float, nullable, required — The amount used.
        - `available_amount` number, float, required — The amount still available. > **Non-nullable:** A value must be returned by Brazil's open finance network.
        - `is_limit_flexible` boolean, required — Boolean to indicate if the `credit_limit` is flexible. > **Non-nullable:** A value must be returned by Brazil's open finance network.
        - `type` 'TOTAL_LIMIT' | 'MODAL_LIMIT', required — 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.
        - `consolidation_type` string, required — Indicates whether or not the credit limit is consolidated or individual. > **Non-nullable:** A value must be returned by Brazil's open finance network.
        - `line_name` string, nullable, required — The credit limit line name.
        - `line_name_additional_info` string, nullable, required — Additional information about the line name.
      - `cutting_date` string, date, nullable — The date when the credit card's bill is due.
      - `minimum_payment` number, float, nullable — The minimum amount that the account owner needs to pay in the current credit period.
      - `network` 'VISA' | 'MASTERCARD' | 'AMERICAN_EXPRESS' | 'DINERS_CLUB' | 'HIPERCARD' | 'BANDEIRA_PROPRIA' | 'CHEQUE_ELETRONICO' | 'ELO' | 'OTHER' — 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.
      - `network_additional_info` string, nullable — Additional information about the credit card network.
      - `cards` AccountCreditDataCardsOpenFinanceBrazil[] — Details regarding the cards associated with the account.
        - `is_multiple` boolean, required — Boolean to indicate if this account has multiple credit cards. > **Non-nullable:** A value must be returned by Brazil's open finance network.
        - `identification_number` string, required — 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.
      - `next_payment_date` string, nullable — **Note:** This field is not applicable for OF Brazil and will return null.
      - `no_interest_payment` number, float, nullable — **Note:** This field is not applicable for OF Brazil and will return null.
      - `interest_rate` number, float, nullable — **Note:** This field is not applicable for OF Brazil and will return null.
      - `monthly_payment` number, nullable — **Note:** This field is not applicable for OF Brazil and will return null.
      - `last_payment_date` string, nullable — **Note:** This field is not applicable for OF Brazil and will return null.
    - `loan_data` AccountLoanDataOpenFinanceBrazil, nullable, required — The loan options associated with this account.
      - `collected_at` string, date-time, required — The ISO-8601 timestamp when the data point was collected.
      - `loan_code` string, required — The country-specific standardized contract number. > **Non-nullable:** A value must be returned by Brazil's open finance network.
      - `contract_amount` number, float, nullable, required — The initial total loan amount when the contract was signed, calculated by the institution. This amount includes the principal + interest + taxes + fees.
      - `total_effective_cost` number, float, nullable — The initial total effective cost of the loan.
      - `loan_type` string, required — The type of the loan, according to the institution. > **Non-nullable:** A value must be returned by Brazil's open finance network.
      - `outstanding_balance` number, float, nullable, required — The amount remaining to pay in total, including interest.
      - `interest_rates` AccountLoanDataInterestRateOpenFinanceBrazil[], required — 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.
        - `name` string, nullable, required — The name of the type of interest rate applied to the loan. **Note:** For OFDA Brazil, we recommend you use the `interest_rate_data.tax_type` parameter.
        - `type` 'MONTHLY' | 'YEARLY', required — The period that the interest is applied to the loan. > **Non-nullable:** A value must be returned by Brazil's open finance network.
        - `value` number, float, nullable, required — The interest rate (in percent or currency value). **Note:** For OFDA Brazil, we recommend you use the `interest_rate_data.pre_fixed_rate` and `interest_rate_data.post_fixed_rate`parameter.
        - `interest_rate_data` AccountLoanDataInterestRateDataOpenFinanceBrazil, nullable, required — Detailed information regarding the interest rate.
          - `tax_type` 'NOMINAL' | 'EFFECTIVE', required — 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.
          - `rate_type` 'SIMPLE' | 'COMPOUND', required — 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` 'MONTHLY' | 'YEARLY' — The period that the interest is applied to the loan. > **Non-nullable:** A value must be returned by Brazil's open finance network.
          - `calculation_base` string, required — The base calculation for the interest rate. > **Non-nullable:** A value must be returned by Brazil's open finance network.
          - `reference_index_type` 'WITHOUT_INDEX_TYPE' | 'PRE_FIXED' | 'POST_FIXED' | 'FLOATING' | 'INDEXED_PRICE' | 'RURAL_CREDIT' | 'OTHER_INDEX', required — 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.
          - `reference_index_subtype` string, nullable, required — The subtype of the reference index rate.
          - `reference_index_info` string, nullable, required — Additional information regarding the reference index rate.
          - `pre_fixed_rate` number, float, required — The pre-fixed percentage rate of the interest rate. > **Non-nullable:** A value must be returned by Brazil's open finance network.
          - `post_fixed_rate` number, float, required — The post-fixed percentage rate of the interest rate. > **Non-nullable:** A value must be returned by Brazil's open finance network.
          - `additional_info` string, nullable, required — Additional information regarding the interest rate.
      - `fees` AccountLoanDataFeesOpenFinanceBrazil[], nullable, required — Breakdown of the fees applied to the loan.
        - `type` 'OPERATION_FEE' | 'INSURANCE_FEE' | 'OTHERS' | 'null', nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
        - `value` number, float, nullable, required — The total value of the fee. Same currency as the loan.
        - `name` string, required — The fee name. > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available.
        - `code` string, required — The fee code. > **Non-nullable:** A value must be returned by Brazil's open finance network if the `fees` field is available.
        - `fee_charge_type` 'SINGLE' | 'PER_INSTALLMENT', required — 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.
        - `fee_charge` 'MINIMUM' | 'MAXIMUM' | 'FIXED' | 'PERCENTAGE', required — 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.
        - `rate` number, float, nullable, required — The percentage rate of the fee. Required when `fee_charge` is set to `PERCENTAGE`.
      - `contracted_charges` AccountLoanDataContractedChargesOpenFinanceBrazil[], nullable
        - `type` 'LATE_PAYMENT_INTEREST_FEE' | 'LATE_PAYMENT_PENALTY_FEE' | 'DEFAULT_INTEREST_FEE' | 'LOAN_CONTRACT_TAX' | 'LATE_PAYMENT_TAX' | 'NO_CHARGE' | 'OTHER' — 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.
        - `info` string, nullable — Additional information regarding the contracted charge.
        - `rate` number, float, nullable — The percentage rate of the charge, calculated based on the amount of the loan.
      - `collaterals` AccountLoanDataCollateralsOpenFinanceBrazil[], nullable, required — Details regarding any loan collaterals that the individual or business supplied.
        - `type` string, required — 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.
        - `subtype` string, required — 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.
        - `currency` string, required — 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.
        - `amount` number, float, required — 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.
      - `balloon_payments` AccountLoanDataBalloonPaymentsOpenFinanceBrazil[], nullable, required — Detailed information regarding any balloon payments for the loan, if applicable.
        - `due_date` string, date, nullable, required — The date that the balloon payment is to be paid, in `YYYY-MM-DD` format.
        - `currency` string, nullable, required — The three-letter currency code (ISO-4217).
        - `amount` number, float, nullable, required — The total amount of the balloon payment.
      - `installments_contract_term_frequency` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR' | 'NO_DEADLINE_REMAINING' | 'null', nullable, required — 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`
      - `installment_frequency` 'IRREGULAR' | 'WEEKLY' | 'FORTNIGHTLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'BIANNUALLY' | 'ANNUALLY' | 'OTHER', required — 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.
      - `installment_frequency_info` string, nullable, required — Additional information regarding the `installment_frequency`.
      - `first_installment_due_date` string, date, nullable, required — The date when the first installment of the loan is to be paid, in `YYYY-MM-DD` format.
      - `number_of_installments_total` integer, nullable, required — The total number of installments required to pay the loan.
      - `number_of_installments_outstanding` integer, nullable, required — The number of installments left to pay.
      - `number_of_installments_paid` integer, nullable, required — The number of installments already paid.
      - `number_of_installments_past_due` integer, nullable, required — The number of installments that are overdue.
      - `disbursement_dates` string[], nullable, required — An array of dates when the loan was disbursed.
      - `settlement_date` string, nullable, required — The date that the loan was settled, in `YYYY-MM-DD` format.
      - `contract_start_date` string, date, required — 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.
      - `contract_end_date` string, date, nullable, required — The date when the loan is expected to be completed, in `YYYY-MM-DD` format.
      - `contract_remaining_frequency` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR' | 'NO_DEADLINE_REMAINING' | 'null', nullable, required — 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`
      - `contract_remaining_total` integer, nullable, required — The total number of installments remaining on the loan.
      - `amortization_schedule` string, required — The loan amortization schedule. > **Non-nullable:** A value must be returned by Brazil's open finance network.
      - `amortization_schedule_info` string, nullable, required — Additional information regarding the `amortization_schedule`.
      - `consignee_id` string, nullable, required — The ID of the consignee of the loan.
      - `contract_number` string, nullable, required — The contract number of the loan, as given by the institution.
      - `monthly_payment` number, float, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `principal` number, float, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `payment_day` string, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `outstanding_principal` number, float, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `credit_limit` number, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `last_period_balance` number, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `interest_rate` number, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `limit_day` string, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `cutting_day` string, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `cutting_date` string, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `last_payment_date` string, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
      - `no_interest_payment` number, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
    - `funds_data` string, nullable, required — **Note:** This field is not applicable for OF Brazil and will return null.
  - `name` string, nullable, 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".
  - `transactions` RecurringExpenseSourceTransaction[], required — An array of minified transaction objects used to evaluate the recurring expense. If no transactions were found, we return an empty array.
    - `amount` number, float, required — The transaction amount.
    - `description` string, nullable, 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.
    - `value_date` string, date, required — The date when the transaction occurred, in `YYYY-MM-DD` format.
  - `frequency` 'MONTHLY', required — The frequency at which this recurring expense occurs. ℹ️ **Note:** Belvo only identifies `MONTHLY` frequencies.
  - `average_transaction_amount` number, float, required — The average transaction amount of the recurring expense.
  - `median_transaction_amount` number, float, required — The median transaction amount of the recurring expense.
  - `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.
  - `category` 'Bills & Utilities' | 'Credits & Loans' | 'Insurance' | 'Online Platforms & Leisure' | 'Transport & Travel' | 'Taxes', required — The transaction category for the recurring expense. For more information on the available categories, please see our <a href="https://developers.belvo.com/docs/banking#categorizing-transactions" target="_blank">Transaction categorization documentation</a>. - `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)
  - `payment_type` 'SUBSCRIPTION' | 'REGULAR', nullable, required — The type of recurring expense. We return one of the following values: - `SUBSCRIPTION` - `REGULAR`

## Other responses

- `401` — Unauthorized
- `403` — Access to Belvo API denied
- `404` — Not Found Error
- `408` — Request Timeout
- `428` — MFA Token Required
- `500` — Unexpected Error

---

[API](https://skmtc.net/belvo/apis/belvo-api-docs.md) · [All operations](https://skmtc.net/belvo/apis/belvo-api-docs/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/belvo/belvo-api-docs/versions/3423c786ece5/schema)
