---
title: "Get shift"
method: GET
path: "/scheduler/v2/schedulers/{schedulerId}/shifts/{shiftId}"
tags: ["Schedule:v2:Schedulers:Schedule:Shifts (V2):Shifts"]
---

# Get shift

`GET /scheduler/v2/schedulers/{schedulerId}/shifts/{shiftId}`

## Request

- Base URL: `https://api.connecteam.com`
- URL: `https://api.connecteam.com/scheduler/v2/schedulers/{schedulerId}/shifts/{shiftId}`
- Auth: one of:
  - API key in header `X-API-KEY`
  - OAuth 2
    - Client credentials
    - Token URL: `/oauth/v1/token` scopes: `schedule.read`

Retrieve single shift information by its unique ID

## Path parameters

- `shiftId` string, required: The unique identifier of the shift
- `schedulerId` integer, required: The unique identifier of the schedule

## Response `200`

Successful Response

- APIResponseV2ShiftResponse
  - `requestId` string
  - `data` V2FeaturesShiftschedulerExternalApiV1SchedulersSchedulerShiftsModelsShiftResponseShiftResponse, required
    - `id` string, required: The ID of the shift
    - `color` string, required: The color of the shift
    - `assignedUserIds` integer[]: The IDs of the assigned users
    - `startTime` integer, required: The start time of the shift
    - `endTime` integer, required: The end time of the shift
    - `timezone` string, required: The timezone of the shift
    - `isOpenShift` boolean, required: Whether the shift is an open shift
    - `title` string, required: The title of the shift
    - `jobId` string, nullable: The ID of the job
    - `locationData` LocationDataAPI
      - `isReferencedToJob` boolean, required: Indicates whether the location is referenced to a job. can only be true if job id isn't empty
      - `gps` GpsDataV2
        - `address` string, nullable: The address associated with the GPS data.
        - `longitude` number, nullable: The longitude coordinate.
        - `latitude` number, nullable: The latitude coordinate.
    - `isPublished` boolean, required: Whether the shift is published
    - `isRequireAdminApproval` boolean, nullable: Whether the shift requires admin approval
    - `updateTime` integer, nullable: Integer with minimum value of 1
    - `creationTime` integer, nullable: Integer with minimum value of 1
    - `createdBy` integer, nullable: Integer with minimum value of 1
    - `openSpots` integer, nullable: The number of open spots
    - `notes` union[]: The notes of the shift
      - union
        - HTMLNoteDataOut
          - `type` string: HTML note type
          - `html` string, required: The HTML content of the note
        - AlbumNoteDataOut
          - `type` string: Album note type
          - `album` ImageNoteDataOut[], required: The list of images in the album
            - `url` string, required: The url of the file to upload
        - FileNoteDataOut
          - `url` string, required: The url of the file to upload
          - `type` string: URL note type
          - `name` string, required: The name of the file
    - `statuses` StatusData[]: The statuses of the shift
      - `statusId` string, required: The ID of the status
      - `status` 'accepted' | 'checked_in' | 'completed' | 'rejected' | 'claimed' | 'claim_requested' | 'unclaimed' | 'unclaim_requested' | 'cancel_claim_request' | 'reset', required
      - `note` string, nullable: The note of the status
      - `attachments` string[], nullable: The attachments of the status
      - `creationTime` integer, nullable: The creation time of the status
      - `updateTime` integer, nullable: The update time of the status
      - `creatingUserId` integer, required: The ID of the user who created the status
      - `modifyingUserId` integer, nullable: The ID of the user who modified the status
      - `gps` GpsDataV2
        - `address` string, nullable: The address associated with the GPS data.
        - `longitude` number, nullable: The longitude coordinate.
        - `latitude` number, nullable: The latitude coordinate.
      - `assignedUserId` integer, nullable: The ID of the user assigned to the status
    - `breaks` ShiftBreakDataApi[]: The breaks of the shift
      - `id` string, required: The id of the break
      - `name` string, required: The name of the break.
      - `type` 'paid' | 'unpaid', required
      - `startTime` integer, nullable: Integer with minimum value of 0
      - `duration` integer, required: The time the break lasts in minutes
    - `shiftDetails` ShiftDetailsOutput, required
      - `shiftLayers` ShiftLayerOutput[]: The various layers of information associated with the shift
        - `id` string, required: The unique identifier of the shift layer
        - `title` string, required: The name of the shift layer
        - `value` ShiftLayerInstanceOutput, required
          - `id` string, required: The unique identifier of the value
          - `displayName` string, required: The name of the value
      - `shiftSource` string, nullable: The source of the shift
    - `customFields` CustomFieldResponseV2[]: The shift's custom fields
      - `customFieldId` integer, required: The custom field unique id
      - `value` unknown, required
      - `type` 'email' | 'date' | 'phone' | 'number' | 'str' | 'dropdown' | 'file' | 'directManager' | 'birthday' | 'link' | 'location', required
      - `name` string, required: The custom field name
    - `tasks` ShiftTaskDataApi[]: The tasks of the shift
      - `id` string, nullable: The id of the task. Can be empty on older tasks
      - `title` string, required: The title of the task
      - `isComplete` boolean, required: Whether the task was completed
      - `completingUserId` integer, nullable: Integer with minimum value of 1
      - `completionTime` integer, nullable: Integer with minimum value of 1

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-03** `a01dde7c27fb`: 1 info
  - added the optional property `data/tasks` to the response with the `200` status

[Operation history](https://skmtc.dev/connecteam/apis/connecteam-api-documentation/changes/scheduler/v2/schedulers/:schedulerId/shifts/:shiftId/get.md)

---

[API](https://skmtc.dev/connecteam/apis/connecteam-api-documentation.md) - [All operations](https://skmtc.dev/connecteam/apis/connecteam-api-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/connecteam/apis/connecteam-api-documentation/revisions/a01dde7c27fb?raw)
