# List employment metrics

## ▶️ Usage

With the List Employment Metrics method, you can:

1. List employment metrics related to a specific link.id (using the link query parameter).
2. Get the details of a specific employment-metric.id (using the id query parameter).
3. [Not Recommended] List all employment metrics related to your Belvo account (without using any query parameters).

## 📖 Pagination

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

## 🔦 Filtering Responses

Please see the query list below for a list of fields that you can filter your responses by. For more information on how to use filters, see our Filtering responses article.

Endpoint: GET /api/employment-metrics/
Version: 1.223.0
Security: basicAuth

## Query parameters:

  - `link` (string)
    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"

  - `page_size` (integer)
    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).
    Example: 100

  - `page` (integer)
    A page number within the paginated result set.
    Example: 1

  - `link__in` (array)
    Return results only for these link.ids.
    Example: ["5722d0ba-69d7-42dc-8ff5-33767b83c5d6"]

  - `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):

  - `count` (integer)
    The total number of results in your Belvo account.
    Example: 130

  - `next` (string,null)
    The URL to next page of results. Each page consists of up to 100 items. If there are not enough results for an additional page, the value is null.

In our documentation example, we use {endpoint} as a placeholder value. In production, this value will be replaced by the actual endpoint you are currently using (for example, accounts or owners).
    Example: "https://sandbox.belvo.com/api/{endpoint}/?link=1bd948f7-245d-4313-b604-34d1044cb908page=2"

  - `previous` (string,null)
    The URL to the previous page of results. If there is no previous page, the
value is null.

  - `results` (array)
    Array of employment metric objects.

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

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

  - `results.collected_at` (string, required)
    The ISO-8601 timestamp when the data point was collected.
    Example: "2022-02-09T08:45:50.406032Z"

  - `results.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"

  - `results.updated_at` (string,null, required)
    The ISO-8601 timestamp of when the employment metrics calculation was last updated.
    Example: "2023-08-30T15:31:35.728607Z"

  - `results.reference_date` (string,null, required)
    The reference_date your provided in your request. If you didn't provide one, this field will return null, indicating that the calculations are performed up until the date of the request.

Note: All calculations are relative to this date.
    Example: "2023-06-01"

  - `results.age` (integer, required)
    The age of the individual.
    Example: 32

  - `results.current_status` (string, required)
    Indicates the employment status of the individual. We return one of the following responses:
  
  - EMPLOYED
  - RETIRED
  - UNEMPLOYED
  - null
    Enum: "EMPLOYED", "RETIRED", "UNEMPLOYED", "null"

  - `results.current_employer_count` (integer,null, required)
    The number of employers the individual has right now.
    Example: 1

  - `results.base_salary_last` (number,null, required)
    The user's latest base salary. If current_status is EMPLOYED, this is the user's current base salary.
    Example: 42.17

  - `results.weeks_employed_last_job` (number,null, required)
    The number of weeks the user was employed in their last job. If current_status is EMPLOYED, then this field indicates the number of weeks the user has been employed with his current job.
    Example: 327.1429

  - `results.weeks_since_last_job` (number,null, required)
    The number of weeks since their last job. If the value of this field is 0, this indicates that the user is currently employed.

  - `results.weeks_employed_total` (number,null, required)
    The total number of weeks the user has been employed, according to the institution.

> Note:
>
> In the case that the user is employed at two or more places at the same time, we still calculate those weeks as one week. For example, if a user has three concurrent jobs for a month, this is calculated as 4 weeks.
    Example: 148.2

  - `results.weeks_with_multiple_employers` (number,null, required)
    The number of the weeks that the individual has had more than one employer at the same time.

  - `results.employer_count` (integer,null, required)
    The total number of employers the user has had. Useful to indicate employment stability over the course of their lifetime.
    Example: 14

  - `results.unique_employer_count` (integer,null, required)
    The number of unique employers that the individual has had.

> Note:
>
> If the user left one company and returned, for example, six months later to the same company, this is counted as one employer.
    Example: 3

  - `results.employers_per_year` (number,null, required)
    Number of employers per year. Useful to indicate employment stability over the course of a year.

> Note:
>
> If the user left one company and returned, for example, six months later to the same company, this is counted as one employer.
    Example: 0.6326

  - `results.weeks_between_jobs` (number,null, required)
    The total number of weeks the individual was unemployed.
    Example: 687.2865

  - `results.max_weeks_between_jobs` (number,null, required)
    The maximum number of weeks that the individual was unemployed.
    Example: 249.8571

  - `results.increases_last_job` (integer,null, required)
    The total number of salary increases the user had in their last job. If current_status is EMPLOYED, this refers to the user's current job.

> Note:
>
> For all salary increases or decreases, we only take into account those where the change in salary is greater than 2%.

  - `results.decreases_last_job` (integer,null, required)
    The total number of salary increases the user had in their last job. If current_status is EMPLOYED, this refers to the user's current job.

  - `results.increases_after_change` (integer,null, required)
    The total number of salary increases between the individual's penultimate job and the last (or current) job.

  - `results.decreases_after_change` (integer,null, required)
    The total number of salary decreases between the individual's penultimate job and the last (or current) job.

  - `results.increases_overall` (integer,null, required)
    The total number of salary increases throughout the individual's working career.

  - `results.decreases_overall` (integer,null, required)
    The total number of salary decreases throughout the individual's working career.

  - `results.increases_1y` (integer,null, required)
    The total number of salary increases throughout the individual's last year (YTD).

  - `results.decreases_1y` (integer,null, required)
    The total number of salary decreases throughout the individual's last year (YTD).

  - `results.increases_3y` (integer,null, required)
    The total number of salary increases throughout the individual's last three years.

> Note:
>
>  If the individual's working career is less than three years, we return null.

  - `results.decreases_3y` (integer,null, required)
    The total number of salary decreases throughout the individual's last three years.

> Note:
>
>  If the individual's working career is less than three years, we return null.

  - `results.increases_5y` (integer,null, required)
    The total number of salary increases throughout the individual's last five years.

> Note:
>
>  If the individual's working career is less than five years, we return null.

  - `results.decreases_5y` (integer,null, required)
    The total number of salary decreases throughout the individual's last five years.

> Note:
>
>  If the individual's working career is less than five years, we return null.

  - `results.yearly_change_1y` (number,null, required)
    The individual's salary percentage change for the last year (YTD).

  - `results.yearly_change_3y` (number,null, required)
    The individual's salary percentage change for the last three years.

> Note:
>
>  If the individual's working career is less than three years, we return null.

  - `results.yearly_change_5y` (number,null, required)
    The individual's salary percentage change for the last five years.

> Note:
>
>  If the individual's working career is less than five years, we return null.

  - `results.min_monthly_salary_1y` (number,null, required)
    The individual's minimum monthly salary for the last year.
    Example: 3402.88

  - `results.min_monthly_salary_3y` (number,null, required)
    The individual's minimum monthly salary for the last three years.
    Example: 3402.88

  - `results.min_monthly_salary_5y` (number,null, required)
    The individual's minimum monthly salary for the last five years.
    Example: 3402.88

  - `results.average_monthly_salary_1y` (number,null, required)
    The individual's average monthly salary for the last year.
    Example: 3402.88

  - `results.average_monthly_salary_3y` (number,null, required)
    The individual's average monthly salary for the last three years.
    Example: 3402.88

  - `results.average_monthly_salary_5y` (number,null, required)
    The individual's average monthly salary for the last five years.
    Example: 3402.88

  - `results.max_monthly_salary_1y` (number,null, required)
    The individual's maximum monthly salary for the last year.
    Example: 3402.88

  - `results.max_monthly_salary_3y` (number,null, required)
    The individual's maximum monthly salary for the last three years.
    Example: 3402.88

  - `results.max_monthly_salary_5y` (number,null, required)
    The individual's maximum monthly salary for the last five years.
    Example: 3402.88

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


