Shifts Overview

Shifts are the core building blocks of scheduling in Connecteam. This section covers all shift-related operations.

Shift Types

TypeDescription
Regular ShiftAssigned to one or more specific users
Open ShiftAvailable for users to claim
Draft ShiftUnpublished shift not visible to users
Group ShiftAssigned to multiple users (requires JS Vision)

Guide Pages

PageDescription
Getting ShiftsQuery and filter shifts
Creating ShiftsCreate single or bulk shifts
Updating ShiftsModify existing shifts
Deleting ShiftsRemove shifts
Custom FieldsManage custom data on shifts

API Endpoints

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
GET/scheduler/v1/schedulers/{schedulerId}/custom-fields/shiftsGet 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

FieldTypeDescription
idstringUnique shift identifier
titlestringShift name (required if no jobId)
startTimeintegerStart time (Unix timestamp in seconds)
endTimeintegerEnd time (Unix timestamp in seconds)
timezonestringTimezone in Tz format
isPublishedbooleanWhether visible to users
isOpenShiftbooleanWhether available for claiming
openSpotsintegerNumber of claimable spots
assignedUserIdsarrayUser IDs assigned to shift
jobIdstringAssociated job ID
colorstringHex color code
locationDataobjectGPS and address info
isRequireAdminApprovalbooleanWhether claims need approval
createdByintegerAdmin who created shift
creationTimeintegerCreation timestamp
updateTimeintegerLast update timestamp
notesarrayHTML notes attached to shift
breaksarrayBreak definitions
statusesarrayUser status actions
shiftDetailsobjectShift layer values
customFieldsarrayCustom 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
📝

Note

If no color is specified, the shift inherits the job's color or defaults to #4B7AC5.


Shift Status Types

Shifts track user actions through statuses:

StatusDescription
acceptedUser accepted the shift
rejectedUser rejected the shift
checked_inUser checked in to shift
completedUser completed the shift
claimedUser claimed an open shift
claim_requestedUser requested to claim
unclaimedUser unclaimed a shift
unclaim_requestedUser requested to unclaim
cancel_claim_requestUser cancelled claim request
resetStatus was reset

JS Vision Feature

💡

Feature Flag

Some advanced shift capabilities require the JS Vision feature to be enabled:

  • Assigning multiple users to a single shift
  • Setting custom openSpots count (otherwise defaults to 1)
  • Group shift operations

API Reference