---
title: "Worker Check"
method: POST
path: "/workers/{workerId}/checks"
tags: ["Payroll"]
---

# Worker Check

`POST /workers/{workerId}/checks`

## Request

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

Add a check to a worker for an unprocessed pay period.

## Path parameters

- `workerId` string, required

## Request body

- CheckResource1: Check resource
  - `workerId` string: The id assigned to the worker
  - `paycheckId` string: The id of a single check that a workers has.
  - `payPeriodId` string: The id for the unprocessed payperiod.
  - `checkCorrelationId` string: Id that you define which is used for error handling/responses. This is not required when sending a single check.
  - `blockAutoDistribution` true | false: This is used optionally for blocking the auto distribution of the earnings on the workers if they are setup for auto distribution.
  - `earnings` PayComponentResource1[]: The earnings to apply to the check.Each earning needs to define as one of the following:1 .payHours: Will use the default hourly rate defined on the worker to apply the hours against. 2. payHours and payRate: Will allow you to define the monetary rate that the hours will be applied against. 3. payHours and payRateId: Will allow you to define which workers predefined pay rate the hours will be applied against. 4. payUnits: Will use the default hourly rate defined on the worker to apply the units against. 5. payUnits and payRate: Will allow you to define the monetary rate that the units will be applied against. 6. payUnits and payRateId: Will allow you to define which workers predefined pay rate the units will be applied against. 7. payAmount: Will allow you to define straight monetary amount.
    - `componentId` string: The identifier of the pay component to add to the check. An overtime pay component can't be placed on a worker that is OT exempt.
    - `checkComponentId` string: The unique identifier associated for the pay component on this check.
    - `name` string: The name given to the pay component
    - `classificationType` string: The category that this component falls into.
    - `description` string
    - `effectOnPay` 'ADDITION' | 'ADDITION_WITH_IN_OUT' | 'EMPLOYER_INFORMATIONAL' | 'REDUCTION': The effect that the pay component will have on the check amount.
    - `startDate` string, date-time: The date that the pay component is able to be applied on a check.
    - `endDate` string, date-time: The date that the pay component is not available to be applied on a check moving forward.
    - `jobId` string: This is used optionally for overriding a job when it needs to be different then the workers default. This option is only available when the client has job costing.
    - `laborAssignmentId` string: This is used optionally for overriding a labor assignment when it needs to be different then the workers assignment distribution. This option is only available when the client has labor assignment.
    - `payRateId` string: The rate identifier for the workers compensation
    - `payRate` string: The rate amount that will be applied for this component. Used in conjunction with Hours or Units.
    - `payHours` string: The number of hours that will be applied for this component. Used in conjunction with rate
    - `payUnits` string: The number of units that will be applied for this component. Used in conjunction with rate.
    - `payAmount` string: The flat amount to be applied for this component. Not used with Rate, Hours, or Units.
    - `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
    - `lineDate` string, date-time: This is used optionally for specifying a date that the earning was generated on.
    - `memoed` boolean: This is used optionally for memoing the payHours or payUnits so that they are informational when using a payAmount.
  - `deductions` PayComponentResource1[]: Deduction pay components on the check.
    - `componentId` string: The identifier of the pay component to add to the check. An overtime pay component can't be placed on a worker that is OT exempt.
    - `checkComponentId` string: The unique identifier associated for the pay component on this check.
    - `name` string: The name given to the pay component
    - `classificationType` string: The category that this component falls into.
    - `description` string
    - `effectOnPay` 'ADDITION' | 'ADDITION_WITH_IN_OUT' | 'EMPLOYER_INFORMATIONAL' | 'REDUCTION': The effect that the pay component will have on the check amount.
    - `startDate` string, date-time: The date that the pay component is able to be applied on a check.
    - `endDate` string, date-time: The date that the pay component is not available to be applied on a check moving forward.
    - `jobId` string: This is used optionally for overriding a job when it needs to be different then the workers default. This option is only available when the client has job costing.
    - `laborAssignmentId` string: This is used optionally for overriding a labor assignment when it needs to be different then the workers assignment distribution. This option is only available when the client has labor assignment.
    - `payRateId` string: The rate identifier for the workers compensation
    - `payRate` string: The rate amount that will be applied for this component. Used in conjunction with Hours or Units.
    - `payHours` string: The number of hours that will be applied for this component. Used in conjunction with rate
    - `payUnits` string: The number of units that will be applied for this component. Used in conjunction with rate.
    - `payAmount` string: The flat amount to be applied for this component. Not used with Rate, Hours, or Units.
    - `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
    - `lineDate` string, date-time: This is used optionally for specifying a date that the earning was generated on.
    - `memoed` boolean: This is used optionally for memoing the payHours or payUnits so that they are informational when using a payAmount.
  - `informational` PayComponentResource1[]: Informational pay components on the check.
    - `componentId` string: The identifier of the pay component to add to the check. An overtime pay component can't be placed on a worker that is OT exempt.
    - `checkComponentId` string: The unique identifier associated for the pay component on this check.
    - `name` string: The name given to the pay component
    - `classificationType` string: The category that this component falls into.
    - `description` string
    - `effectOnPay` 'ADDITION' | 'ADDITION_WITH_IN_OUT' | 'EMPLOYER_INFORMATIONAL' | 'REDUCTION': The effect that the pay component will have on the check amount.
    - `startDate` string, date-time: The date that the pay component is able to be applied on a check.
    - `endDate` string, date-time: The date that the pay component is not available to be applied on a check moving forward.
    - `jobId` string: This is used optionally for overriding a job when it needs to be different then the workers default. This option is only available when the client has job costing.
    - `laborAssignmentId` string: This is used optionally for overriding a labor assignment when it needs to be different then the workers assignment distribution. This option is only available when the client has labor assignment.
    - `payRateId` string: The rate identifier for the workers compensation
    - `payRate` string: The rate amount that will be applied for this component. Used in conjunction with Hours or Units.
    - `payHours` string: The number of hours that will be applied for this component. Used in conjunction with rate
    - `payUnits` string: The number of units that will be applied for this component. Used in conjunction with rate.
    - `payAmount` string: The flat amount to be applied for this component. Not used with Rate, Hours, or Units.
    - `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
    - `lineDate` string, date-time: This is used optionally for specifying a date that the earning was generated on.
    - `memoed` boolean: This is used optionally for memoing the payHours or payUnits so that they are informational when using a payAmount.
  - `taxes` PayComponentResource1[]: Tax pay components on the check.
    - `componentId` string: The identifier of the pay component to add to the check. An overtime pay component can't be placed on a worker that is OT exempt.
    - `checkComponentId` string: The unique identifier associated for the pay component on this check.
    - `name` string: The name given to the pay component
    - `classificationType` string: The category that this component falls into.
    - `description` string
    - `effectOnPay` 'ADDITION' | 'ADDITION_WITH_IN_OUT' | 'EMPLOYER_INFORMATIONAL' | 'REDUCTION': The effect that the pay component will have on the check amount.
    - `startDate` string, date-time: The date that the pay component is able to be applied on a check.
    - `endDate` string, date-time: The date that the pay component is not available to be applied on a check moving forward.
    - `jobId` string: This is used optionally for overriding a job when it needs to be different then the workers default. This option is only available when the client has job costing.
    - `laborAssignmentId` string: This is used optionally for overriding a labor assignment when it needs to be different then the workers assignment distribution. This option is only available when the client has labor assignment.
    - `payRateId` string: The rate identifier for the workers compensation
    - `payRate` string: The rate amount that will be applied for this component. Used in conjunction with Hours or Units.
    - `payHours` string: The number of hours that will be applied for this component. Used in conjunction with rate
    - `payUnits` string: The number of units that will be applied for this component. Used in conjunction with rate.
    - `payAmount` string: The flat amount to be applied for this component. Not used with Rate, Hours, or Units.
    - `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
    - `lineDate` string, date-time: This is used optionally for specifying a date that the earning was generated on.
    - `memoed` boolean: This is used optionally for memoing the payHours or payUnits so that they are informational when using a payAmount.

## Response `200`

successful operation

- object
  - `content` CheckResource1: Check resource
    - `workerId` string: The id assigned to the worker
    - `paycheckId` string: The id of a single check that a workers has.
    - `payPeriodId` string: The id for the unprocessed payperiod.
    - `checkCorrelationId` string: Id that you define which is used for error handling/responses. This is not required when sending a single check.
    - `blockAutoDistribution` true | false: This is used optionally for blocking the auto distribution of the earnings on the workers if they are setup for auto distribution.
    - `earnings` PayComponentResource1[]: The earnings to apply to the check.Each earning needs to define as one of the following:1 .payHours: Will use the default hourly rate defined on the worker to apply the hours against. 2. payHours and payRate: Will allow you to define the monetary rate that the hours will be applied against. 3. payHours and payRateId: Will allow you to define which workers predefined pay rate the hours will be applied against. 4. payUnits: Will use the default hourly rate defined on the worker to apply the units against. 5. payUnits and payRate: Will allow you to define the monetary rate that the units will be applied against. 6. payUnits and payRateId: Will allow you to define which workers predefined pay rate the units will be applied against. 7. payAmount: Will allow you to define straight monetary amount.
      - `componentId` string: The identifier of the pay component to add to the check. An overtime pay component can't be placed on a worker that is OT exempt.
      - `checkComponentId` string: The unique identifier associated for the pay component on this check.
      - `name` string: The name given to the pay component
      - `classificationType` string: The category that this component falls into.
      - `description` string
      - `effectOnPay` 'ADDITION' | 'ADDITION_WITH_IN_OUT' | 'EMPLOYER_INFORMATIONAL' | 'REDUCTION': The effect that the pay component will have on the check amount.
      - `startDate` string, date-time: The date that the pay component is able to be applied on a check.
      - `endDate` string, date-time: The date that the pay component is not available to be applied on a check moving forward.
      - `jobId` string: This is used optionally for overriding a job when it needs to be different then the workers default. This option is only available when the client has job costing.
      - `laborAssignmentId` string: This is used optionally for overriding a labor assignment when it needs to be different then the workers assignment distribution. This option is only available when the client has labor assignment.
      - `payRateId` string: The rate identifier for the workers compensation
      - `payRate` string: The rate amount that will be applied for this component. Used in conjunction with Hours or Units.
      - `payHours` string: The number of hours that will be applied for this component. Used in conjunction with rate
      - `payUnits` string: The number of units that will be applied for this component. Used in conjunction with rate.
      - `payAmount` string: The flat amount to be applied for this component. Not used with Rate, Hours, or Units.
      - `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
      - `lineDate` string, date-time: This is used optionally for specifying a date that the earning was generated on.
      - `memoed` boolean: This is used optionally for memoing the payHours or payUnits so that they are informational when using a payAmount.
    - `deductions` PayComponentResource1[]: Deduction pay components on the check.
      - `componentId` string: The identifier of the pay component to add to the check. An overtime pay component can't be placed on a worker that is OT exempt.
      - `checkComponentId` string: The unique identifier associated for the pay component on this check.
      - `name` string: The name given to the pay component
      - `classificationType` string: The category that this component falls into.
      - `description` string
      - `effectOnPay` 'ADDITION' | 'ADDITION_WITH_IN_OUT' | 'EMPLOYER_INFORMATIONAL' | 'REDUCTION': The effect that the pay component will have on the check amount.
      - `startDate` string, date-time: The date that the pay component is able to be applied on a check.
      - `endDate` string, date-time: The date that the pay component is not available to be applied on a check moving forward.
      - `jobId` string: This is used optionally for overriding a job when it needs to be different then the workers default. This option is only available when the client has job costing.
      - `laborAssignmentId` string: This is used optionally for overriding a labor assignment when it needs to be different then the workers assignment distribution. This option is only available when the client has labor assignment.
      - `payRateId` string: The rate identifier for the workers compensation
      - `payRate` string: The rate amount that will be applied for this component. Used in conjunction with Hours or Units.
      - `payHours` string: The number of hours that will be applied for this component. Used in conjunction with rate
      - `payUnits` string: The number of units that will be applied for this component. Used in conjunction with rate.
      - `payAmount` string: The flat amount to be applied for this component. Not used with Rate, Hours, or Units.
      - `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
      - `lineDate` string, date-time: This is used optionally for specifying a date that the earning was generated on.
      - `memoed` boolean: This is used optionally for memoing the payHours or payUnits so that they are informational when using a payAmount.
    - `informational` PayComponentResource1[]: Informational pay components on the check.
      - `componentId` string: The identifier of the pay component to add to the check. An overtime pay component can't be placed on a worker that is OT exempt.
      - `checkComponentId` string: The unique identifier associated for the pay component on this check.
      - `name` string: The name given to the pay component
      - `classificationType` string: The category that this component falls into.
      - `description` string
      - `effectOnPay` 'ADDITION' | 'ADDITION_WITH_IN_OUT' | 'EMPLOYER_INFORMATIONAL' | 'REDUCTION': The effect that the pay component will have on the check amount.
      - `startDate` string, date-time: The date that the pay component is able to be applied on a check.
      - `endDate` string, date-time: The date that the pay component is not available to be applied on a check moving forward.
      - `jobId` string: This is used optionally for overriding a job when it needs to be different then the workers default. This option is only available when the client has job costing.
      - `laborAssignmentId` string: This is used optionally for overriding a labor assignment when it needs to be different then the workers assignment distribution. This option is only available when the client has labor assignment.
      - `payRateId` string: The rate identifier for the workers compensation
      - `payRate` string: The rate amount that will be applied for this component. Used in conjunction with Hours or Units.
      - `payHours` string: The number of hours that will be applied for this component. Used in conjunction with rate
      - `payUnits` string: The number of units that will be applied for this component. Used in conjunction with rate.
      - `payAmount` string: The flat amount to be applied for this component. Not used with Rate, Hours, or Units.
      - `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
      - `lineDate` string, date-time: This is used optionally for specifying a date that the earning was generated on.
      - `memoed` boolean: This is used optionally for memoing the payHours or payUnits so that they are informational when using a payAmount.
    - `taxes` PayComponentResource1[]: Tax pay components on the check.
      - `componentId` string: The identifier of the pay component to add to the check. An overtime pay component can't be placed on a worker that is OT exempt.
      - `checkComponentId` string: The unique identifier associated for the pay component on this check.
      - `name` string: The name given to the pay component
      - `classificationType` string: The category that this component falls into.
      - `description` string
      - `effectOnPay` 'ADDITION' | 'ADDITION_WITH_IN_OUT' | 'EMPLOYER_INFORMATIONAL' | 'REDUCTION': The effect that the pay component will have on the check amount.
      - `startDate` string, date-time: The date that the pay component is able to be applied on a check.
      - `endDate` string, date-time: The date that the pay component is not available to be applied on a check moving forward.
      - `jobId` string: This is used optionally for overriding a job when it needs to be different then the workers default. This option is only available when the client has job costing.
      - `laborAssignmentId` string: This is used optionally for overriding a labor assignment when it needs to be different then the workers assignment distribution. This option is only available when the client has labor assignment.
      - `payRateId` string: The rate identifier for the workers compensation
      - `payRate` string: The rate amount that will be applied for this component. Used in conjunction with Hours or Units.
      - `payHours` string: The number of hours that will be applied for this component. Used in conjunction with rate
      - `payUnits` string: The number of units that will be applied for this component. Used in conjunction with rate.
      - `payAmount` string: The flat amount to be applied for this component. Not used with Rate, Hours, or Units.
      - `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
      - `lineDate` string, date-time: This is used optionally for specifying a date that the earning was generated on.
      - `memoed` boolean: This is used optionally for memoing the payHours or payUnits so that they are informational when using a payAmount.
  - `links` Link1[]
    - `href` string
    - `hreflang` string
    - `title` string
    - `type` string
    - `deprecation` string
    - `profile` string
    - `name` string
    - `templated` boolean

## Other responses

- `400`: The request cannot be performed since the worker is in a state which does not allow this action(API-19),Amount should be between 0.00-9999.99 (API-28), Invalid Org ID (API-40), Required field missing (API-46), Required field ambiguous (API-47), Required field invalid (API-48), Pay period is in a state that will not allow checks to be modified (API-51), Empty request (API-52), All checks must have the same pay period in the request (API-53), Missing required field for one or more request (API-54), At least one worker doesn't belong to this client (API-55), Duplicate correlation ID (API-56), The pay component doesn't support the corresponding worker type (API-57), The pay component can't be REDUCTION type (API-60), Product was not set up for this client as of the check date of the given pay period (API-65), The pay rate's start date is after the provided PayPeriod's date range (API-69), This worker does not have a default pay rate set (API-70)
- `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.
- `503`: Checks service unavailable (API-66)

---

[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)
