---
title: "Create Capacity Schedule"
method: POST
path: "/v2/users/capacity/schedules"
tags: ["Routes", "Users", "Capacity", "Schedules"]
---

# Create Capacity Schedule

`POST /v2/users/capacity/schedules`

Creates a new capacity schedule for a user or team profile at a specific location.

Exactly one of `userID` or `profileID` must be provided (mutually exclusive).

When `rotationPatternEnabled` is true, both `rotationWeeksOn` and `rotationWeeksOff` are required.

Capacity values are in minutes per day (0-1440). Time values use HH:MM or HH:MM:SS format.

## Request body

- object
  - `scheduleName` string, required — Name of the schedule.
  - `startDate` string, required — Start date (YYYY-MM-DD).
  - `endDate` string — Optional end date (YYYY-MM-DD). Must be >= startDate.
  - `locationID` integer, required — Location ID for the schedule.
  - `userID` integer — User ID to assign. Mutually exclusive with profileID.
  - `profileID` integer — Team profile ID to assign. Mutually exclusive with userID.
  - `mondayCapacity` integer
  - `tuesdayCapacity` integer
  - `wednesdayCapacity` integer
  - `thursdayCapacity` integer
  - `fridayCapacity` integer
  - `saturdayCapacity` integer
  - `sundayCapacity` integer
  - `mondayStartTime` string
  - `mondayEndTime` string
  - `tuesdayStartTime` string
  - `tuesdayEndTime` string
  - `wednesdayStartTime` string
  - `wednesdayEndTime` string
  - `thursdayStartTime` string
  - `thursdayEndTime` string
  - `fridayStartTime` string
  - `fridayEndTime` string
  - `saturdayStartTime` string
  - `saturdayEndTime` string
  - `sundayStartTime` string
  - `sundayEndTime` string
  - `rotationPatternEnabled` boolean — Enable rotation pattern. When true, rotationWeeksOn and rotationWeeksOff are required.
  - `rotationWeeksOn` integer
  - `rotationWeeksOff` integer
  - `scheduleNotes` string
  - `priority` integer
  - `isActive` boolean

## Response `201`

Created

- object
  - `scheduleID` integer

## Other responses

- `400` — The request was malformed — either invalid JSON syntax or a validation failure (missing required field, wrong type, etc.).
- `401` — No `Authorization` header was provided on the request.
- `403` — The supplied credentials are invalid, the customer account is inactive, or the credentials do not have permission to perform this action.
- `404` — The referenced resource does not exist or is not visible to the authenticated customer.
- `429` — The per-minute or per-hour rate limit for this credential and method has been exhausted. Inspect the `X-RateLimit-*` headers to determine when to retry.
- `500` — An unhandled server-side error. The body message is generic (`System unavailable...`) when the underlying cause is a database fault; otherwise it reflects the raised error.

---

[API](https://skmtc.net/limblecmms/apis/limble-api-v2.md) · [All operations](https://skmtc.net/limblecmms/apis/limble-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/limblecmms/limble-api-v2/revisions/20801e23f7f2/schema)
