---
updatedAt: 2026-06-29T07:51:24.000Z
---

Fetch the complete documentation index at: https://developer.connecteam.com/llms.txt. Use this file to discover all available pages before exploring further.

# 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](scheduler-get-shifts)     | Query and filter shifts      |
| [Creating Shifts](scheduler-create-shifts) | Create single or bulk shifts |
| [Updating Shifts](scheduler-update-shifts) | Modify existing shifts       |
| [Deleting Shifts](scheduler-delete-shifts) | Remove shifts                |
| [Custom Fields](shift-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
```

> 📝 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:

| 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 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
>
> On migrated companies these are available on **Scheduler V2** — see [JS Vision: V1 vs V2 Shifts API](scheduler-shifts-vision).

***

[API Reference](https://developer.connecteam.com/reference/)