---
title: "Create a contractor payment"
method: POST
path: "/v1/companies/{company_id}/contractor_payments"
tags: ["Contractor Payments"]
---

# Create a contractor payment

`POST /v1/companies/{company_id}/contractor_payments`

Pay a contractor. Information needed depends on the contractor's wage type (hourly vs fixed)

scope: `payrolls:run`

## Path parameters

- `company_id` string, required

## Headers

- `X-Gusto-API-Version` '2026-06-15'

## Request body

- ContractorPaymentBody — Request body for creating a contractor payment.
  - `contractor_uuid` string, required — The contractor receiving the payment.
  - `date` string, date, required — Date of contractor payment.
  - `payment_method` 'Direct Deposit' | 'Check' | 'Historical Payment'
  - `wage` string, float — If the contractor is on a fixed wage, this is the fixed wage payment for the contractor, regardless of hours worked.
  - `hours` string, float — If the contractor is on an hourly wage, this is the number of hours that the contractor worked for the payment.
  - `bonus` string, float — If the contractor is on an hourly wage, this is the bonus the contractor earned.
  - `reimbursement` string, float — Reimbursed wages for the contractor.
  - `invoice_number` string — An optional invoice number to associate with this contractor payment. This will be visible to the contractor on their paystub. Maximum 25 characters.
  - `memo` string — An optional note or memo for this contractor payment. This will be visible to the contractor on their paystub.

## Response `200`

successful

- ContractorPayment — The representation of a single contractor payment.
  - `uuid` string, required — The unique identifier of the contractor payment in Gusto.
  - `contractor_uuid` string — The UUID of the contractor.
  - `bonus` string, float — The bonus amount in the payment.
  - `date` string — The payment date.
  - `hours` string, float — The number of hours worked for the payment.
  - `payment_method` 'Direct Deposit' | 'Check' | 'Historical Payment' | 'Correction Payment' — The payment method.
  - `reimbursement` string, float — The reimbursement amount in the payment.
  - `status` 'Funded' | 'Unfunded' — Contractor payment status
  - `hourly_rate` string, float — The rate per hour worked for the payment.
  - `may_cancel` boolean — Determine if the contractor payment can be cancelled.
  - `wage` string, float — The fixed wage of the payment, regardless of hours worked.
  - `wage_type` 'Hourly' | 'Fixed' — The wage type for the payment.
  - `wage_total` string, float — (hours * hourly_rate) + wage + bonus
  - `invoice_number` string, nullable — An optional invoice number associated with this contractor payment. This will be visible to the contractor on their paystub. Maximum 25 characters.
  - `memo` string, nullable — An optional note or memo for this contractor payment. This will be visible to the contractor on their paystub.

## Other responses

- `404` — Not Found The requested resource does not exist. Make sure the provided ID/UUID is valid.
- `422` — Unprocessable Entity This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details.

---

[API](https://skmtc.net/gusto/apis/gusto-api.md) · [All operations](https://skmtc.net/gusto/apis/gusto-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gusto/gusto-api/revisions/826dfa57fb3b/schema)
