---
title: "Assign pay schedules for a company"
method: POST
path: "/v1/companies/{company_id}/pay_schedules/assign"
tags: ["Pay Schedules"]
---

# Assign pay schedules for a company

`POST /v1/companies/{company_id}/pay_schedules/assign`

## Request

- Base URL: `https://api.gusto-demo.com`
- URL: `https://api.gusto-demo.com/v1/companies/{company_id}/pay_schedules/assign`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/gusto/apis/gusto-api/docs/v1/companies/:company_id/pay_schedules/assign/post.ts> (a function with typed inputs; its response is checked against the schema)

This endpoint assigns employees to pay schedules based on the schedule type.
For `by_employee` and `by_department` schedules, use the `partial_assignment` parameter to control the assignment scope. Set it to `true` for partial assignments (only some employees or departments at a time) and `false` for full assignments (all employees or departments at once).

scope: `pay_schedules:write`

## Path parameters

- `company_id` string, required

## Headers

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

## Request body

- PayScheduleAssignmentBody
  - `type` 'single' | 'hourly_salaried' | 'by_employee' | 'by_department', nullable, required: The pay schedule assignment type.
  - `hourly_pay_schedule_uuid` string: Pay schedule for hourly employees.
  - `salaried_pay_schedule_uuid` string: Pay schedule for salaried employees.
  - `default_pay_schedule_uuid` string: Default pay schedule for employees.
  - `partial_assignment` boolean: Indicates whether the request provides pay schedule assignments for a partial list of employees or departments of the company. By default, this is set to false.
  - `employees` object[]: List of employees and their pay schedules.
    - `employee_uuid` string: Employee UUID
    - `pay_schedule_uuid` string: Pay schedule UUID
  - `departments` object[]: List of departments and their pay schedules.
    - `department_uuid` string: Department UUID
    - `pay_schedule_uuid` string: Pay schedule UUID

## Response `200`

No Content

## Other responses

- `404`: Not Found The requested resource does not exist. Make sure the provided 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.dev/gusto/apis/gusto-api.md) - [All operations](https://skmtc.dev/gusto/apis/gusto-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gusto/apis/gusto-api/revisions/f98575fa2a5e?raw)
