---
title: "Create Shifts by Company [Batch]"
method: POST
path: "/apiHub/scheduling/v1/companies/{companyId}/batchshifts"
tags: ["Company Shifts"]
---

# Create Shifts by Company \[Batch\]

`POST /apiHub/scheduling/v1/companies/{companyId}/batchshifts`

## Request

- Base URL: `dc1demogwext.paylocity.com` (relative, and the document’s source URL is not known)
- URL: `dc1demogwext.paylocity.com/apiHub/scheduling/v1/companies/{companyId}/batchshifts`
- Auth: none declared. Required headers: `Authorization`, `Content-Type`

**Summary Description**

The Create Shifts by Company Batch endpoint creates one or more shifts in one request at the company level. Each shift may include an optional employeeId for immediate assignment. These shifts define the work schedule, including details such as the duration, start times, pay type, and cost center.

**Use cases:**
- Managers can assign shifts based on availability and required skills.
- HR systems can automate shift creation for onboarding or during planning cycles.
- Scheduling tools can generate shifts dynamically using forecasted demand.

## Path parameters

- `companyId` string, required

## Headers

- `Authorization` string, required
- `Content-Type` string, required

## Request body

- ShiftCreateV1Model[]
  - `assignedTo` EmployeeV1Model
    - `companyId` string: Identifier of the company to which the task is assigned.
    - `employeeId` string: Identifier of the employee to whom the task is assigned within the company.
  - `breaks` ShiftBreakCreateV1Model[], nullable: TODO: fill this out
    - `duration` integer: TODO: fill this out
    - `payType` 'break' | 'meal': TODO: fill this out
    - `relativeStartDateTime` string, date-time, required: TODO: fill this out
  - `costCenters` string[], nullable: TODO: fill this out
  - `duration` integer: TODO: fill this out
  - `isEmployeeNote` boolean: TODO: fill this out
  - `isPublished` boolean: TODO: fill this out
  - `note` string, nullable: TODO: fill this out
  - `positionKey` integer, nullable: TODO: fill this out
  - `relativeStartDateTime` string, date-time, required: TODO: fill this out
  - `scheduleId` string, uuid, required: TODO: fill this out
  - `templateVersionedAssignmentId` string, uuid, nullable: TODO: fill this out

## Response `201`

Created

## Other responses

- `202`: Accepted
- `400`: Bad Request
- `401`: Unauthorized
- `500`: Server Error

---

[API](https://skmtc.dev/paylocity/apis/scheduling-api.md) - [All operations](https://skmtc.dev/paylocity/apis/scheduling-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paylocity/apis/scheduling-api/revisions/51ca447f2b45?raw)
