Shifts Overview
Shifts are the core building blocks of scheduling in Connecteam. This section covers all shift-related operations.
Shift Types
| Type | Description |
|---|---|
| Regular Shift | Assigned to one or more specific users |
| Open Shift | Available for users to claim |
| Draft Shift | Unpublished shift not visible to users |
| Group Shift | Assigned to multiple users (requires JS Vision) |
Guide Pages
| Page | Description |
|---|---|
| Getting Shifts | Query and filter shifts |
| Creating Shifts | Create single or bulk shifts |
| Updating Shifts | Modify existing shifts |
| Deleting Shifts | Remove shifts |
| Custom Fields | Manage custom data on shifts |
API Endpoints
| 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 |
| GET | /scheduler/v1/schedulers/{schedulerId}/custom-fields/shifts | Get shift custom field definitions |
Key Constraints
Important Limits
- Max shift duration: 24 hours
- Max open spots: 100 per shift
- Max shifts per create request: 500
- Max shifts per delete request: 20
- Timestamps: Must be Unix epoch in seconds (not milliseconds)
Shift Fields Summary
| Field | Type | Description |
|---|---|---|
| id | string | Unique shift identifier |
| title | string | Shift name (required if no jobId) |
| startTime | integer | Start time (Unix timestamp in seconds) |
| endTime | integer | End time (Unix timestamp in seconds) |
| timezone | string | Timezone in Tz format |
| isPublished | boolean | Whether visible to users |
| isOpenShift | boolean | Whether available for claiming |
| openSpots | integer | Number of claimable spots |
| assignedUserIds | array | User IDs assigned to shift |
| jobId | string | Associated job ID |
| color | string | Hex color code |
| locationData | object | GPS and address info |
| isRequireAdminApproval | boolean | Whether claims need approval |
| createdBy | integer | Admin who created shift |
| creationTime | integer | Creation timestamp |
| updateTime | integer | Last update timestamp |
| notes | array | HTML notes attached to shift |
| breaks | array | Break definitions |
| statuses | array | User status actions |
| shiftDetails | object | Shift layer values |
| customFields | array | Custom field values |
Shift Colors
Shifts support 33 predefined colors:
#4B7AC5 (default)
#801A1A, #AE2121, #DC7A7A
#B0712E, #D4985A, #E4B37F
#AE8E2D, #CBA73A, #D9B443
#487037, #6F9B5C, #91B282
#365C64, #5687B3, #7C9BA2
#3968BB, #85A6DA
#225A8C, #548CBE, #81A8CC
#4E3F75, #604E8E, #8679AA
#983D73, #A43778, #D178AD
#6B2E4C, #925071, #B57D9A
#3a3a3a, #616161, #969696
NoteIf no color is specified, the shift inherits the job's color or defaults to
#4B7AC5.
Shift Status Types
Shifts track user actions through statuses:
| Status | Description |
|---|---|
accepted | User accepted the shift |
rejected | User rejected the shift |
checked_in | User checked in to shift |
completed | User completed the shift |
claimed | User claimed an open shift |
claim_requested | User requested to claim |
unclaimed | User unclaimed a shift |
unclaim_requested | User requested to unclaim |
cancel_claim_request | User cancelled claim request |
reset | Status was reset |
JS Vision Feature
Feature FlagSome advanced shift capabilities require the JS Vision feature to be enabled:
- Assigning multiple users to a single shift
- Setting custom
openSpotscount (otherwise defaults to 1)- Group shift operations
Updated 7 days ago
