# Get an income's details

Get the details of a specific income.

Endpoint: GET /api/incomes/{id}/
Version: 1.223.0
Security: basicAuth

## Path parameters:

  - `id` (string, required)
    The income.id you want to get detailed information about.

## 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.

## Response 200 fields (application/json):

  - `id` (string, required)
    Belvo's unique identifier for the current item.
    Example: "0d3ffb69-f83b-456e-ad8e-208d0998d71d"

  - `link` (string,null, required)
    The link.id the data belongs to.
    Example: "30cb4806-6e00-48a4-91c9-ca55968576c8"

  - `created_at` (string, required)
    The ISO-8601 timestamp of when the data point was created in Belvo's database.
    Example: "2022-02-09T08:45:50.406032Z"

  - `income_streams` (array, required)
    An array of enriched income stream objects.

  - `income_streams.account_id` (string, required)
    Unique ID for the bank account to be verified for income streams.
    Example: "EBACA-89077589"

  - `income_streams.income_type` (string, required)
    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
    Enum: "SALARY", "GOVERNMENT", "INTEREST", "RENT", "RETIREMENT", "FREELANCE", "ALTERNATIVE_INCOME", "TRANSFER", "DEPOSIT", "UNKNOWN"

  - `income_streams.frequency` (string, required)
    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.
    Enum: "MONTHLY", "FORTNIGHTLY", "WEEKLY", "IRREGULAR", "SINGLE"

  - `income_streams.monthly_average` (number, required)
    The average amount of income received from the source over periods_with_income.
    Example: 2500

  - `income_streams.monthly_median` (number)
    The median amount of income received from the source over within a natural month.
    Example: 2200

  - `income_streams.average_income_amount` (number, required)
    The average income transaction amount from the source.
    Example: 2500

  - `income_streams.last_income_amount` (number, required)
    The amount of the most recent income received from the source.
    Example: 2500

  - `income_streams.currency` (string, required)
    The three-letter currency code of the income. For example:

  • 🇧🇷 BRL (Brazilian Real)
  • 🇨🇴 COP (Colombian Peso)
  • 🇲🇽 MXN (Mexican Peso)
    Example: "BRL"

  - `income_streams.last_income_description` (string, required)
    The description of the most recent income from the stream.
    Example: "Salário"

  - `income_streams.last_income_date` (string, required)
    The date when the most recent income from the stream was received, in YYYY-MM-DD format.
    Example: "2023-02-09"

  - `income_streams.stability` (number,null, required)
    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

  - `income_streams.regularity` (number,null, required)
    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

  - `income_streams.trend` (number,null, required)
    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.

  - `income_streams.lookback_periods` (integer, required)
    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

  - `income_streams.full_periods` (integer, required)
    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

  - `income_streams.periods_with_income` (integer, required)
    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

  - `income_streams.number_of_incomes` (integer, required)
    Number of income transactions over the lookback_periods.
    Example: 9

  - `income_streams.confidence` (string, required)
    Belvo's level of confidence for future incomes.

We return one of the following enum values:

  - HIGH
  - MEDIUM
  - LOW
    Enum: "HIGH", "MEDIUM", "LOW"

  - `income_source_type` (string, required)
    The type of source we generate income insights from.
We return one of the following enum values:

  - BANK
    Enum: "BANK"

  - `first_transaction_date` (string,null, required)
    The date when the first transaction occurred, in YYYY-MM-DD format.
    Example: "2022-06-09"

  - `last_transaction_date` (string, required)
    The date when when the last transaction occurred, in YYYY-MM-DD format.
    Example: "2023-02-09"

  - `best_working_day_to_charge` (integer, required)
    The best working day of the month to charge the user.
    Example: 22

  - `good_working_days_to_charge` (array, required)
    Additional working days that have been identified as good days to charge the user.
    Example: [17,7,2]

  - `number_of_income_streams` (integer, required)
    Number of total income streams analized.
    Example: 1

  - `monthly_average` (number, required)
    Average amount of income received per month across all the accounts for the specific user.
    Example: 2500

  - `monthly_average_regular` (number, required)
    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` (number, required)
    Average amount of irregular income (with a frequency of SINGLE or IRREGULAR) received per month for the specific user.

  - `monthly_average_low_confidence` (number, required)
    Average amount of income received per month for the specific user with LOW confidence.

  - `monthly_average_medium_confidence` (number, required)
    Average amount of income received per month for the specific user with MEDIUM confidence.

  - `monthly_average_high_confidence` (number, required)
    Average amount of income received per month for the specific user with HIGH confidence.
    Example: 2500

  - `total_income_amount` (number, required)
    Total amount of all income received for the specific user.
    Example: 22500

  - `total_regular_income_amount` (number, required)
    Total amount of regular income (with a frequency of MONTHLY, FORTNIGHTLY, WEEKLY) for the specific user.
    Example: 22500

  - `total_irregular_income_amount` (number)
    Total amount of irregular income (with a frequency of SINGLE or IRREGULAR) for the specific user.

  - `total_low_confidence` (number, required)
    Total amount of income for the specific user with LOW confidence.

  - `total_medium_confidence` (number, required)
    Total amount of income for the specific user with MEDIUM confidence.

  - `total_high_confidence` (number, required)
    Total amount of income for the specific user with HIGH confidence.
    Example: 22500

## 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 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"


