Overview

The Scheduler API allows you to programmatically manage schedules, shifts, shift layers, user availability, and auto-assignment in Connecteam.

Key Concepts

Schedulers

A scheduler represents a schedule instance in your organization. Each scheduler has its own timezone, settings, and collection of shifts.

Shifts

Shifts are the core building blocks of scheduling. They can be:

  • Regular shifts: Assigned to specific users
  • Open shifts: Available for users to claim
  • Draft shifts: Not yet visible to users
  • Group shifts: Assigned to multiple users (requires JS Vision)

Shift Layers

Shift layers are custom fields that provide additional categorization for shifts (e.g., department, skill level, position).

Unavailability

Tracks when users are unavailable to work, either from manual entries or approved time-off requests.

Auto-Assign

Automates shift assignment based on user qualifications, availability, and limitations.


Guide Pages

Shifts

PageDescription
Shifts OverviewShift types, constraints, fields, colors, and statuses
Getting ShiftsQuery and filter shifts with pagination
Creating ShiftsCreate single or bulk shifts (up to 500)
Updating ShiftsModify shifts, handle group shifts
Deleting ShiftsRemove shifts (single or bulk up to 20)

Other Features

PageDescription
Shift LayersWork with custom shift categorization
UnavailabilityManage user availability
Auto-AssignAutomate shift assignments

Quick Reference: All Endpoints

Schedulers

MethodEndpointDescription
GET/scheduler/v1/schedulersGet all schedulers

Shifts

MethodEndpointDescription
GET/scheduler/v1/schedulers/{schedulerId}/shiftsGet shifts with filters
GET/scheduler/v1/schedulers/{schedulerId}/shifts/{shiftId}Get a specific shift
POST/scheduler/v1/schedulers/{schedulerId}/shiftsCreate shifts (up to 500)
PUT/scheduler/v1/schedulers/{schedulerId}/shiftsUpdate shifts
DELETE/scheduler/v1/schedulers/{schedulerId}/shiftsDelete multiple shifts (up to 20)
DELETE/scheduler/v1/schedulers/{schedulerId}/shifts/{shiftId}Delete a single shift

Shift Layers

MethodEndpointDescription
GET/scheduler/v1/schedulers/{schedulerId}/shift-layersGet all shift layers
GET/scheduler/v1/schedulers/{schedulerId}/shift-layers/{layerId}/valuesGet layer values

Unavailability

MethodEndpointDescription
GET/scheduler/v1/schedulers/user-unavailabilityGet user unavailabilities
GET/scheduler/v1/schedulers/{schedulerId}/unavailabilitiesGet schedule unavailabilities
POST/scheduler/v1/schedulers/{schedulerId}/unavailabilityCreate unavailability
DELETE/scheduler/v1/schedulers/{schedulerId}/unavailability/{unavailabilityId}Delete unavailability

Auto-Assign

MethodEndpointDescription
POST/scheduler/v1/schedulers/{schedulerId}/shifts/auto-assignStart auto-assign
GET/scheduler/v1/schedulers/{schedulerId}/shifts/auto-assign/{requestId}Get auto-assign status

Authentication

All Scheduler endpoints require authentication via API key or OAuth 2.0.

Required Scopes

ScopeAccess
schedule.readRead schedulers, shifts, layers, unavailabilities
schedule.writeCreate/update shifts, unavailabilities, auto-assign
schedule.deleteDelete shifts, unavailabilities

Common Response Structure

All responses include a requestId and wrap data in a data object:

{
  "requestId": "abc123-def456-...",
  "data": {
    // Response data
  }
}

Paginated responses include a paging object:

{
  "requestId": "abc123-def456-...",
  "data": { ... },
  "paging": {
    "offset": 10
  }
}

Rate Limits

Scheduler API endpoints share the standard rate limits with other Connecteam APIs. See API Overview for details.


API Reference