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.

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

Response

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

Response Fields

FieldTypeDescription
idstringUnique layer identifier
titlestringDisplay name of the layer

Get Shift Layer Values

Retrieve the possible values for a specific shift layer.

Query Parameters

ParameterTypeRequiredDescription
limitintegerNoMax results (1-500, default: 10)
offsetintegerNoPagination offset

Example

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

{
  "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

FieldTypeDescription
idstringUnique value identifier
displayNamestringDisplay 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

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

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

Output (when reading):

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

Common Use Cases

Organizing by Department

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

Tracking Skill Requirements

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

Multiple Layers

{
  "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