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
| Page | Description |
|---|---|
| Shifts Overview | Shift types, constraints, fields, colors, and statuses |
| Getting Shifts | Query and filter shifts with pagination |
| Creating Shifts | Create single or bulk shifts (up to 500) |
| Updating Shifts | Modify shifts, handle group shifts |
| Deleting Shifts | Remove shifts (single or bulk up to 20) |
Other Features
| Page | Description |
|---|---|
| Shift Layers | Work with custom shift categorization |
| Unavailability | Manage user availability |
| Auto-Assign | Automate shift assignments |
Quick Reference: All Endpoints
Schedulers
| Method | Endpoint | Description |
|---|---|---|
| GET | /scheduler/v1/schedulers | Get all schedulers |
Shifts
| Method | Endpoint | Description |
|---|---|---|
| GET | /scheduler/v1/schedulers/{schedulerId}/shifts | Get shifts with filters |
| GET | /scheduler/v1/schedulers/{schedulerId}/shifts/{shiftId} | Get a specific shift |
| POST | /scheduler/v1/schedulers/{schedulerId}/shifts | Create shifts (up to 500) |
| PUT | /scheduler/v1/schedulers/{schedulerId}/shifts | Update shifts |
| DELETE | /scheduler/v1/schedulers/{schedulerId}/shifts | Delete multiple shifts (up to 20) |
| DELETE | /scheduler/v1/schedulers/{schedulerId}/shifts/{shiftId} | Delete a single shift |
Shift Layers
| Method | Endpoint | Description |
|---|---|---|
| GET | /scheduler/v1/schedulers/{schedulerId}/shift-layers | Get all shift layers |
| GET | /scheduler/v1/schedulers/{schedulerId}/shift-layers/{layerId}/values | Get layer values |
Unavailability
| Method | Endpoint | Description |
|---|---|---|
| GET | /scheduler/v1/schedulers/user-unavailability | Get user unavailabilities |
| GET | /scheduler/v1/schedulers/{schedulerId}/unavailabilities | Get schedule unavailabilities |
| POST | /scheduler/v1/schedulers/{schedulerId}/unavailability | Create unavailability |
| DELETE | /scheduler/v1/schedulers/{schedulerId}/unavailability/{unavailabilityId} | Delete unavailability |
Auto-Assign
| Method | Endpoint | Description |
|---|---|---|
| POST | /scheduler/v1/schedulers/{schedulerId}/shifts/auto-assign | Start 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
| Scope | Access |
|---|---|
| schedule.read | Read schedulers, shifts, layers, unavailabilities |
| schedule.write | Create/update shifts, unavailabilities, auto-assign |
| schedule.delete | Delete 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.
Updated 11 days ago
