---
title: "Employment"
method: POST
path: "/employer/employment"
tags: ["Organization"]
---

# Employment

`POST /employer/employment`

Read individual employment and income data

## Query parameters

- `entity_ids` string[]

## Headers

- `Finch-API-Version` string, date, required
- `Content-Type` string, required

## Request body

- object — Individual Ids Request Body
  - `requests` object[], required — The array of batch requests. Maximum 10000 items per request.
    - `individual_id` string, required — A stable Finch `id` (UUID v4) for an individual in the company.

## Response `200`

Employment data

- GetEmploymentResponse
  - `responses` object[], required
    - `individual_id` string, uuid, required — A stable Finch `id` (UUID v4) for an individual in the company.
    - `code` integer, required
    - `body` union, required
      - object
        - `first_name` string, nullable, required — The legal first name of the individual.
        - `middle_name` string, nullable, required — The legal middle name of the individual.
        - `last_name` string, nullable, required — The legal last name of the individual.
        - `title` string, nullable, required — The current title of the individual.
        - `manager` object, nullable, required — The manager object representing the manager of the individual within the org.
          - `id` string, uuid, required — A stable Finch `id` (UUID v4) for an individual in the company.
        - `department` object, nullable, required — The department object.
          - `name` string, nullable, required — The name of the department associated with the individual.
        - `employment` object, nullable, required — The employment object.
          - `type` 'employee' | 'contractor' | 'null', nullable, required — The main employment type of the individual.
          - `subtype` 'full_time' | 'intern' | 'part_time' | 'temp' | 'seasonal' | 'individual_contractor' | 'null', nullable, required — The secondary employment type of the individual. Options: `full_time`, `part_time`, `intern`, `temp`, `seasonal` and `individual_contractor`.
        - `start_date` string, nullable, required
        - `end_date` string, nullable, required
        - `latest_rehire_date` string, nullable, required
        - `is_active` boolean, nullable, required — `true` if the individual an an active employee or contractor at the company.
        - `employment_status` 'active' | 'deceased' | 'leave' | 'onboarding' | 'prehire' | 'retired' | 'terminated' | 'null', nullable, required — The detailed employment status of the individual.
        - `flsa_status` 'exempt' | 'non_exempt' | 'unknown' | 'null', nullable, required — The FLSA status of the individual. Available options: `exempt`, `non_exempt`, `unknown`.
        - `union_code` string, nullable, required — The code identifying the union the employee is a member of, as configured in the payroll system.
        - `union_local` string, nullable, required — The local chapter or local number within the employee's union.
        - `highly_compensated_employee` boolean, nullable, required — IRS flag indicating whether the employee is classified as a Highly Compensated Employee for nondiscrimination testing purposes (ADP/ACP tests). US-only.
        - `key_employee` boolean, nullable, required — IRS flag indicating whether the employee is classified as a Key Employee for top-heavy testing purposes. US-only.
        - `class_code` string, nullable, required — Worker's compensation classification code for this employee
        - `location` Location, nullable, required
          - `line1` string, nullable, required — Street address or PO box.
          - `line2` string, nullable, required — Apartment, suite, unit, or building.
          - `city` string, nullable, required — City, district, suburb, town, or village.
          - `state` string, nullable, required — The state code.
          - `postal_code` string, nullable, required — The postal code or zip code.
          - `country` string, nullable, required — The 2-letter ISO 3166 country code.
          - `name` string, nullable
          - `source_id` string, nullable
        - `income` Income, nullable — The employee's income as reported by the provider. This may not always be annualized income, but may be in units of bi-weekly, semi-monthly, daily, etc, depending on what information the provider returns.
          - `unit` 'yearly' | 'quarterly' | 'monthly' | 'semi_monthly' | 'bi_weekly' | 'weekly' | 'daily' | 'hourly' | 'fixed' | 'null', nullable, required — The income unit of payment. Options: `yearly`, `quarterly`, `monthly`, `semi_monthly`, `bi_weekly`, `weekly`, `daily`, `hourly`, and `fixed`.
          - `amount` integer, nullable, required — The income amount in cents.
          - `currency` string, nullable, required — The currency code.
          - `effective_date` string, date, nullable, required — The date the income amount went into effect.
        - `income_history` Income[], nullable — The array of income history.
          - `unit` 'yearly' | 'quarterly' | 'monthly' | 'semi_monthly' | 'bi_weekly' | 'weekly' | 'daily' | 'hourly' | 'fixed' | 'null', nullable, required — The income unit of payment. Options: `yearly`, `quarterly`, `monthly`, `semi_monthly`, `bi_weekly`, `weekly`, `daily`, `hourly`, and `fixed`.
          - `amount` integer, nullable, required — The income amount in cents.
          - `currency` string, nullable, required — The currency code.
          - `effective_date` string, date, nullable, required — The date the income amount went into effect.
        - `custom_fields` object[], nullable — Custom fields for the individual. These are fields which are defined by the employer in the system. Custom fields are not currently supported for assisted connections.
          - `name` string, nullable
          - `value` union
            - string
            - object
            - number
            - boolean
        - `source_id` string, nullable — The source system's unique employment identifier for this individual
        - `id` string, uuid, required — A stable Finch `id` (UUID v4) for an individual in the company.
        - `work_id` string, nullable — This field is deprecated in favour of `source_id`
      - BatchError
        - `code` number, required
        - `finch_code` string
        - `message` string, required
        - `name` string, required

## Other responses

- `202` — The request has been accepted for processing, but data is not yet available
- `422` — The request could not be processed due to a validation error

---

[API](https://skmtc.net/finch-api/apis/api-reference.md) · [All operations](https://skmtc.net/finch-api/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/finch-api/api-reference/revisions/f1cca2cb0ef2/schema)
