---
updatedAt: 2026-01-28T13:26:16.000Z
---

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

# Shift Layers

Shift layers are custom fields that provide additional categorization and metadata for shifts. Use them to track departments, positions, skill levels, or any custom attribute.

## Get Shift Layers

Retrieve all shift layers configured for a scheduler.

```bash
curl --request GET \
  --url https://api.connecteam.com/scheduler/v1/schedulers/9454799/shift-layers \
  --header 'X-API-KEY: YOUR_API_KEY'
```

### Response

```json
{
  "requestId": "abc123...",
  "data": {
    "shiftLayers": [
      {
        "id": "layer-dept-001",
        "title": "Department"
      },
      {
        "id": "layer-skill-002",
        "title": "Skill Level"
      }
    ]
  }
}
```

### Response Fields

| Field | Type   | Description               |
| :---- | :----- | :------------------------ |
| id    | string | Unique layer identifier   |
| title | string | Display name of the layer |

***

## Get Shift Layer Values

Retrieve the possible values for a specific shift layer.

### Query Parameters

| Parameter | Type    | Required | Description                      |
| :-------- | :------ | :------- | :------------------------------- |
| limit     | integer | No       | Max results (1-500, default: 10) |
| offset    | integer | No       | Pagination offset                |

### Example

```bash
curl --request GET \
  --url 'https://api.connecteam.com/scheduler/v1/schedulers/9454799/shift-layers/layer-dept-001/values?limit=50' \
  --header 'X-API-KEY: YOUR_API_KEY'
```

### Response

```json
{
  "requestId": "abc123...",
  "data": {
    "values": [
      {
        "id": "value-sales-001",
        "displayName": "Sales"
      },
      {
        "id": "value-support-002",
        "displayName": "Customer Support"
      },
      {
        "id": "value-ops-003",
        "displayName": "Operations"
      }
    ]
  },
  "paging": {
    "offset": 3
  }
}
```

### Response Fields

| Field       | Type   | Description                |
| :---------- | :----- | :------------------------- |
| id          | string | Unique value identifier    |
| displayName | string | Display text for the value |

***

## Using Shift Layers in Shifts

When creating or updating shifts, you can assign shift layer values using the `shiftDetails` object.

### Example: Create Shift with Layers

```bash
curl --request POST \
  --url 'https://api.connecteam.com/scheduler/v1/schedulers/9454799/shifts' \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: YOUR_API_KEY' \
  --data '[
    {
      "startTime": 1736924400,
      "endTime": 1736953200,
      "title": "Sales Floor Coverage",
      "isPublished": true,
      "assignedUserIds": [9170357],
      "shiftDetails": {
        "shiftLayers": [
          {
            "id": "layer-dept-001",
            "value": {
              "id": "value-sales-001"
            }
          }
        ],
        "shiftSource": "API Integration"
      }
    }
  ]'
```

### Shift Details Structure

**Input (when creating/updating):**

```json
{
  "shiftDetails": {
    "shiftLayers": [
      {
        "id": "layer-id",
        "value": {
          "id": "value-id"
        }
      }
    ],
    "shiftSource": "Optional source identifier"
  }
}
```

**Output (when reading):**

```json
{
  "shiftDetails": {
    "shiftLayers": [
      {
        "id": "layer-dept-001",
        "title": "Department",
        "value": {
          "id": "value-sales-001",
          "displayName": "Sales"
        }
      }
    ],
    "shiftSource": "API Integration"
  }
}
```

***

## Common Use Cases

### Organizing by Department

```json
{
  "shiftLayers": [
    {
      "id": "department-layer",
      "value": { "id": "dept-warehouse" }
    }
  ]
}
```

### Tracking Skill Requirements

```json
{
  "shiftLayers": [
    {
      "id": "skill-layer",
      "value": { "id": "skill-forklift-certified" }
    }
  ]
}
```

### Multiple Layers

```json
{
  "shiftLayers": [
    {
      "id": "department-layer",
      "value": { "id": "dept-retail" }
    },
    {
      "id": "position-layer",
      "value": { "id": "pos-cashier" }
    }
  ]
}
```

***

> 📝 Note
>
> Shift layers are configured in the Connecteam app. The API provides read-only access to layer definitions and values. Use the `shiftDetails` field to assign layer values when creating or updating shifts.

***

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