| Time | Status | User Agent |  |
| :-- | :-- | :-- | :-- |
| Make a request to see history. |

#### URL Expired

The URL for this request expired after 30 days.

Create an employee check in Zeal. In addition to the `companyID` and `employeeID`, Zeal requires a `reportingPeriodID` that describes the reporting period that this check belongs to.

See [here](https://docs.zeal.com/reference/reporting-period-object) for more information about Reporting Periods.

Creating a check also requires a [Shift Object](https://docs.zeal.com/reference/shift-object) that takes in an array of various earning components such as hourly shift data, overtime, reimbursement, or various other supported earnings.

If an employee check is not approved by the processing date, it will stay as pending and will not be processed.

## Returns

| attributes | type | description |
| --- | --- | --- |
| success | boolean | Response status |
| data | object | [Employee Check Object](https://docs.zeal.com/reference/employee-check-object) |
| errors | array | Contains a list of error objects which consists of:<br>`message`: Error message<br>`code`: Error code as described in [Error codes](https://docs.zeal.com/reference/error-codes) |

### Employee Check Parameters

- **companyID**  
  *string*  
  required  
  Company ID of the employer

- **employeeID**  
  *string*  
  required  
  Employee ID of the employee

- **reportingPeriodID**  
  *string*  
  required  
  The reporting period ID that you want this employee check to belong to. See [Reporting Periods](https://docs.zeal.com/reference/reporting-periods)

- **check_date**  
  *date*  
  required  
  Check date for this employee check. If the check_date falls on a weekend/bank holiday, or the current time is after 2PM PST, two days before the check_date, adjust the `check_date` to the next valid business day. Zeal will not roll forward this date automatically.

- **approval_required**  
  *boolean*  
  Defaults to false  
  Set to true if this check requires manual approval by the employer. Otherwise, by default, Zeal will automatically process the check on the day before the check date. You can approve the check either in the dashboard, or by using [update check](https://docs.zeal.com/reference/update-employee-check)

- **disbursement**  
  *object*  
  This object includes information regarding how the net pay is disbursed to the employee. Zeal supports Direct Deposit, Download Check, Physical Check, Prepaid, Instant Pay and Paycard (Early Access) disbursement methods.

- **shifts**  
  *array of objects*  
  required  
  Array of shift objects. The set of shifts attached to this employee check describe the work done and the earnings owed to this employee. You can only create shifts by creating an employee check (through this endpoint). However, you can edit and delete shifts that are still pending. Also supports various earning components as objects. See [Shift Object](https://docs.zeal.com/reference/shift-object) for more information.

- **flsa_ot_recommendation**  
  *boolean*  
  Defaults to false  
  If set to true, we will automatically convert the check to include our OT recommendation at the time of processing **NOTE: Only applicable for FLSA Overtime Policy**

- **speed**  
  *string*  
  enum  
  Defaults to `two_day`
  The ACH speed of the check, accepts `two_day`, `one_day`,`one_day_no_reserve`, or `zero_day_no_reserve` as values

- **apply_employee_deductions**  
  *boolean*  
  Defaults to false  
  Applies a deduction to this check for each employee deduction template that is effective at the time of the check_date for the employee

- **accept**  
  *string*  
  enum  
  Defaults to `application/json`  
  Generated from available response content types

### Example API Request

```bash
curl --request POST \
     --url https://api.zeal.com/employeeCheck \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{
  "approval_required": false,
  "disbursement": {
    "method": "direct_deposit"
  },
  "flsa_ot_recommendation": false,
  "speed": "two_day",
  "apply_employee_deductions": false
}'
```

### Response Codes

- `200` - Result
- `400` - Result
