---
title: "Worker"
method: PATCH
path: "/workers/{workerId}"
tags: ["Worker"]
---

# Worker

`PATCH /workers/{workerId}`

## Request

- Base URL: `https://api.paychex.com`
- URL: `https://api.paychex.com/workers/{workerId}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/paychex/apis/external-api/docs/workers/:workerId/patch.ts> (a function with typed inputs; its response is checked against the schema)

Update a unique worker (employee and contractor) that your application has been granted access to modify.

## Path parameters

- `workerId` string, required

## Request body

- WorkerResourceV2
  - `workerId` string: The unique identifier associated with this worker representation.
  - `employeeId` string: The workers employee identification information.
  - `workerType` 'EMPLOYEE' | 'CONTRACTOR' | 'INDEPENDENT_CONTRACTOR': The type of worker. This data field cannot be PATCHED.NOTE: An IN_PROGRESS worker cannot be POSTED with a value of CONTRACTOR.
  - `employmentType` 'FULL_TIME' | 'PART_TIME': The type of employment for the worker.
  - `customEmploymentType` CustomEmploymentTypeResource1: The workers custom employment type
    - `customEmploymentTypeId` string: Unique ID for the custom employment type which the worker is assigned to. This data field cannot be PATCHED for IN_PROGRESS workers.
    - `customEmploymentTypeName` string: The name of the custom employment type that the worker is assigned to.
  - `exemptionType` 'EXEMPT' | 'NON_EXEMPT': The Overtime classification of the worker. This data field cannot be PATCHED for ACTIVE workers.
  - `workState` string: The state(s) in which the worker works in.
  - `birthDate` string, date-time: The workers date of birth. It cannot be greater than today's date.
  - `sex` 'MALE' | 'FEMALE' | 'NOT_SPECIFIED'
  - `ethnicityCode` string: Disclaimer:This parameter is not visible in Flex for the client. This data field cannot be PATCHED for ACTIVE workers.
  - `hireDate` string, date-time: The date which the worker was hired. It cannot be PATCHED for ACTIVE workers.
  - `clockId` string: The clock ID of the worker that can be an identification for other systems.
  - `name` NameResource1: Information about the workers name.
    - `familyName` string: The family or last name of a worker.
    - `middleName` string: A subordinate given name, or initial representing that name, of a worker. <br />NOTE: Please send in just a single character initial for middleName. <br />If sending in more than one character the name will be truncated the first letter of the middleName. <br /> A full middle name can be entered directly in Paychex Flex only at this time.
    - `givenName` string: The given or first name of a worker. For an independent contractor that is a company rather than an individual, the name of the company.
    - `preferredName` string: The first name that the worker prefers to go by
    - `preferredLastName` string: The last name that the worker prefers to go by
    - `pronoun` string: The pronoun that the worker prefers to go by. This data field cannot be POSTED.
    - `qualificationAffixCode` string: A qualifier to the name of a worker, indicating generation.
    - `titleAffixCode` string: A personal title that comes before an individual's name in a formal address (such as Dr., Prof., Rev., Mr.).
  - `seniorityDate` string, date-time: The workers seniority date. This data field cannot be POSTED or PATCHED.
  - `profileImageURL` string: The workers profile image url. This data field cannot be POSTED or PATCHED.
  - `legalId` LegalIdResource1: The workers legal tax identification information. This data field cannot be PATCHED for ACTIVE workers.
    - `legalIdType` 'SSN' | 'FEIN': A value that identifies the type of taxpayer identification number provided. SSN: Social Security Number - 9 digit number , FEIN: Federal Employer Identification Number (EIN)
    - `legalIdValue` string: The federal level taxpayer id number that the worker has provided
  - `laborAssignmentId` string: The workers home labor assignment.
  - `locationId` string: The workers location.
  - `jobId` string: The workers home job
  - `job` JobTitleResource1: The workers current job/position information.
    - `jobTitleId` string: Unique ID for that job within the company that the worker is assigned to.
    - `title` string: The name of the title that the worker is assigned to.
  - `organization` OrganizationResource1: The organization which the worker is part of.
    - `organizationId` string: The unique identifier associated with this organizations representation.
    - `name` string: The name of the organization.
    - `number` string: The number assigned to the organization.
    - `level` string: The level number within the organizational structures hierarchy.
    - `_links` Link1[]
      - `href` string
      - `hreflang` string
      - `title` string
      - `type` string
      - `deprecation` string
      - `profile` string
      - `name` string
      - `templated` boolean
  - `supervisor` SupervisorResource1: The workers supervisor information.Supervisor cannot be a TERMINATED or IN_PROGRESS worker. Assigned supervisors who are active employees within the company account will be returned. Supervisors that are users who are not workers will not be included in the response.
    - `workerId` string: The supervisor's Id
    - `name` NameResource1: Information about the workers name.
      - `familyName` string: The family or last name of a worker.
      - `middleName` string: A subordinate given name, or initial representing that name, of a worker. <br />NOTE: Please send in just a single character initial for middleName. <br />If sending in more than one character the name will be truncated the first letter of the middleName. <br /> A full middle name can be entered directly in Paychex Flex only at this time.
      - `givenName` string: The given or first name of a worker. For an independent contractor that is a company rather than an individual, the name of the company.
      - `preferredName` string: The first name that the worker prefers to go by
      - `preferredLastName` string: The last name that the worker prefers to go by
      - `pronoun` string: The pronoun that the worker prefers to go by. This data field cannot be POSTED.
      - `qualificationAffixCode` string: A qualifier to the name of a worker, indicating generation.
      - `titleAffixCode` string: A personal title that comes before an individual's name in a formal address (such as Dr., Prof., Rev., Mr.).
  - `currentStatus` Status1: The workers employment status information. This data field cannot be POSTED or PATCHED for an IN_PROGRESS worker.
    - `workerStatusId` string: The unique identifier associated with this status representation.
    - `statusType` 'ACTIVE' | 'INACTIVE' | 'TERMINATED' | 'PENDING' | 'IN_PROGRESS': The workers current status.
    - `statusReason` string: The detailed reason of the workers current status.
    - `effectiveDate` string, date-time: Date that this status has started for the worker.
    - `order` integer
    - `_links` Links
  - `communications` CommunicationResource1[]: Worker Communications. This data field cannot be updated for worker endpoint.
    - `communicationId` string: The ID for the workers specific communication item.
    - `type` 'STREET_ADDRESS' | 'PO_BOX_ADDRESS' | 'PHONE' | 'MOBILE_PHONE' | 'FAX' | 'EMAIL' | 'PAGER': A set of communication types classifying an instruction that the customer, requester, or subject must comply with in order for the screening to go forward. NOTE: PHONE and EMAIL type supports BUSINESS and PERSONAL usage type only.MOBILE_PHONE, FAX and PAGER supports BUSINESS usage type only.This data field cannot be PATCHED.
    - `usageType` 'PERSONAL' | 'BUSINESS' | 'HOME' | 'WORK' | 'LOCATION_STREET_ADDRESS' | 'MAILING_ADDRESS': A code classifying a designated use associated with a contact method. For example, whether a telephone or email address is one for business communications or one primarily for personal use.This data field cannot be PATCHED.
    - `dialCountry` string: The country dialing code for a communication number
    - `dialArea` string: The area dialing code for a communication number
    - `dialNumber` string: The communication number, not including country dialing or area dialing codes
    - `dialExtension` string: The extension of the associated communication number
    - `uri` string: The mailto address as specified in RFC2368
    - `streetLineOne` string: The street address line one
    - `streetLineTwo` string: The street address line two
    - `postOfficeBox` string: The postal office box. This data field cannot be PATCHED
    - `city` string: The city name
    - `postalCode` string: The zip-code
    - `postalCodeExtension` string: The zip-code extension
    - `countrySubdivisionCode` string: The state code (ISO 3166 subdivision code)
    - `countryCode` string: The country code (ISO 3166 alpha-2)
    - `_links` Links
  - `_links` Links
  - `workerCorrelationId` string: Id that you define which is used for error handling/responses.This data field is used while POSTING multiple IN_PROGRESS workers

## Response `200`

successful operation

- object
  - `content` WorkerResourceV2
    - `workerId` string: The unique identifier associated with this worker representation.
    - `employeeId` string: The workers employee identification information.
    - `workerType` 'EMPLOYEE' | 'CONTRACTOR' | 'INDEPENDENT_CONTRACTOR': The type of worker. This data field cannot be PATCHED.NOTE: An IN_PROGRESS worker cannot be POSTED with a value of CONTRACTOR.
    - `employmentType` 'FULL_TIME' | 'PART_TIME': The type of employment for the worker.
    - `customEmploymentType` CustomEmploymentTypeResource1: The workers custom employment type
      - `customEmploymentTypeId` string: Unique ID for the custom employment type which the worker is assigned to. This data field cannot be PATCHED for IN_PROGRESS workers.
      - `customEmploymentTypeName` string: The name of the custom employment type that the worker is assigned to.
    - `exemptionType` 'EXEMPT' | 'NON_EXEMPT': The Overtime classification of the worker. This data field cannot be PATCHED for ACTIVE workers.
    - `workState` string: The state(s) in which the worker works in.
    - `birthDate` string, date-time: The workers date of birth. It cannot be greater than today's date.
    - `sex` 'MALE' | 'FEMALE' | 'NOT_SPECIFIED'
    - `ethnicityCode` string: Disclaimer:This parameter is not visible in Flex for the client. This data field cannot be PATCHED for ACTIVE workers.
    - `hireDate` string, date-time: The date which the worker was hired. It cannot be PATCHED for ACTIVE workers.
    - `clockId` string: The clock ID of the worker that can be an identification for other systems.
    - `name` NameResource1: Information about the workers name.
      - `familyName` string: The family or last name of a worker.
      - `middleName` string: A subordinate given name, or initial representing that name, of a worker. <br />NOTE: Please send in just a single character initial for middleName. <br />If sending in more than one character the name will be truncated the first letter of the middleName. <br /> A full middle name can be entered directly in Paychex Flex only at this time.
      - `givenName` string: The given or first name of a worker. For an independent contractor that is a company rather than an individual, the name of the company.
      - `preferredName` string: The first name that the worker prefers to go by
      - `preferredLastName` string: The last name that the worker prefers to go by
      - `pronoun` string: The pronoun that the worker prefers to go by. This data field cannot be POSTED.
      - `qualificationAffixCode` string: A qualifier to the name of a worker, indicating generation.
      - `titleAffixCode` string: A personal title that comes before an individual's name in a formal address (such as Dr., Prof., Rev., Mr.).
    - `seniorityDate` string, date-time: The workers seniority date. This data field cannot be POSTED or PATCHED.
    - `profileImageURL` string: The workers profile image url. This data field cannot be POSTED or PATCHED.
    - `legalId` LegalIdResource1: The workers legal tax identification information. This data field cannot be PATCHED for ACTIVE workers.
      - `legalIdType` 'SSN' | 'FEIN': A value that identifies the type of taxpayer identification number provided. SSN: Social Security Number - 9 digit number , FEIN: Federal Employer Identification Number (EIN)
      - `legalIdValue` string: The federal level taxpayer id number that the worker has provided
    - `laborAssignmentId` string: The workers home labor assignment.
    - `locationId` string: The workers location.
    - `jobId` string: The workers home job
    - `job` JobTitleResource1: The workers current job/position information.
      - `jobTitleId` string: Unique ID for that job within the company that the worker is assigned to.
      - `title` string: The name of the title that the worker is assigned to.
    - `organization` OrganizationResource1: The organization which the worker is part of.
      - `organizationId` string: The unique identifier associated with this organizations representation.
      - `name` string: The name of the organization.
      - `number` string: The number assigned to the organization.
      - `level` string: The level number within the organizational structures hierarchy.
      - `_links` Link1[]
        - `href` string
        - `hreflang` string
        - `title` string
        - `type` string
        - `deprecation` string
        - `profile` string
        - `name` string
        - `templated` boolean
    - `supervisor` SupervisorResource1: The workers supervisor information.Supervisor cannot be a TERMINATED or IN_PROGRESS worker. Assigned supervisors who are active employees within the company account will be returned. Supervisors that are users who are not workers will not be included in the response.
      - `workerId` string: The supervisor's Id
      - `name` NameResource1: Information about the workers name.
        - `familyName` string: The family or last name of a worker.
        - `middleName` string: A subordinate given name, or initial representing that name, of a worker. <br />NOTE: Please send in just a single character initial for middleName. <br />If sending in more than one character the name will be truncated the first letter of the middleName. <br /> A full middle name can be entered directly in Paychex Flex only at this time.
        - `givenName` string: The given or first name of a worker. For an independent contractor that is a company rather than an individual, the name of the company.
        - `preferredName` string: The first name that the worker prefers to go by
        - `preferredLastName` string: The last name that the worker prefers to go by
        - `pronoun` string: The pronoun that the worker prefers to go by. This data field cannot be POSTED.
        - `qualificationAffixCode` string: A qualifier to the name of a worker, indicating generation.
        - `titleAffixCode` string: A personal title that comes before an individual's name in a formal address (such as Dr., Prof., Rev., Mr.).
    - `currentStatus` Status1: The workers employment status information. This data field cannot be POSTED or PATCHED for an IN_PROGRESS worker.
      - `workerStatusId` string: The unique identifier associated with this status representation.
      - `statusType` 'ACTIVE' | 'INACTIVE' | 'TERMINATED' | 'PENDING' | 'IN_PROGRESS': The workers current status.
      - `statusReason` string: The detailed reason of the workers current status.
      - `effectiveDate` string, date-time: Date that this status has started for the worker.
      - `order` integer
      - `_links` Links
    - `communications` CommunicationResource1[]: Worker Communications. This data field cannot be updated for worker endpoint.
      - `communicationId` string: The ID for the workers specific communication item.
      - `type` 'STREET_ADDRESS' | 'PO_BOX_ADDRESS' | 'PHONE' | 'MOBILE_PHONE' | 'FAX' | 'EMAIL' | 'PAGER': A set of communication types classifying an instruction that the customer, requester, or subject must comply with in order for the screening to go forward. NOTE: PHONE and EMAIL type supports BUSINESS and PERSONAL usage type only.MOBILE_PHONE, FAX and PAGER supports BUSINESS usage type only.This data field cannot be PATCHED.
      - `usageType` 'PERSONAL' | 'BUSINESS' | 'HOME' | 'WORK' | 'LOCATION_STREET_ADDRESS' | 'MAILING_ADDRESS': A code classifying a designated use associated with a contact method. For example, whether a telephone or email address is one for business communications or one primarily for personal use.This data field cannot be PATCHED.
      - `dialCountry` string: The country dialing code for a communication number
      - `dialArea` string: The area dialing code for a communication number
      - `dialNumber` string: The communication number, not including country dialing or area dialing codes
      - `dialExtension` string: The extension of the associated communication number
      - `uri` string: The mailto address as specified in RFC2368
      - `streetLineOne` string: The street address line one
      - `streetLineTwo` string: The street address line two
      - `postOfficeBox` string: The postal office box. This data field cannot be PATCHED
      - `city` string: The city name
      - `postalCode` string: The zip-code
      - `postalCodeExtension` string: The zip-code extension
      - `countrySubdivisionCode` string: The state code (ISO 3166 subdivision code)
      - `countryCode` string: The country code (ISO 3166 alpha-2)
      - `_links` Links
    - `_links` Links
    - `workerCorrelationId` string: Id that you define which is used for error handling/responses.This data field is used while POSTING multiple IN_PROGRESS workers
  - `links` Link1[]
    - `href` string
    - `hreflang` string
    - `title` string
    - `type` string
    - `deprecation` string
    - `profile` string
    - `name` string
    - `templated` boolean

## Other responses

- `400`: The request is invalid (API-4), Invalid field (API-17), The request cannot be performed since the worker is in a state which does not allow this action(API-19),The current status cannot be past or future dated (API-20), Invalid value (API-24), The field cannot be removed (API-25), Attempting to terminate a worker that is a supervisor (API-67)
- `401`: Unauthorized
- `403`: User doesn't have access to this endpoint (API-2), Client has been end dated (API-68)
- `404`: Invalid resource ID (API-7)
- `405`: Unsupported method type (API-59)
- `406`: Unsupported Accept header
- `423`: Client locked (API-10)
- `500`: Internal Server Error.

---

[API](https://skmtc.dev/paychex/apis/external-api.md) - [All operations](https://skmtc.dev/paychex/apis/external-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paychex/apis/external-api/revisions/07161d3e073f?raw)
