---
title: "Preview pay schedule assignments for a company"
method: POST
path: "/v1/companies/{company_id}/pay_schedules/assignment_preview"
tags: ["Pay Schedules"]
---

# Preview pay schedule assignments for a company

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

## Request

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

This endpoint returns the employee changes, including pay period and transition pay periods, for changing the pay schedule.

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`

Example response

- PayScheduleAssignmentPreview: The representation of a pay schedule assignment preview.
  - `type` 'single' | 'hourly_salaried' | 'by_employee' | 'by_department', nullable: The pay schedule assignment type.
  - `employee_changes` PayScheduleAssignmentEmployeeChange[]: A list of pay schedule changes including pay period and transition pay period.
    - `employee_uuid` string: The UUID of the employee.
    - `first_name` string: The employee's first name.
    - `last_name` string: The employee's last name.
    - `pay_frequency` string: New pay schedule frequency and name.
    - `first_pay_period` PayScheduleAssignmentPayPeriod: Pay schedule assignment first pay period information.
      - `pay_schedule_uuid` string: The pay schedule UUID.
      - `start_date` string: Pay period start date.
      - `end_date` string: Pay period end date.
      - `check_date` string: Pay period check date.
    - `transition_pay_period` PayScheduleAssignmentTransitionPayPeriod: Pay schedule assignment transition pay period information.
      - `start_date` string: Pay period start date.
      - `end_date` string: Pay period end date.

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