# Update Employee

> **HRIS API** · `PATCH /hris/employees/{id}`
> Canonical URL: https://developers.apideck.com/apis/hris/reference#tag/Employees/operation/employeesUpdate
> MCP tool: `hris-employees-update`

## Authentication

- Send `Authorization: Bearer $API_KEY` using your Apideck secret API key. Keep the key server-side; never put it in a URL or client-side code.

Use the application, consumer and connector headers listed in Parameters below for this operation.

Update Employee

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | `string` | Yes | ID of the record you are acting upon. |
| `x-apideck-consumer-id` | header | `string` | Yes | ID of the consumer which you want to get or push data from |
| `x-apideck-app-id` | header | `string` | Yes | The ID of your Unify application |
| `x-apideck-service-id` | header | `string` | No | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. |
| `raw` | query | `boolean` | No | Include raw response. Mostly used for debugging purposes |

### Request Body

_Required._

- `id` `string` — A unique identifier for an object. — example: `12345`
- `downstream_id` `string` — The third-party API ID of original entity — example: `12345`
- `first_name` `string` — The first name of the person. — example: `Elon`
- `last_name` `string` — The last name of the person. — example: `Musk`
- `middle_name` `string` — Middle name of the person. — example: `D.`
- `display_name` `string` — The name used to display the employee, often a combination of their first and last names. — example: `Technoking`
- `preferred_name` `string` — The name the employee prefers to be addressed by, which may be different from their legal name. — example: `Elon Musk`
- `initials` `string` — The initials of the person, usually derived from their first, middle, and last names. — example: `EM`
- `salutation` `string` — A formal salutation for the person. For example, 'Mr', 'Mrs' — example: `Mr`
- `title` `string` — The job title of the person. — example: `CEO`
- `marital_status` `string` — The marital status of the employee. — example: `married`
- `partner` `object`
  - `id` `string` — A unique identifier for an object. — example: `12345`
  - `first_name` `string` — The first name of the person. — example: `Elon`
  - `last_name` `string` — The last name of the person. — example: `Musk`
  - `middle_name` `string` — Middle name of the person. — example: `D.`
  - `gender` `string` — The gender represents the gender identity of a person. — enum: `male`, `female`, `unisex`, `other`, `not_specified` — example: `male`
  - `initials` `string` — Initials of the person — example: `EM`
  - `birthday` `string` — Date of birth — format: `date` — example: `2000-08-12`
  - `deceased_on` `string` — Date of death — format: `date` — example: `2000-08-12`
  - `custom_mappings` `object` — When custom mappings are configured on the resource, the result is included here.
- `division` `string` — The division the person is currently in. Usually a collection of departments or teams or regions. — example: `Europe`
- `division_id` `string` — Unique identifier of the division this employee belongs to. — example: `12345`
- `department` `string` **Deprecated.** — The department the person is currently in. [Deprecated](https://developers.apideck.com/changelog) in favor of the dedicated department_id and department_name field. — example: `R&D`
- `department_id` `string` — Unique identifier of the department ID this employee belongs to. — example: `12345`
- `department_name` `string` — Name of the department this employee belongs to. — example: `12345`
- `team` `object` — The team the person is currently in.
  - `id` `string` — The unique identifier of the team. — example: `1234`
  - `name` `string` — The name of the team. — example: `Full Stack Engineers`
- `company_id` `string` — The unique identifier of the company. — example: `23456`
- `company_name` `string` — The name of the company. — example: `SpaceX`
- `employment_start_date` `string` — A Start Date is the date that the employee started working at the company — example: `2021-10-26`
- `employment_end_date` `string` — An End Date is the date that the employee ended working at the company — example: `2028-10-26`
- `leaving_reason` `string` — The reason because the employment ended. — enum: `dismissed`, `resigned`, `redundancy`, `retired`, `other` — example: `resigned`
- `employee_number` `string` — An Employee Number, Employee ID or Employee Code, is a unique number that has been assigned to each individual staff member within a company. — example: `123456-AB`
- `employment_status` `string` — The employment status of the employee, indicating whether they are currently employed, inactive, terminated, or in another status. — enum: `active`, `inactive`, `terminated`, `other` — example: `active`
- `employment_role` `object`
  - `type` `string` — The type of employment relationship the employee has with the organization. — enum: `contractor`, `employee`, `freelance`, `temp`, `internship`, `other`
  - `sub_type` `string` — The work schedule of the employee. — enum: `full_time`, `part_time`, `hourly`, `other`, `not_specified`
- `ethnicity` `string` — The ethnicity of the employee — example: `African American`
- `manager` `object`
  - `id` `string` — A unique identifier for an object. — example: `12345`
  - `name` `string` — The name of the manager, often a combination of their first and last names. — example: `Elon Musk`
  - `first_name` `string` — The first name of the person. — example: `Elon`
  - `last_name` `string` — The last name of the person. — example: `Musk`
  - `email` `string` — The email address of the manager. — format: `email` — example: `elon@musk.com`
  - `employment_status` `string` — The employment status of the employee, indicating whether they are currently employed, inactive, terminated, or in another status. — enum: `active`, `inactive`, `terminated`, `other` — example: `active`
- `direct_reports` `array of string` — Direct reports is an array of ids that reflect the individuals in an organizational hierarchy who are directly supervised by this specific employee.
- `social_security_number` `string` — A unique identifier assigned by the government. This field is considered sensitive information and may be subject to special security and privacy restrictions. — example: `123456789`
- `birthday` `string` — The date of birth of the person. — format: `date` — example: `2000-08-12`
- `deceased_on` `string` — The date the person deceased. — format: `date` — example: `2000-08-12`
- `country_of_birth` `string` — Country code according to ISO 3166-1 alpha-2. — example: `US`
- `description` `string` — A description of the object. — example: `A description`
- `gender` `string` — The gender represents the gender identity of a person. — enum: `male`, `female`, `unisex`, `other`, `not_specified` — example: `male`
- `pronouns` `string` — The preferred pronouns of the person. — example: `she,her`
- `preferred_language` `string` — language code according to ISO 639-1. For the United States - EN — example: `EN`
- `languages` `array of string`
- `nationalities` `array of string`
- `photo_url` `string` — The URL of the photo of a person. — example: `https://unavatar.io/elon-musk`
- `timezone` `string` — The time zone related to the resource. The value is a string containing a standard time zone identifier, e.g. Europe/London. — example: `Europe/London`
- `source` `string` — When the employee is imported as a new hire, this field indicates what system (e.g. the name of the ATS) this employee was imported from. — example: `lever`
- `source_id` `string` — Unique identifier of the employee in the system this employee was imported from (e.g. the ID in the ATS). — example: `12345`
- `record_url` `string` — example: `https://app.intercom.io/contacts/12345`
- `jobs` `array of object`
  - `id` `string` — A unique identifier for an object. — example: `12345`
  - `employee_id` `string` — A unique identifier for an object. — example: `12345`
  - `title` `string` — The job title of the person. — example: `CEO`
  - `role` `string` — The position and responsibilities of the person within the organization. — example: `Sales`
  - `start_date` `string` — The date on which the employee starts working in their current job role. — format: `date` — example: `2020-08-12`
  - `end_date` `string` — The date on which the employee leaves or is expected to leave their current job role. — format: `date` — example: `2020-08-12`
  - `compensation_rate` `number` — The rate of pay for the employee in their current job role. — example: `72000`
  - `currency` `string` — Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). — enum: `UNKNOWN_CURRENCY`, `AED`, `AFN`, `ALL`, `AMD`, `ANG`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BGN`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BOV`, `BRL`, `BSD`, `BTN`, `BWP`, `BYR`, `BZD`, `CAD`, `CDF`, `CHE`, `CHF`, `CHW`, `CLF`, `CLP`, `CNY`, `COP`, `COU`, `CRC`, `CUC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HRK`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LTL`, `LVL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRO`, `MUR`, `MVR`, `MWK`, `MXN`, `MXV`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLL`, `SOS`, `SRD`, `SSP`, `STD`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRC`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `USN`, `USS`, `UYI`, `UYU`, `UZS`, `VEF`, `VND`, `VUV`, `WST`, `XAF`, `XAG`, `XAU`, `XBA`, `XBB`, `XBC`, `XBD`, `XCD`, `XDR`, `XOF`, `XPD`, `XPF`, `XPT`, `XTS`, `XXX`, `YER`, `ZAR`, `ZMK`, `ZMW`, `BTC`, `ETH` — example: `USD`
  - `payment_unit` `string` — Unit of measurement for employee compensation. — enum: `hour`, `week`, `month`, `year`, `paycheck`, `other` — example: `year`
  - `hired_at` `string` — The date on which the employee was hired by the organization — format: `date` — example: `2020-08-12`
  - `is_primary` `boolean` — Indicates whether this the employee's primary job. — example: `true`
  - `is_manager` `boolean` — Indicates whether this the employee has a manager role. — example: `true`
  - `status` `string` — Indicates the status of the job. — enum: `active`, `inactive`, `other` — example: `active`
  - `location` `object`
    - `id` `string` — Unique identifier for the address. — example: `123`
    - `type` `string` — The type of address. — enum: `primary`, `secondary`, `home`, `office`, `shipping`, `billing`, `work`, `other` — example: `primary`
    - `string` `string` — The address string. Some APIs don't provide structured address data. — example: `25 Spring Street, Blackburn, VIC 3130`
    - `name` `string` — The name of the address. — example: `HQ US`
    - `line1` `string` — Line 1 of the address e.g. number, street, suite, apt #, etc. — example: `Main street`
    - `line2` `string` — Line 2 of the address — example: `apt #`
    - `line3` `string` — Line 3 of the address — example: `Suite #`
    - `line4` `string` — Line 4 of the address — example: `delivery instructions`
    - `line5` `string` — Line 5 of the address — example: `Attention: Finance Dept`
    - `street_number` `string` — Street number — example: `25`
    - `city` `string` — Name of city. — example: `San Francisco`
    - `state` `string` — Name of state — example: `CA`
    - `postal_code` `string` — Zip code or equivalent. — example: `94104`
    - `country` `string` — country code according to ISO 3166-1 alpha-2. — example: `US`
    - `latitude` `string` — Latitude of the address — example: `40.759211`
    - `longitude` `string` — Longitude of the address — example: `-73.984638`
    - `county` `string` — Address field that holds a sublocality, such as a county — example: `Santa Clara`
    - `contact_name` `string` — Name of the contact person at the address — example: `Elon Musk`
    - `salutation` `string` — Salutation of the contact person at the address — example: `Mr`
    - `phone_number` `string` — Phone number of the address — example: `111-111-1111`
    - `fax` `string` — Fax number of the address — example: `122-111-1111`
    - `email` `string` — Email address of the address — example: `elon@musk.com`
    - `website` `string` — Website of the address — example: `https://elonmusk.com`
    - `notes` `string` — Additional notes — example: `Address notes or delivery instructions.`
    - `row_version` `string` — A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. — example: `1-12345`
- `compensations` `array of object`
  - `id` `string` — A unique identifier for an object. — example: `12345`
  - `job_id` `string` — The ID of the job to which the compensation belongs. — example: `12345`
  - `rate` `number` — The amount paid per payment unit. — example: `72000`
  - `payment_unit` `string` — Unit of measurement for employee compensation. — enum: `hour`, `week`, `month`, `year`, `paycheck`, `other` — example: `year`
  - `currency` `string` — Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). — enum: `UNKNOWN_CURRENCY`, `AED`, `AFN`, `ALL`, `AMD`, `ANG`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BGN`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BOV`, `BRL`, `BSD`, `BTN`, `BWP`, `BYR`, `BZD`, `CAD`, `CDF`, `CHE`, `CHF`, `CHW`, `CLF`, `CLP`, `CNY`, `COP`, `COU`, `CRC`, `CUC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HRK`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LTL`, `LVL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRO`, `MUR`, `MVR`, `MWK`, `MXN`, `MXV`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLL`, `SOS`, `SRD`, `SSP`, `STD`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRC`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `USN`, `USS`, `UYI`, `UYU`, `UZS`, `VEF`, `VND`, `VUV`, `WST`, `XAF`, `XAG`, `XAU`, `XBA`, `XBB`, `XBC`, `XBD`, `XCD`, `XDR`, `XOF`, `XPD`, `XPF`, `XPT`, `XTS`, `XXX`, `YER`, `ZAR`, `ZMK`, `ZMW`, `BTC`, `ETH` — example: `USD`
  - `flsa_status` `string` — The FLSA status for this compensation. — enum: `exempt`, `salaried-nonexempt`, `nonexempt`, `owner`, `other`
  - `effective_date` `string` — The date on which a change to an employee's compensation takes effect. — example: `2020-08-12`
  - `payment_frequency` `string` — Frequency of employee compensation. — enum: `weekly`, `biweekly`, `monthly`, `pro-rata`, `other` — example: `monthly`
- `works_remote` `boolean` — Indicates if the employee works from a remote location. — example: `true`
- `addresses` `array of object`
  - `id` `string` — Unique identifier for the address. — example: `123`
  - `type` `string` — The type of address. — enum: `primary`, `secondary`, `home`, `office`, `shipping`, `billing`, `work`, `other` — example: `primary`
  - `string` `string` — The address string. Some APIs don't provide structured address data. — example: `25 Spring Street, Blackburn, VIC 3130`
  - `name` `string` — The name of the address. — example: `HQ US`
  - `line1` `string` — Line 1 of the address e.g. number, street, suite, apt #, etc. — example: `Main street`
  - `line2` `string` — Line 2 of the address — example: `apt #`
  - `line3` `string` — Line 3 of the address — example: `Suite #`
  - `line4` `string` — Line 4 of the address — example: `delivery instructions`
  - `line5` `string` — Line 5 of the address — example: `Attention: Finance Dept`
  - `street_number` `string` — Street number — example: `25`
  - `city` `string` — Name of city. — example: `San Francisco`
  - `state` `string` — Name of state — example: `CA`
  - `postal_code` `string` — Zip code or equivalent. — example: `94104`
  - `country` `string` — country code according to ISO 3166-1 alpha-2. — example: `US`
  - `latitude` `string` — Latitude of the address — example: `40.759211`
  - `longitude` `string` — Longitude of the address — example: `-73.984638`
  - `county` `string` — Address field that holds a sublocality, such as a county — example: `Santa Clara`
  - `contact_name` `string` — Name of the contact person at the address — example: `Elon Musk`
  - `salutation` `string` — Salutation of the contact person at the address — example: `Mr`
  - `phone_number` `string` — Phone number of the address — example: `111-111-1111`
  - `fax` `string` — Fax number of the address — example: `122-111-1111`
  - `email` `string` — Email address of the address — example: `elon@musk.com`
  - `website` `string` — Website of the address — example: `https://elonmusk.com`
  - `notes` `string` — Additional notes — example: `Address notes or delivery instructions.`
  - `row_version` `string` — A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. — example: `1-12345`
- `phone_numbers` `array of object`
  - `id` `string` — Unique identifier of the phone number — example: `12345`
  - `country_code` `string` — The country code of the phone number, e.g. +1 — example: `1`
  - `area_code` `string` — The area code of the phone number, e.g. 323 — example: `323`
  - `number` `string` **required** — The phone number — example: `111-111-1111`
  - `extension` `string` — The extension of the phone number — example: `105`
  - `type` `string` — The type of phone number — enum: `primary`, `secondary`, `home`, `work`, `office`, `mobile`, `assistant`, `fax`, `direct-dial-in`, `personal`, `billing`, `other` — example: `primary`
- `emails` `array of object`
  - `id` `string` — Unique identifier for the email address — example: `123`
  - `email` `string` **required** — Email address — format: `email` — example: `elon@musk.com`
  - `type` `string` — Email type — enum: `primary`, `secondary`, `work`, `personal`, `billing`, `other` — example: `primary`
- `custom_fields` `array of object`
  - `id` `string` — Unique identifier for the custom field. — example: `2389328923893298`
  - `name` `string` — Name of the custom field. — example: `employee_level`
  - `ref_name` `string` — Display name of the record a reference-type custom field points at. `value` carries that record's id; this carries its human-readable name, so a consumer does not need a second lookup to render it. — example: `Marketing`
  - `description` `string` — More information about the custom field — example: `Employee Level`
  - `value` `string | number | boolean | object | array of string | number | boolean | object`
    - One of:
      - Option 1: string
      - Option 2: number
      - Option 3: boolean
      - Option 4: object

      - Option 5: array of string | number | boolean | object
- `social_links` `array of object`
  - `id` `string` — Unique identifier of the social link — example: `12345`
  - `url` `string` **required** — URL of the social link, e.g. https://www.twitter.com/apideck — example: `https://www.twitter.com/apideck`
  - `type` `string` — Type of the social link, e.g. twitter — example: `twitter`
- `bank_accounts` `array of object`
  - `bank_name` `string` — The name of the bank or financial institution — example: `Chase Bank`
  - `account_number` `string` — The bank account number — example: `123465`
  - `account_name` `string` — The name of the bank account — example: `Main Operating Account`
  - `account_type` `string` — The type of bank account. — enum: `bank_account`, `credit_card`, `other` — example: `credit_card`
  - `iban` `string` — International Bank Account Number — example: `GB33BUKB20201555555555`
  - `bic` `string` — Bank Identifier Code / SWIFT Code — example: `CHASUS33`
  - `routing_number` `string` — Bank routing number (US) — example: `021000021`
  - `bsb_number` `string` — Bank State Branch number (Australia/New Zealand) — example: `062-001`
  - `branch_identifier` `string` — Bank branch identifier — example: `001`
  - `bank_code` `string` — Bank code assigned by central bank — example: `BNH`
  - `currency` `string` — Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). — enum: `UNKNOWN_CURRENCY`, `AED`, `AFN`, `ALL`, `AMD`, `ANG`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BGN`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BOV`, `BRL`, `BSD`, `BTN`, `BWP`, `BYR`, `BZD`, `CAD`, `CDF`, `CHE`, `CHF`, `CHW`, `CLF`, `CLP`, `CNY`, `COP`, `COU`, `CRC`, `CUC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HRK`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LTL`, `LVL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRO`, `MUR`, `MVR`, `MWK`, `MXN`, `MXV`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLL`, `SOS`, `SRD`, `SSP`, `STD`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRC`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `USN`, `USS`, `UYI`, `UYU`, `UZS`, `VEF`, `VND`, `VUV`, `WST`, `XAF`, `XAG`, `XAU`, `XBA`, `XBB`, `XBC`, `XBD`, `XCD`, `XDR`, `XOF`, `XPD`, `XPF`, `XPT`, `XTS`, `XXX`, `YER`, `ZAR`, `ZMK`, `ZMW`, `BTC`, `ETH` — example: `USD`
  - `country` `string` — Country code according to ISO 3166-1 alpha-2. — example: `US`
- `tax_code` `string` — example: `1111`
- `tax_id` `string` — example: `234-32-0000`
- `dietary_preference` `string` — Indicate the employee's dietary preference. — example: `Veggie`
- `food_allergies` `array of string` — Indicate the employee's food allergies.
- `probation_period` `object`
  - `start_date` `string` — The date that the employee started their probation period at the company. — format: `date` — example: `2021-10-01`
  - `end_date` `string` — The date that the employee ended their probation period at the company. — format: `date` — example: `2021-11-28`
- `tags` `array of string`
- `custom_mappings` `object` — When custom mappings are configured on the resource, the result is included here.
- `row_version` `string` — A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. — example: `1-12345`
- `deleted` `boolean` — Flag to indicate if the object is deleted. — example: `true`
- `updated_by` `string` — The user who last updated the object. — example: `12345`
- `created_by` `string` — The user who created the object. — example: `12345`
- `updated_at` `string` — The date and time when the object was last updated. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
- `created_at` `string` — The date and time when the object was created. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
- `pass_through` `array of object` — The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.
  - `service_id` `string` **required** — Identifier for the service to which this pass_through should be applied.
  - `operation_id` `string` — Optional identifier for a workflow operation to which this pass_through should be applied. This is useful for Unify calls that are making more than one downstream request.
  - `extend_object` `object` — Simple object allowing any properties for direct extension.
  - `extend_paths` `array of object` — Array of objects for structured data modifications via paths.
    - `path` `string` **required** — JSONPath string specifying where to apply the value. — example: `$.nested.property`
    - `value` `any` **required** — The value to set at the specified path, can be any type.

### Responses

#### 200 — Employees

- `status_code` `integer` **required** — HTTP Response Status Code — example: `200`
- `status` `string` **required** — HTTP Response Status — example: `OK`
- `service` `string` **required** — Apideck ID of service provider — example: `sage-hr`
- `resource` `string` **required** — Unified API resource name — example: `Employees`
- `operation` `string` **required** — Operation performed — example: `update`
- `data` `object` **required** — A object containing a unique identifier for the resource that was created, updated, or deleted.
  - `id` `string` **required** — The unique identifier of the resource — example: `12345`
- `_raw` `object` — Raw response from the integration when raw=true query param is provided

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

## SDK examples

Calls this operation with the official Apideck SDKs.

### TypeScript

Setup: [TypeScript SDK](https://developers.apideck.com/sdks/node.md)

```typescript
import { Apideck } from "@apideck/unify";

const apideck = new Apideck({
  consumerId: "test-consumer",
  appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
  apiKey: process.env["APIDECK_API_KEY"] ?? "",
});

async function run() {
  const result = await apideck.hris.employees.update({
    id: "<id>",
    serviceId: "bamboohr",
    employee: {
      id: "12345",
      firstName: "Elon",
      lastName: "Musk",
      middleName: "D.",
      displayName: "Technoking",
      preferredName: "Elon Musk",
      initials: "EM",
      salutation: "Mr",
      title: "CEO",
      maritalStatus: "married",
      partner: {
        firstName: "Elon",
        lastName: "Musk",
        middleName: "D.",
        gender: "male",
        initials: "EM",
        birthday: new Date("2000-08-12"),
        deceasedOn: new Date("2000-08-12"),
      },
      division: "Europe",
      divisionId: "12345",
      departmentId: "12345",
      departmentName: "12345",
      team: {
        id: "1234",
        name: "Full Stack Engineers",
      },
      companyId: "23456",
      companyName: "SpaceX",
      employmentStartDate: "2021-10-26",
      employmentEndDate: "2028-10-26",
      leavingReason: "resigned",
      employeeNumber: "123456-AB",
      employmentStatus: "active",
      ethnicity: "African American",
      manager: {
        id: "12345",
        name: "Elon Musk",
        firstName: "Elon",
        lastName: "Musk",
        email: "elon@musk.com",
        employmentStatus: "active",
      },
      directReports: [
        "a0d636c6-43b3-4bde-8c70-85b707d992f4",
        "a98lfd96-43b3-4bde-8c70-85b707d992e6",
      ],
      socialSecurityNumber: "123456789",
      birthday: new Date("2000-08-12"),
      deceasedOn: new Date("2000-08-12"),
      countryOfBirth: "US",
      description: "A description",
      gender: "male",
      pronouns: "she,her",
      preferredLanguage: "EN",
      languages: [
        "EN",
      ],
      nationalities: [
        "US",
      ],
      photoUrl: "https://unavatar.io/elon-musk",
      timezone: "Europe/London",
      source: "lever",
      sourceId: "12345",
      recordUrl: "https://app.intercom.io/contacts/12345",
      jobs: [
        {
          title: "CEO",
          role: "Sales",
          startDate: new Date("2020-08-12"),
          endDate: new Date("2020-08-12"),
          compensationRate: 72000,
          currency: "USD",
          paymentUnit: "year",
          hiredAt: new Date("2020-08-12"),
          isPrimary: true,
          isManager: true,
          status: "active",
          location: {
            id: "123",
            type: "primary",
            string: "25 Spring Street, Blackburn, VIC 3130",
            name: "HQ US",
            line1: "Main street",
            line2: "apt #",
            line3: "Suite #",
            line4: "delivery instructions",
            streetNumber: "25",
            city: "San Francisco",
            state: "CA",
            postalCode: "94104",
            country: "US",
            latitude: "40.759211",
            longitude: "-73.984638",
            county: "Santa Clara",
            contactName: "Elon Musk",
            salutation: "Mr",
            phoneNumber: "111-111-1111",
            fax: "122-111-1111",
            email: "elon@musk.com",
            website: "https://elonmusk.com",
            notes: "Address notes or delivery instructions.",
            rowVersion: "1-12345",
          },
        },
      ],
      compensations: [
        {
          rate: 50,
          paymentUnit: "hour",
          flsaStatus: "nonexempt",
          effectiveDate: "2021-06-11",
        },
      ],
      worksRemote: true,
      addresses: [
        {
          id: "123",
          type: "primary",
          string: "25 Spring Street, Blackburn, VIC 3130",
          name: "HQ US",
          line1: "Main street",
          line2: "apt #",
          line3: "Suite #",
          line4: "delivery instructions",
          streetNumber: "25",
          city: "San Francisco",
          state: "CA",
          postalCode: "94104",
          country: "US",
          latitude: "40.759211",
          longitude: "-73.984638",
          county: "Santa Clara",
          contactName: "Elon Musk",
          salutation: "Mr",
          phoneNumber: "111-111-1111",
          fax: "122-111-1111",
          email: "elon@musk.com",
          website: "https://elonmusk.com",
          notes: "Address notes or delivery instructions.",
          rowVersion: "1-12345",
        },
      ],
      phoneNumbers: [
        {
          id: "12345",
          countryCode: "1",
          areaCode: "323",
          number: "111-111-1111",
          extension: "105",
          type: "primary",
        },
        {
          id: "12345",
          countryCode: "1",
          areaCode: "323",
          number: "111-111-1111",
          extension: "105",
          type: "primary",
        },
      ],
      emails: [
        {
          id: "123",
          email: "elon@musk.com",
          type: "primary",
        },
      ],
      customFields: [
        {
          id: "2389328923893298",
          name: "employee_level",
          description: "Employee Level",
          value: "Uses Salesforce and Marketo",
        },
        {
          id: "2389328923893298",
          name: "employee_level",
          description: "Employee Level",
          value: "Uses Salesforce and Marketo",
        },
        {
          id: "2389328923893298",
          name: "employee_level",
          description: "Employee Level",
          value: "Uses Salesforce and Marketo",
        },
      ],
      socialLinks: [
        {
          id: "12345",
          url: "https://www.twitter.com/apideck",
          type: "twitter",
        },
        {
          id: "12345",
          url: "https://www.twitter.com/apideck",
          type: "twitter",
        },
      ],
      bankAccounts: [
        {
          bankName: "Monzo",
          accountNumber: "123465",
          accountName: "SPACEX LLC",
          accountType: "credit_card",
          iban: "CH2989144532982975332",
          bic: "AUDSCHGGXXX",
          routingNumber: "012345678",
          bsbNumber: "062-001",
          branchIdentifier: "001",
          bankCode: "BNH",
          currency: "USD",
        },
      ],
      taxCode: "1111",
      taxId: "234-32-0000",
      dietaryPreference: "Veggie",
      foodAllergies: [
        "No allergies",
      ],
      probationPeriod: {
        startDate: new Date("2021-10-01"),
        endDate: new Date("2021-11-28"),
      },
      tags: [
        "New",
      ],
      rowVersion: "1-12345",
      deleted: true,
      passThrough: [
        {
          serviceId: "<id>",
          extendPaths: [
            {
              path: "$.nested.property",
              value: {
                "TaxClassificationRef": {
                  "value": "EUC-99990201-V1-00020000",
                },
              },
            },
          ],
        },
        {
          serviceId: "<id>",
          extendPaths: [
            {
              path: "$.nested.property",
              value: {
                "TaxClassificationRef": {
                  "value": "EUC-99990201-V1-00020000",
                },
              },
            },
          ],
        },
      ],
    },
  });

  console.log(result);
}

run();
```

### Python

Setup: [Python SDK](https://developers.apideck.com/sdks/python.md)

```python
import apideck_unify
from apideck_unify import Apideck
from datetime import date
import os


with Apideck(
    consumer_id="test-consumer",
    app_id="dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
    api_key=os.getenv("APIDECK_API_KEY", ""),
) as apideck:

    res = apideck.hris.employees.update(id_param="<value>", service_id="bamboohr", raw=False, id="12345", first_name="Elon", last_name="Musk", middle_name="D.", display_name="Technoking", preferred_name="Elon Musk", initials="EM", salutation="Mr", title="CEO", marital_status="married", partner={
        "first_name": "Elon",
        "last_name": "Musk",
        "middle_name": "D.",
        "gender": apideck_unify.Gender.MALE,
        "initials": "EM",
        "birthday": date.fromisoformat("2000-08-12"),
        "deceased_on": date.fromisoformat("2000-08-12"),
    }, division="Europe", division_id="12345", department_id="12345", department_name="12345", team={
        "id": "1234",
        "name": "Full Stack Engineers",
    }, company_id="23456", company_name="SpaceX", employment_start_date="2021-10-26", employment_end_date="2028-10-26", leaving_reason=apideck_unify.LeavingReason.RESIGNED, employee_number="123456-AB", employment_status=apideck_unify.EmploymentStatus.ACTIVE, ethnicity="African American", manager={
        "id": "12345",
        "name": "Elon Musk",
        "first_name": "Elon",
        "last_name": "Musk",
        "email": "elon@musk.com",
        "employment_status": apideck_unify.EmploymentStatus.ACTIVE,
    }, direct_reports=[
        "a0d636c6-43b3-4bde-8c70-85b707d992f4",
        "a98lfd96-43b3-4bde-8c70-85b707d992e6",
    ], social_security_number="123456789", birthday=date.fromisoformat("2000-08-12"), deceased_on=date.fromisoformat("2000-08-12"), country_of_birth="US", description="A description", gender=apideck_unify.Gender.MALE, pronouns="she,her", preferred_language="EN", languages=[
        "EN",
    ], nationalities=[
        "US",
    ], photo_url="https://unavatar.io/elon-musk", timezone="Europe/London", source="lever", source_id="12345", record_url="https://app.intercom.io/contacts/12345", jobs=[
        {
            "title": "CEO",
            "role": "Sales",
            "start_date": date.fromisoformat("2020-08-12"),
            "end_date": date.fromisoformat("2020-08-12"),
            "compensation_rate": 72000,
            "currency": apideck_unify.Currency.USD,
            "payment_unit": apideck_unify.PaymentUnit.YEAR,
            "hired_at": date.fromisoformat("2020-08-12"),
            "is_primary": True,
            "is_manager": True,
            "status": apideck_unify.EmployeeJobStatus.ACTIVE,
            "location": {
                "id": "123",
                "type": apideck_unify.Type.PRIMARY,
                "string": "25 Spring Street, Blackburn, VIC 3130",
                "name": "HQ US",
                "line1": "Main street",
                "line2": "apt #",
                "line3": "Suite #",
                "line4": "delivery instructions",
                "line5": "Attention: Finance Dept",
                "street_number": "25",
                "city": "San Francisco",
                "state": "CA",
                "postal_code": "94104",
                "country": "US",
                "latitude": "40.759211",
                "longitude": "-73.984638",
                "county": "Santa Clara",
                "contact_name": "Elon Musk",
                "salutation": "Mr",
                "phone_number": "111-111-1111",
                "fax": "122-111-1111",
                "email": "elon@musk.com",
                "website": "https://elonmusk.com",
                "notes": "Address notes or delivery instructions.",
                "row_version": "1-12345",
            },
        },
    ], compensations=[
        {
            "rate": 50,
            "payment_unit": apideck_unify.PaymentUnit.HOUR,
            "flsa_status": apideck_unify.FlsaStatus.NONEXEMPT,
            "effective_date": "2021-06-11",
        },
    ], works_remote=True, addresses=[
        {
            "id": "123",
            "type": apideck_unify.Type.PRIMARY,
            "string": "25 Spring Street, Blackburn, VIC 3130",
            "name": "HQ US",
            "line1": "Main street",
            "line2": "apt #",
            "line3": "Suite #",
            "line4": "delivery instructions",
            "line5": "Attention: Finance Dept",
            "street_number": "25",
            "city": "San Francisco",
            "state": "CA",
            "postal_code": "94104",
            "country": "US",
            "latitude": "40.759211",
            "longitude": "-73.984638",
            "county": "Santa Clara",
            "contact_name": "Elon Musk",
            "salutation": "Mr",
            "phone_number": "111-111-1111",
            "fax": "122-111-1111",
            "email": "elon@musk.com",
            "website": "https://elonmusk.com",
            "notes": "Address notes or delivery instructions.",
            "row_version": "1-12345",
        },
    ], phone_numbers=[
        {
            "id": "12345",
            "country_code": "1",
            "area_code": "323",
            "number": "111-111-1111",
            "extension": "105",
            "type": apideck_unify.PhoneNumberType.PRIMARY,
        },
    ], emails=[
        {
            "id": "123",
            "email": "elon@musk.com",
            "type": apideck_unify.EmailType.PRIMARY,
        },
    ], custom_fields=[
        {
            "id": "2389328923893298",
            "name": "employee_level",
            "ref_name": "Marketing",
            "description": "Employee Level",
            "value": "Uses Salesforce and Marketo",
        },
    ], social_links=[
        {
            "id": "12345",
            "url": "https://www.twitter.com/apideck",
            "type": "twitter",
        },
    ], bank_accounts=[
        {
            "bank_name": "Chase Bank",
            "account_number": "123465",
            "account_name": "Main Operating Account",
            "account_type": apideck_unify.BankAccount2AccountType.CREDIT_CARD,
            "iban": "GB33BUKB20201555555555",
            "bic": "CHASUS33",
            "routing_number": "021000021",
            "bsb_number": "062-001",
            "branch_identifier": "001",
            "bank_code": "BNH",
            "currency": apideck_unify.Currency.USD,
            "country": "US",
        },
    ], tax_code="1111", tax_id="234-32-0000", dietary_preference="Veggie", food_allergies=[
        "No allergies",
    ], probation_period={
        "start_date": date.fromisoformat("2021-10-01"),
        "end_date": date.fromisoformat("2021-11-28"),
    }, tags=[
        "New",
    ], row_version="1-12345", deleted=True, pass_through=[
        {
            "service_id": "<id>",
            "extend_paths": [
                {
                    "path": "$.nested.property",
                    "value": {
                        "TaxClassificationRef": {
                            "value": "EUC-99990201-V1-00020000",
                        },
                    },
                },
            ],
        },
    ])

    assert res.update_employee_response is not None

    # Handle response
    print(res.update_employee_response)
```

### PHP

Setup: [PHP SDK](https://developers.apideck.com/sdks/php.md)

```php
declare(strict_types=1);

require 'vendor/autoload.php';

use Apideck\Unify;
use Apideck\Unify\Models\Components;
use Apideck\Unify\Models\Operations;
use Brick\DateTime\LocalDate;

$sdk = Unify\Apideck::builder()
    ->setConsumerId('test-consumer')
    ->setAppId('dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX')
    ->setSecurity(
        '<YOUR_BEARER_TOKEN_HERE>'
    )
    ->build();

$request = new Operations\HrisEmployeesUpdateRequest(
    id: '<id>',
    serviceId: 'bamboohr',
    employee: new Components\EmployeeInput(
        id: '12345',
        firstName: 'Elon',
        lastName: 'Musk',
        middleName: 'D.',
        displayName: 'Technoking',
        preferredName: 'Elon Musk',
        initials: 'EM',
        salutation: 'Mr',
        title: 'CEO',
        maritalStatus: 'married',
        partner: new Components\PersonInput(
            firstName: 'Elon',
            lastName: 'Musk',
            middleName: 'D.',
            gender: Components\Gender::Male,
            initials: 'EM',
            birthday: LocalDate::parse('2000-08-12'),
            deceasedOn: LocalDate::parse('2000-08-12'),
        ),
        division: 'Europe',
        divisionId: '12345',
        departmentId: '12345',
        departmentName: '12345',
        team: new Components\Team(
            id: '1234',
            name: 'Full Stack Engineers',
        ),
        companyId: '23456',
        companyName: 'SpaceX',
        employmentStartDate: '2021-10-26',
        employmentEndDate: '2028-10-26',
        leavingReason: Components\LeavingReason::Resigned,
        employeeNumber: '123456-AB',
        employmentStatus: Components\EmploymentStatus::Active,
        ethnicity: 'African American',
        manager: new Components\Manager(
            id: '12345',
            name: 'Elon Musk',
            firstName: 'Elon',
            lastName: 'Musk',
            email: 'elon@musk.com',
            employmentStatus: Components\EmploymentStatus::Active,
        ),
        directReports: [
            'a0d636c6-43b3-4bde-8c70-85b707d992f4',
            'a98lfd96-43b3-4bde-8c70-85b707d992e6',
        ],
        socialSecurityNumber: '123456789',
        birthday: LocalDate::parse('2000-08-12'),
        deceasedOn: LocalDate::parse('2000-08-12'),
        countryOfBirth: 'US',
        description: 'A description',
        gender: Components\Gender::Male,
        pronouns: 'she,her',
        preferredLanguage: 'EN',
        languages: [
            'EN',
        ],
        nationalities: [
            'US',
        ],
        photoUrl: 'https://unavatar.io/elon-musk',
        timezone: 'Europe/London',
        source: 'lever',
        sourceId: '12345',
        recordUrl: 'https://app.intercom.io/contacts/12345',
        jobs: [
            new Components\EmployeeJobInput(
                title: 'CEO',
                role: 'Sales',
                startDate: LocalDate::parse('2020-08-12'),
                endDate: LocalDate::parse('2020-08-12'),
                compensationRate: 72000,
                currency: Components\Currency::Usd,
                paymentUnit: Components\PaymentUnit::Year,
                hiredAt: LocalDate::parse('2020-08-12'),
                isPrimary: true,
                isManager: true,
                status: Components\EmployeeJobStatus::Active,
                location: new Components\Address(
                    id: '123',
                    type: Components\Type::Primary,
                    string: '25 Spring Street, Blackburn, VIC 3130',
                    name: 'HQ US',
                    line1: 'Main street',
                    line2: 'apt #',
                    line3: 'Suite #',
                    line4: 'delivery instructions',
                    streetNumber: '25',
                    city: 'San Francisco',
                    state: 'CA',
                    postalCode: '94104',
                    country: 'US',
                    latitude: '40.759211',
                    longitude: '-73.984638',
                    county: 'Santa Clara',
                    contactName: 'Elon Musk',
                    salutation: 'Mr',
                    phoneNumber: '111-111-1111',
                    fax: '122-111-1111',
                    email: 'elon@musk.com',
                    website: 'https://elonmusk.com',
                    notes: 'Address notes or delivery instructions.',
                    rowVersion: '1-12345',
                ),
            ),
        ],
        compensations: [
            new Components\EmployeeCompensationInput(
                rate: 50,
                paymentUnit: Components\PaymentUnit::Hour,
                flsaStatus: Components\FlsaStatus::Nonexempt,
                effectiveDate: '2021-06-11',
            ),
        ],
        worksRemote: true,
        addresses: [
            new Components\Address(
                id: '123',
                type: Components\Type::Primary,
                string: '25 Spring Street, Blackburn, VIC 3130',
                name: 'HQ US',
                line1: 'Main street',
                line2: 'apt #',
                line3: 'Suite #',
                line4: 'delivery instructions',
                streetNumber: '25',
                city: 'San Francisco',
                state: 'CA',
                postalCode: '94104',
                country: 'US',
                latitude: '40.759211',
                longitude: '-73.984638',
                county: 'Santa Clara',
                contactName: 'Elon Musk',
                salutation: 'Mr',
                phoneNumber: '111-111-1111',
                fax: '122-111-1111',
                email: 'elon@musk.com',
                website: 'https://elonmusk.com',
                notes: 'Address notes or delivery instructions.',
                rowVersion: '1-12345',
            ),
        ],
        phoneNumbers: [
            new Components\PhoneNumber(
                id: '12345',
                countryCode: '1',
                areaCode: '323',
                number: '111-111-1111',
                extension: '105',
                type: Components\PhoneNumberType::Primary,
            ),
            new Components\PhoneNumber(
                id: '12345',
                countryCode: '1',
                areaCode: '323',
                number: '111-111-1111',
                extension: '105',
                type: Components\PhoneNumberType::Primary,
            ),
        ],
        emails: [
            new Components\Email(
                id: '123',
                email: 'elon@musk.com',
                type: Components\EmailType::Primary,
            ),
        ],
        customFields: [
            new Components\CustomField1(
                id: '2389328923893298',
                name: 'employee_level',
                description: 'Employee Level',
                value: 'Uses Salesforce and Marketo',
            ),
            new Components\CustomField1(
                id: '2389328923893298',
                name: 'employee_level',
                description: 'Employee Level',
                value: 'Uses Salesforce and Marketo',
            ),
            new Components\CustomField1(
                id: '2389328923893298',
                name: 'employee_level',
                description: 'Employee Level',
                value: 'Uses Salesforce and Marketo',
            ),
        ],
        socialLinks: [
            new Components\SocialLink(
                id: '12345',
                url: 'https://www.twitter.com/apideck',
                type: 'twitter',
            ),
            new Components\SocialLink(
                id: '12345',
                url: 'https://www.twitter.com/apideck',
                type: 'twitter',
            ),
        ],
        bankAccounts: [
            new Components\BankAccount2(
                bankName: 'Monzo',
                accountNumber: '123465',
                accountName: 'SPACEX LLC',
                accountType: Components\BankAccount2AccountType::CreditCard,
                iban: 'CH2989144532982975332',
                bic: 'AUDSCHGGXXX',
                routingNumber: '012345678',
                bsbNumber: '062-001',
                branchIdentifier: '001',
                bankCode: 'BNH',
                currency: Components\Currency::Usd,
            ),
        ],
        taxCode: '1111',
        taxId: '234-32-0000',
        dietaryPreference: 'Veggie',
        foodAllergies: [
            'No allergies',
        ],
        probationPeriod: new Components\ProbationPeriod(
            startDate: LocalDate::parse('2021-10-01'),
            endDate: LocalDate::parse('2021-11-28'),
        ),
        tags: [
            'New',
        ],
        rowVersion: '1-12345',
        deleted: true,
        passThrough: [
            new Components\PassThroughBody(
                serviceId: '<id>',
                extendPaths: [
                    new Components\ExtendPaths(
                        path: '$.nested.property',
                        value: [
                            'TaxClassificationRef' => [
                                'value' => 'EUC-99990201-V1-00020000',
                            ],
                        ],
                    ),
                ],
            ),
            new Components\PassThroughBody(
                serviceId: '<id>',
                extendPaths: [
                    new Components\ExtendPaths(
                        path: '$.nested.property',
                        value: [
                            'TaxClassificationRef' => [
                                'value' => 'EUC-99990201-V1-00020000',
                            ],
                        ],
                    ),
                ],
            ),
        ],
    ),
);

$response = $sdk->hris->employees->update(
    request: $request
);

if ($response->updateEmployeeResponse !== null) {
    // handle response
}
```

### Go

Setup: [Go SDK](https://developers.apideck.com/sdks/go.md)

```go
package main

import(
	"context"
	"os"
	sdkgo "github.com/apideck-libraries/sdk-go"
	"github.com/apideck-libraries/sdk-go/models/components"
	"github.com/apideck-libraries/sdk-go/types"
	"github.com/apideck-libraries/sdk-go/models/operations"
	"log"
)

func main() {
    ctx := context.Background()

    s := sdkgo.New(
        sdkgo.WithConsumerID("test-consumer"),
        sdkgo.WithAppID("dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"),
        sdkgo.WithSecurity(os.Getenv("APIDECK_API_KEY")),
    )

    res, err := s.Hris.Employees.Update(ctx, operations.HrisEmployeesUpdateRequest{
        ID: "<id>",
        ServiceID: sdkgo.Pointer("bamboohr"),
        Employee: components.EmployeeInput{
            ID: sdkgo.Pointer("12345"),
            FirstName: sdkgo.Pointer("Elon"),
            LastName: sdkgo.Pointer("Musk"),
            MiddleName: sdkgo.Pointer("D."),
            DisplayName: sdkgo.Pointer("Technoking"),
            PreferredName: sdkgo.Pointer("Elon Musk"),
            Initials: sdkgo.Pointer("EM"),
            Salutation: sdkgo.Pointer("Mr"),
            Title: sdkgo.Pointer("CEO"),
            MaritalStatus: sdkgo.Pointer("married"),
            Partner: &components.PersonInput{
                FirstName: sdkgo.Pointer("Elon"),
                LastName: sdkgo.Pointer("Musk"),
                MiddleName: sdkgo.Pointer("D."),
                Gender: components.GenderMale.ToPointer(),
                Initials: sdkgo.Pointer("EM"),
                Birthday: types.MustNewDateFromString("2000-08-12"),
                DeceasedOn: types.MustNewDateFromString("2000-08-12"),
            },
            Division: sdkgo.Pointer("Europe"),
            DivisionID: sdkgo.Pointer("12345"),
            DepartmentID: sdkgo.Pointer("12345"),
            DepartmentName: sdkgo.Pointer("12345"),
            Team: &components.Team{
                ID: sdkgo.Pointer("1234"),
                Name: sdkgo.Pointer("Full Stack Engineers"),
            },
            CompanyID: sdkgo.Pointer("23456"),
            CompanyName: sdkgo.Pointer("SpaceX"),
            EmploymentStartDate: sdkgo.Pointer("2021-10-26"),
            EmploymentEndDate: sdkgo.Pointer("2028-10-26"),
            LeavingReason: components.LeavingReasonResigned.ToPointer(),
            EmployeeNumber: sdkgo.Pointer("123456-AB"),
            EmploymentStatus: components.EmploymentStatusActive.ToPointer(),
            Ethnicity: sdkgo.Pointer("African American"),
            Manager: &components.Manager{
                ID: sdkgo.Pointer("12345"),
                Name: sdkgo.Pointer("Elon Musk"),
                FirstName: sdkgo.Pointer("Elon"),
                LastName: sdkgo.Pointer("Musk"),
                Email: sdkgo.Pointer("elon@musk.com"),
                EmploymentStatus: components.EmploymentStatusActive.ToPointer(),
            },
            DirectReports: []string{
                "a0d636c6-43b3-4bde-8c70-85b707d992f4",
                "a98lfd96-43b3-4bde-8c70-85b707d992e6",
            },
            SocialSecurityNumber: sdkgo.Pointer("123456789"),
            Birthday: types.MustNewDateFromString("2000-08-12"),
            DeceasedOn: types.MustNewDateFromString("2000-08-12"),
            CountryOfBirth: sdkgo.Pointer("US"),
            Description: sdkgo.Pointer("A description"),
            Gender: components.GenderMale.ToPointer(),
            Pronouns: sdkgo.Pointer("she,her"),
            PreferredLanguage: sdkgo.Pointer("EN"),
            Languages: []*string{
                sdkgo.Pointer("EN"),
            },
            Nationalities: []*string{
                sdkgo.Pointer("US"),
            },
            PhotoURL: sdkgo.Pointer("https://unavatar.io/elon-musk"),
            Timezone: sdkgo.Pointer("Europe/London"),
            Source: sdkgo.Pointer("lever"),
            SourceID: sdkgo.Pointer("12345"),
            RecordURL: sdkgo.Pointer("https://app.intercom.io/contacts/12345"),
            Jobs: []components.EmployeeJobInput{
                components.EmployeeJobInput{
                    Title: sdkgo.Pointer("CEO"),
                    Role: sdkgo.Pointer("Sales"),
                    StartDate: types.MustNewDateFromString("2020-08-12"),
                    EndDate: types.MustNewDateFromString("2020-08-12"),
                    CompensationRate: sdkgo.Pointer[float64](72000.0),
                    Currency: components.CurrencyUsd.ToPointer(),
                    PaymentUnit: components.PaymentUnitYear.ToPointer(),
                    HiredAt: types.MustNewDateFromString("2020-08-12"),
                    IsPrimary: sdkgo.Pointer(true),
                    IsManager: sdkgo.Pointer(true),
                    Status: components.EmployeeJobStatusActive.ToPointer(),
                    Location: &components.Address{
                        ID: sdkgo.Pointer("123"),
                        Type: components.TypePrimary.ToPointer(),
                        String: sdkgo.Pointer("25 Spring Street, Blackburn, VIC 3130"),
                        Name: sdkgo.Pointer("HQ US"),
                        Line1: sdkgo.Pointer("Main street"),
                        Line2: sdkgo.Pointer("apt #"),
                        Line3: sdkgo.Pointer("Suite #"),
                        Line4: sdkgo.Pointer("delivery instructions"),
                        StreetNumber: sdkgo.Pointer("25"),
                        City: sdkgo.Pointer("San Francisco"),
                        State: sdkgo.Pointer("CA"),
                        PostalCode: sdkgo.Pointer("94104"),
                        Country: sdkgo.Pointer("US"),
                        Latitude: sdkgo.Pointer("40.759211"),
                        Longitude: sdkgo.Pointer("-73.984638"),
                        County: sdkgo.Pointer("Santa Clara"),
                        ContactName: sdkgo.Pointer("Elon Musk"),
                        Salutation: sdkgo.Pointer("Mr"),
                        PhoneNumber: sdkgo.Pointer("111-111-1111"),
                        Fax: sdkgo.Pointer("122-111-1111"),
                        Email: sdkgo.Pointer("elon@musk.com"),
                        Website: sdkgo.Pointer("https://elonmusk.com"),
                        Notes: sdkgo.Pointer("Address notes or delivery instructions."),
                        RowVersion: sdkgo.Pointer("1-12345"),
                    },
                },
            },
            Compensations: []components.EmployeeCompensationInput{
                components.EmployeeCompensationInput{
                    Rate: sdkgo.Pointer[float64](50.0),
                    PaymentUnit: components.PaymentUnitHour.ToPointer(),
                    FlsaStatus: components.FlsaStatusNonexempt.ToPointer(),
                    EffectiveDate: sdkgo.Pointer("2021-06-11"),
                },
            },
            WorksRemote: sdkgo.Pointer(true),
            Addresses: []components.Address{
                components.Address{
                    ID: sdkgo.Pointer("123"),
                    Type: components.TypePrimary.ToPointer(),
                    String: sdkgo.Pointer("25 Spring Street, Blackburn, VIC 3130"),
                    Name: sdkgo.Pointer("HQ US"),
                    Line1: sdkgo.Pointer("Main street"),
                    Line2: sdkgo.Pointer("apt #"),
                    Line3: sdkgo.Pointer("Suite #"),
                    Line4: sdkgo.Pointer("delivery instructions"),
                    StreetNumber: sdkgo.Pointer("25"),
                    City: sdkgo.Pointer("San Francisco"),
                    State: sdkgo.Pointer("CA"),
                    PostalCode: sdkgo.Pointer("94104"),
                    Country: sdkgo.Pointer("US"),
                    Latitude: sdkgo.Pointer("40.759211"),
                    Longitude: sdkgo.Pointer("-73.984638"),
                    County: sdkgo.Pointer("Santa Clara"),
                    ContactName: sdkgo.Pointer("Elon Musk"),
                    Salutation: sdkgo.Pointer("Mr"),
                    PhoneNumber: sdkgo.Pointer("111-111-1111"),
                    Fax: sdkgo.Pointer("122-111-1111"),
                    Email: sdkgo.Pointer("elon@musk.com"),
                    Website: sdkgo.Pointer("https://elonmusk.com"),
                    Notes: sdkgo.Pointer("Address notes or delivery instructions."),
                    RowVersion: sdkgo.Pointer("1-12345"),
                },
            },
            PhoneNumbers: []components.PhoneNumber{
                components.PhoneNumber{
                    ID: sdkgo.Pointer("12345"),
                    CountryCode: sdkgo.Pointer("1"),
                    AreaCode: sdkgo.Pointer("323"),
                    Number: "111-111-1111",
                    Extension: sdkgo.Pointer("105"),
                    Type: components.PhoneNumberTypePrimary.ToPointer(),
                },
                components.PhoneNumber{
                    ID: sdkgo.Pointer("12345"),
                    CountryCode: sdkgo.Pointer("1"),
                    AreaCode: sdkgo.Pointer("323"),
                    Number: "111-111-1111",
                    Extension: sdkgo.Pointer("105"),
                    Type: components.PhoneNumberTypePrimary.ToPointer(),
                },
            },
            Emails: []components.Email{
                components.Email{
                    ID: sdkgo.Pointer("123"),
                    Email: sdkgo.Pointer("elon@musk.com"),
                    Type: components.EmailTypePrimary.ToPointer(),
                },
            },
            CustomFields: []components.CustomField{
                components.CreateCustomFieldCustomField1(
                    components.CustomField1{
                        ID: sdkgo.Pointer("2389328923893298"),
                        Name: sdkgo.Pointer("employee_level"),
                        Description: sdkgo.Pointer("Employee Level"),
                        Value: sdkgo.Pointer(components.CreateCustomField1ValueStr(
                            "Uses Salesforce and Marketo",
                        )),
                    },
                ),
                components.CreateCustomFieldCustomField1(
                    components.CustomField1{
                        ID: sdkgo.Pointer("2389328923893298"),
                        Name: sdkgo.Pointer("employee_level"),
                        Description: sdkgo.Pointer("Employee Level"),
                        Value: sdkgo.Pointer(components.CreateCustomField1ValueStr(
                            "Uses Salesforce and Marketo",
                        )),
                    },
                ),
                components.CreateCustomFieldCustomField1(
                    components.CustomField1{
                        ID: sdkgo.Pointer("2389328923893298"),
                        Name: sdkgo.Pointer("employee_level"),
                        Description: sdkgo.Pointer("Employee Level"),
                        Value: sdkgo.Pointer(components.CreateCustomField1ValueStr(
                            "Uses Salesforce and Marketo",
                        )),
                    },
                ),
            },
            SocialLinks: []components.SocialLink{
                components.SocialLink{
                    ID: sdkgo.Pointer("12345"),
                    URL: "https://www.twitter.com/apideck",
                    Type: sdkgo.Pointer("twitter"),
                },
                components.SocialLink{
                    ID: sdkgo.Pointer("12345"),
                    URL: "https://www.twitter.com/apideck",
                    Type: sdkgo.Pointer("twitter"),
                },
            },
            BankAccounts: []components.BankAccount2{
                components.BankAccount2{
                    BankName: sdkgo.Pointer("Monzo"),
                    AccountNumber: sdkgo.Pointer("123465"),
                    AccountName: sdkgo.Pointer("SPACEX LLC"),
                    AccountType: components.BankAccount2AccountTypeCreditCard.ToPointer(),
                    Iban: sdkgo.Pointer("CH2989144532982975332"),
                    Bic: sdkgo.Pointer("AUDSCHGGXXX"),
                    RoutingNumber: sdkgo.Pointer("012345678"),
                    BsbNumber: sdkgo.Pointer("062-001"),
                    BranchIdentifier: sdkgo.Pointer("001"),
                    BankCode: sdkgo.Pointer("BNH"),
                    Currency: components.CurrencyUsd.ToPointer(),
                },
            },
            TaxCode: sdkgo.Pointer("1111"),
            TaxID: sdkgo.Pointer("234-32-0000"),
            DietaryPreference: sdkgo.Pointer("Veggie"),
            FoodAllergies: []string{
                "No allergies",
            },
            ProbationPeriod: &components.ProbationPeriod{
                StartDate: types.MustNewDateFromString("2021-10-01"),
                EndDate: types.MustNewDateFromString("2021-11-28"),
            },
            Tags: []string{
                "New",
            },
            RowVersion: sdkgo.Pointer("1-12345"),
            Deleted: sdkgo.Pointer(true),
            PassThrough: []components.PassThroughBody{
                components.PassThroughBody{
                    ServiceID: "<id>",
                    ExtendPaths: []components.ExtendPaths{
                        components.ExtendPaths{
                            Path: "$.nested.property",
                            Value: map[string]any{
                                "TaxClassificationRef": map[string]any{
                                    "value": "EUC-99990201-V1-00020000",
                                },
                            },
                        },
                    },
                },
                components.PassThroughBody{
                    ServiceID: "<id>",
                    ExtendPaths: []components.ExtendPaths{
                        components.ExtendPaths{
                            Path: "$.nested.property",
                            Value: map[string]any{
                                "TaxClassificationRef": map[string]any{
                                    "value": "EUC-99990201-V1-00020000",
                                },
                            },
                        },
                    },
                },
            },
        },
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.UpdateEmployeeResponse != nil {
        // handle response
    }
}
```

### Java

Setup: [Java SDK](https://developers.apideck.com/sdks/java.md)

```java
package hello.world;

import com.apideck.unify.Apideck;
import com.apideck.unify.models.components.*;
import com.apideck.unify.models.errors.*;
import com.apideck.unify.models.operations.HrisEmployeesUpdateRequest;
import com.apideck.unify.models.operations.HrisEmployeesUpdateResponse;
import java.lang.Exception;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;

public class Application {

    public static void main(String[] args) throws BadRequestResponse, UnauthorizedResponse, PaymentRequiredResponse, NotFoundResponse, UnprocessableResponse, Exception {

        Apideck sdk = Apideck.builder()
                .consumerId("test-consumer")
                .appId("dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX")
                .apiKey(System.getenv().getOrDefault("API_KEY", ""))
            .build();

        HrisEmployeesUpdateRequest req = HrisEmployeesUpdateRequest.builder()
                .id("<id>")
                .employee(EmployeeInput.builder()
                    .id("12345")
                    .firstName("Elon")
                    .lastName("Musk")
                    .middleName("D.")
                    .displayName("Technoking")
                    .preferredName("Elon Musk")
                    .initials("EM")
                    .salutation("Mr")
                    .title("CEO")
                    .maritalStatus("married")
                    .partner(PersonInput.builder()
                        .firstName("Elon")
                        .lastName("Musk")
                        .middleName("D.")
                        .gender(Gender.MALE)
                        .initials("EM")
                        .birthday(LocalDate.parse("2000-08-12"))
                        .deceasedOn(LocalDate.parse("2000-08-12"))
                        .build())
                    .division("Europe")
                    .divisionId("12345")
                    .departmentId("12345")
                    .departmentName("12345")
                    .team(Team.builder()
                        .id("1234")
                        .name("Full Stack Engineers")
                        .build())
                    .companyId("23456")
                    .companyName("SpaceX")
                    .employmentStartDate("2021-10-26")
                    .employmentEndDate("2028-10-26")
                    .leavingReason(LeavingReason.RESIGNED)
                    .employeeNumber("123456-AB")
                    .employmentStatus(EmploymentStatus.ACTIVE)
                    .ethnicity("African American")
                    .manager(Manager.builder()
                        .id("12345")
                        .name("Elon Musk")
                        .firstName("Elon")
                        .lastName("Musk")
                        .email("elon@musk.com")
                        .employmentStatus(EmploymentStatus.ACTIVE)
                        .build())
                    .directReports(List.of(
                        "a0d636c6-43b3-4bde-8c70-85b707d992f4",
                        "a98lfd96-43b3-4bde-8c70-85b707d992e6"))
                    .socialSecurityNumber("123456789")
                    .birthday(LocalDate.parse("2000-08-12"))
                    .deceasedOn(LocalDate.parse("2000-08-12"))
                    .countryOfBirth("US")
                    .description("A description")
                    .gender(Gender.MALE)
                    .pronouns("she,her")
                    .preferredLanguage("EN")
                    .languages(List.of(
                        "EN"))
                    .nationalities(List.of(
                        "US"))
                    .photoUrl("https://unavatar.io/elon-musk")
                    .timezone("Europe/London")
                    .source("lever")
                    .sourceId("12345")
                    .recordUrl("https://app.intercom.io/contacts/12345")
                    .jobs(List.of(
                        EmployeeJobInput.builder()
                            .title("CEO")
                            .role("Sales")
                            .startDate(LocalDate.parse("2020-08-12"))
                            .endDate(LocalDate.parse("2020-08-12"))
                            .compensationRate(72000d)
                            .currency(Currency.USD)
                            .paymentUnit(PaymentUnit.YEAR)
                            .hiredAt(LocalDate.parse("2020-08-12"))
                            .isPrimary(true)
                            .isManager(true)
                            .status(EmployeeJobStatus.ACTIVE)
                            .location(Address.builder()
                                .id("123")
                                .type(Type.PRIMARY)
                                .string("25 Spring Street, Blackburn, VIC 3130")
                                .name("HQ US")
                                .line1("Main street")
                                .line2("apt #")
                                .line3("Suite #")
                                .line4("delivery instructions")
                                .streetNumber("25")
                                .city("San Francisco")
                                .state("CA")
                                .postalCode("94104")
                                .country("US")
                                .latitude("40.759211")
                                .longitude("-73.984638")
                                .county("Santa Clara")
                                .contactName("Elon Musk")
                                .salutation("Mr")
                                .phoneNumber("111-111-1111")
                                .fax("122-111-1111")
                                .email("elon@musk.com")
                                .website("https://elonmusk.com")
                                .notes("Address notes or delivery instructions.")
                                .rowVersion("1-12345")
                                .build())
                            .build()))
                    .compensations(List.of(
                        EmployeeCompensationInput.builder()
                            .rate(50d)
                            .paymentUnit(PaymentUnit.HOUR)
                            .flsaStatus(FlsaStatus.NONEXEMPT)
                            .effectiveDate("2021-06-11")
                            .build()))
                    .worksRemote(true)
                    .addresses(List.of(
                        Address.builder()
                            .id("123")
                            .type(Type.PRIMARY)
                            .string("25 Spring Street, Blackburn, VIC 3130")
                            .name("HQ US")
                            .line1("Main street")
                            .line2("apt #")
                            .line3("Suite #")
                            .line4("delivery instructions")
                            .streetNumber("25")
                            .city("San Francisco")
                            .state("CA")
                            .postalCode("94104")
                            .country("US")
                            .latitude("40.759211")
                            .longitude("-73.984638")
                            .county("Santa Clara")
                            .contactName("Elon Musk")
                            .salutation("Mr")
                            .phoneNumber("111-111-1111")
                            .fax("122-111-1111")
                            .email("elon@musk.com")
                            .website("https://elonmusk.com")
                            .notes("Address notes or delivery instructions.")
                            .rowVersion("1-12345")
                            .build()))
                    .phoneNumbers(List.of(
                        PhoneNumber.builder()
                            .number("111-111-1111")
                            .id("12345")
                            .countryCode("1")
                            .areaCode("323")
                            .extension("105")
                            .type(PhoneNumberType.PRIMARY)
                            .build(),
                        PhoneNumber.builder()
                            .number("111-111-1111")
                            .id("12345")
                            .countryCode("1")
                            .areaCode("323")
                            .extension("105")
                            .type(PhoneNumberType.PRIMARY)
                            .build()))
                    .emails(List.of(
                        Email.builder()
                            .email("elon@musk.com")
                            .id("123")
                            .type(EmailType.PRIMARY)
                            .build()))
                    .customFields(List.of(
                        CustomField.of(CustomField1.builder()
                            .id("2389328923893298")
                            .name("employee_level")
                            .description("Employee Level")
                            .value(CustomField1Value.of("Uses Salesforce and Marketo"))
                            .build()),
                        CustomField.of(CustomField1.builder()
                            .id("2389328923893298")
                            .name("employee_level")
                            .description("Employee Level")
                            .value(CustomField1Value.of("Uses Salesforce and Marketo"))
                            .build()),
                        CustomField.of(CustomField1.builder()
                            .id("2389328923893298")
                            .name("employee_level")
                            .description("Employee Level")
                            .value(CustomField1Value.of("Uses Salesforce and Marketo"))
                            .build())))
                    .socialLinks(List.of(
                        SocialLink.builder()
                            .url("https://www.twitter.com/apideck")
                            .id("12345")
                            .type("twitter")
                            .build(),
                        SocialLink.builder()
                            .url("https://www.twitter.com/apideck")
                            .id("12345")
                            .type("twitter")
                            .build()))
                    .bankAccounts(List.of(
                        BankAccount2.builder()
                            .bankName("Monzo")
                            .accountNumber("123465")
                            .accountName("SPACEX LLC")
                            .accountType(BankAccount2AccountType.CREDIT_CARD)
                            .iban("CH2989144532982975332")
                            .bic("AUDSCHGGXXX")
                            .routingNumber("012345678")
                            .bsbNumber("062-001")
                            .branchIdentifier("001")
                            .bankCode("BNH")
                            .currency(Currency.USD)
                            .build()))
                    .taxCode("1111")
                    .taxId("234-32-0000")
                    .dietaryPreference("Veggie")
                    .foodAllergies(List.of(
                        "No allergies"))
                    .probationPeriod(ProbationPeriod.builder()
                        .startDate(LocalDate.parse("2021-10-01"))
                        .endDate(LocalDate.parse("2021-11-28"))
                        .build())
                    .tags(List.of(
                        "New"))
                    .rowVersion("1-12345")
                    .deleted(true)
                    .passThrough(List.of(
                        PassThroughBody.builder()
                            .serviceId("<id>")
                            .extendPaths(List.of(
                                ExtendPaths.builder()
                                    .path("$.nested.property")
                                    .value(Map.ofEntries(
                                        Map.entry("TaxClassificationRef", Map.ofEntries(
                                            Map.entry("value", "EUC-99990201-V1-00020000")))))
                                    .build()))
                            .build(),
                        PassThroughBody.builder()
                            .serviceId("<id>")
                            .extendPaths(List.of(
                                ExtendPaths.builder()
                                    .path("$.nested.property")
                                    .value(Map.ofEntries(
                                        Map.entry("TaxClassificationRef", Map.ofEntries(
                                            Map.entry("value", "EUC-99990201-V1-00020000")))))
                                    .build()))
                            .build()))
                    .build())
                .serviceId("bamboohr")
                .build();

        HrisEmployeesUpdateResponse res = sdk.hris().employees().update()
                .request(req)
                .call();

        if (res.updateEmployeeResponse().isPresent()) {
            System.out.println(res.updateEmployeeResponse().get());
        }
    }
}
```

### C# (.NET)

Setup: [C# (.NET) SDK](https://developers.apideck.com/sdks/dot-net.md)

```csharp
using ApideckUnifySdk;
using ApideckUnifySdk.Models.Components;
using ApideckUnifySdk.Models.Requests;
using NodaTime;
using System.Collections.Generic;

var sdk = new Apideck(
    consumerId: "test-consumer",
    appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
    apiKey: "<YOUR_BEARER_TOKEN_HERE>"
);

HrisEmployeesUpdateRequest req = new HrisEmployeesUpdateRequest() {
    Id = "<id>",
    ServiceId = "bamboohr",
    Employee = new EmployeeInput() {
        Id = "12345",
        FirstName = "Elon",
        LastName = "Musk",
        MiddleName = "D.",
        DisplayName = "Technoking",
        PreferredName = "Elon Musk",
        Initials = "EM",
        Salutation = "Mr",
        Title = "CEO",
        MaritalStatus = "married",
        Partner = new PersonInput() {
            FirstName = "Elon",
            LastName = "Musk",
            MiddleName = "D.",
            Gender = Gender.Male,
            Initials = "EM",
            Birthday = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")),
            DeceasedOn = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")),
        },
        Division = "Europe",
        DivisionId = "12345",
        DepartmentId = "12345",
        DepartmentName = "12345",
        Team = new Team() {
            Id = "1234",
            Name = "Full Stack Engineers",
        },
        CompanyId = "23456",
        CompanyName = "SpaceX",
        EmploymentStartDate = "2021-10-26",
        EmploymentEndDate = "2028-10-26",
        LeavingReason = LeavingReason.Resigned,
        EmployeeNumber = "123456-AB",
        EmploymentStatus = EmploymentStatus.Active,
        Ethnicity = "African American",
        Manager = new Manager() {
            Id = "12345",
            Name = "Elon Musk",
            FirstName = "Elon",
            LastName = "Musk",
            Email = "elon@musk.com",
            EmploymentStatus = EmploymentStatus.Active,
        },
        DirectReports = new List<string>() {
            "a0d636c6-43b3-4bde-8c70-85b707d992f4",
            "a98lfd96-43b3-4bde-8c70-85b707d992e6",
        },
        SocialSecurityNumber = "123456789",
        Birthday = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")),
        DeceasedOn = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")),
        CountryOfBirth = "US",
        Description = "A description",
        Gender = Gender.Male,
        Pronouns = "she,her",
        PreferredLanguage = "EN",
        Languages = new List<string?>() {
            "EN",
        },
        Nationalities = new List<string?>() {
            "US",
        },
        PhotoUrl = "https://unavatar.io/elon-musk",
        Timezone = "Europe/London",
        Source = "lever",
        SourceId = "12345",
        RecordUrl = "https://app.intercom.io/contacts/12345",
        Jobs = new List<EmployeeJobInput>() {
            new EmployeeJobInput() {
                Title = "CEO",
                Role = "Sales",
                StartDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-08-12")),
                EndDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-08-12")),
                CompensationRate = 72000D,
                Currency = Currency.Usd,
                PaymentUnit = PaymentUnit.Year,
                HiredAt = LocalDate.FromDateTime(System.DateTime.Parse("2020-08-12")),
                IsPrimary = true,
                IsManager = true,
                Status = EmployeeJobStatus.Active,
                Location = new Address() {
                    Id = "123",
                    Type = ApideckUnifySdk.Models.Components.Type.Primary,
                    String = "25 Spring Street, Blackburn, VIC 3130",
                    Name = "HQ US",
                    Line1 = "Main street",
                    Line2 = "apt #",
                    Line3 = "Suite #",
                    Line4 = "delivery instructions",
                    StreetNumber = "25",
                    City = "San Francisco",
                    State = "CA",
                    PostalCode = "94104",
                    Country = "US",
                    Latitude = "40.759211",
                    Longitude = "-73.984638",
                    County = "Santa Clara",
                    ContactName = "Elon Musk",
                    Salutation = "Mr",
                    PhoneNumber = "111-111-1111",
                    Fax = "122-111-1111",
                    Email = "elon@musk.com",
                    Website = "https://elonmusk.com",
                    Notes = "Address notes or delivery instructions.",
                    RowVersion = "1-12345",
                },
            },
        },
        Compensations = new List<EmployeeCompensationInput>() {
            new EmployeeCompensationInput() {
                Rate = 50D,
                PaymentUnit = PaymentUnit.Hour,
                FlsaStatus = FlsaStatus.Nonexempt,
                EffectiveDate = "2021-06-11",
            },
        },
        WorksRemote = true,
        Addresses = new List<Address>() {
            new Address() {
                Id = "123",
                Type = ApideckUnifySdk.Models.Components.Type.Primary,
                String = "25 Spring Street, Blackburn, VIC 3130",
                Name = "HQ US",
                Line1 = "Main street",
                Line2 = "apt #",
                Line3 = "Suite #",
                Line4 = "delivery instructions",
                StreetNumber = "25",
                City = "San Francisco",
                State = "CA",
                PostalCode = "94104",
                Country = "US",
                Latitude = "40.759211",
                Longitude = "-73.984638",
                County = "Santa Clara",
                ContactName = "Elon Musk",
                Salutation = "Mr",
                PhoneNumber = "111-111-1111",
                Fax = "122-111-1111",
                Email = "elon@musk.com",
                Website = "https://elonmusk.com",
                Notes = "Address notes or delivery instructions.",
                RowVersion = "1-12345",
            },
        },
        PhoneNumbers = new List<PhoneNumber>() {
            new PhoneNumber() {
                Id = "12345",
                CountryCode = "1",
                AreaCode = "323",
                Number = "111-111-1111",
                Extension = "105",
                Type = PhoneNumberType.Primary,
            },
            new PhoneNumber() {
                Id = "12345",
                CountryCode = "1",
                AreaCode = "323",
                Number = "111-111-1111",
                Extension = "105",
                Type = PhoneNumberType.Primary,
            },
        },
        Emails = new List<Email>() {
            new Email() {
                Id = "123",
                EmailValue = "elon@musk.com",
                Type = EmailType.Primary,
            },
        },
        CustomFields = new List<CustomField>() {
            CustomField.CreateCustomField1(
                new CustomField1() {
                    Id = "2389328923893298",
                    Name = "employee_level",
                    Description = "Employee Level",
                    Value = CustomField1Value.CreateStr(
                        "Uses Salesforce and Marketo"
                    ),
                }
            ),
            CustomField.CreateCustomField1(
                new CustomField1() {
                    Id = "2389328923893298",
                    Name = "employee_level",
                    Description = "Employee Level",
                    Value = CustomField1Value.CreateStr(
                        "Uses Salesforce and Marketo"
                    ),
                }
            ),
            CustomField.CreateCustomField1(
                new CustomField1() {
                    Id = "2389328923893298",
                    Name = "employee_level",
                    Description = "Employee Level",
                    Value = CustomField1Value.CreateStr(
                        "Uses Salesforce and Marketo"
                    ),
                }
            ),
        },
        SocialLinks = new List<SocialLink>() {
            new SocialLink() {
                Id = "12345",
                Url = "https://www.twitter.com/apideck",
                Type = "twitter",
            },
            new SocialLink() {
                Id = "12345",
                Url = "https://www.twitter.com/apideck",
                Type = "twitter",
            },
        },
        BankAccounts = new List<BankAccount2>() {
            new BankAccount2() {
                BankName = "Monzo",
                AccountNumber = "123465",
                AccountName = "SPACEX LLC",
                AccountType = BankAccount2AccountType.CreditCard,
                Iban = "CH2989144532982975332",
                Bic = "AUDSCHGGXXX",
                RoutingNumber = "012345678",
                BsbNumber = "062-001",
                BranchIdentifier = "001",
                BankCode = "BNH",
                Currency = Currency.Usd,
            },
        },
        TaxCode = "1111",
        TaxId = "234-32-0000",
        DietaryPreference = "Veggie",
        FoodAllergies = new List<string>() {
            "No allergies",
        },
        ProbationPeriod = new ProbationPeriod() {
            StartDate = LocalDate.FromDateTime(System.DateTime.Parse("2021-10-01")),
            EndDate = LocalDate.FromDateTime(System.DateTime.Parse("2021-11-28")),
        },
        Tags = new List<string>() {
            "New",
        },
        RowVersion = "1-12345",
        Deleted = true,
        PassThrough = new List<PassThroughBody>() {
            new PassThroughBody() {
                ServiceId = "<id>",
                ExtendPaths = new List<ExtendPaths>() {
                    new ExtendPaths() {
                        Path = "$.nested.property",
                        Value = new Dictionary<string, object>() {
                            { "TaxClassificationRef", new Dictionary<string, object>() {
                                { "value", "EUC-99990201-V1-00020000" },
                            } },
                        },
                    },
                },
            },
            new PassThroughBody() {
                ServiceId = "<id>",
                ExtendPaths = new List<ExtendPaths>() {
                    new ExtendPaths() {
                        Path = "$.nested.property",
                        Value = new Dictionary<string, object>() {
                            { "TaxClassificationRef", new Dictionary<string, object>() {
                                { "value", "EUC-99990201-V1-00020000" },
                            } },
                        },
                    },
                },
            },
        },
    },
};

var res = await sdk.Hris.Employees.UpdateAsync(req);

// handle response
```
