---
title: "Create Contractor Payment"
method: POST
path: "/contractorPayment"
---

# Create Contractor Payment

`POST /contractorPayment`

## Request body

- object
  - `companyID` string, required — Company ID of employer
  - `contractorID` string, required — ID of Contractor that needs to be paid out
  - `approval_required` boolean — Set to `true` if this payment requires manual approval by the employer. Otherwise, by default, Zeal will automatically process the payment two business days before the `pay_date`
  - `pay_date` string, date, required — Pay date for this payment. Formatted as a date in ISO-8601 format (YYYY-MM-DD). If the pay_date falls on a weekend/bank holiday or the current time is after 2 PM two days before the given pay_date, please correct the date and resubmit. We will not roll forward the pay_date automatically
  - `amount` number, float — Amount that needs to be paid out. Only required if no payment items are present.
  - `payment_items` object[] — Array of payment item objects. If payment items are present, `amount` is not required.
  - `speed` 'two_day' | 'one_day' | 'one_day_no_reserve' | 'zero_day' | 'instant' | 'zero_day_no_reserve' — Accepts `two_day`, `one_day`, `one_day_no_reserve`, `zero_day`,`zero_day_no_reserve` or `instant` as values (**Early Access**)
  - `type` 'regular' | 'reimbursement' — Type of payment. Only `regular` payments are reported on a contractor's Form 1099-NEC.
  - `disbursement` object — The disbursement for the how payment will be made. Defaults to `direct_deposit` if left empty.
    - `method` string, required — The method of disbursement. There are 6 options: `direct_deposit` (Zeal will make a direct deposit to the contractor's bank account using Next Day ACH), `direct_deposit_same_day` (Zeal will make a direct deposit to the contractor's bank account using Same Day ACH), `physical_check` (Zeal will send a physical check to the employee's home address on file), `prepaid` (Zeal will *not* disburse the net pay), `paycard` (Zeal will instantly transfer funds to the existing paycard), and `instant_pay` (Zeal will send funds to the existing worker's Instant Pay wallet)
  - `customerAccountID` string — ID of Customer Account associated with this Contractor Payment
  - `apply_contractor_deductions` boolean — Applies a deduction to this check for each contractor deduction template that is effective at the time of the pay date for the contractor. **Note: Only applicable when payment_items is provided**
  - `metadata` object — Custom metadata object.
    - `example_metadata` string

## Response `200`

200

- object
  - `success` boolean
  - `data` object
    - `contractorPaymentID` string
    - `status` string
    - `disbursement_status` string
    - `first_name` string
    - `middle_name` unknown
    - `last_name` string
    - `companyID` string
    - `contractorID` string
    - `approval_required` boolean
    - `approved` boolean
    - `pay_date` string
    - `amount` string
    - `triggered` boolean
    - `triggered_at` unknown
    - `customerAccountID` unknown
    - `metadata` object
      - `example` string

## Other responses

- `400` — 400

---

[API](https://skmtc.net/zeal/apis/zeal-api.md) · [All operations](https://skmtc.net/zeal/apis/zeal-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zeal/zeal-api/versions/01346dceb27d/schema)
