Skip to content

List shifts

Returns the authenticated user’s shifts within a date range. Optionally filter to specific templates with templateId, and set excludeOldShifts to drop shifts that ended before the range.

GET
/v1/shifts
curl --request GET \
--url 'https://api.shiftsync.app/v1/shifts?startDate=2026-04-15T12%3A00%3A00Z&endDate=2026-04-15T12%3A00%3A00Z' \
--header 'Authorization: Bearer <token>'
startDate
required
string format: date-time
endDate
required
string format: date-time
templateId
string
excludeOldShifts
Any of:
boolean

Shifts in the requested range

Media typeapplication/json
object
items
required
Array<object>
object
id
required
integer
>= -9007199254740991 <= 9007199254740991
startDate
required
string format: date-time
endDate
required
string format: date-time
isSplit
boolean
splitEndTime
string format: date-time
splitStartTime
string format: date-time
userId
required
integer
>= -9007199254740991 <= 9007199254740991
templateId
required
integer
>= -9007199254740991 <= 9007199254740991
tempId
required
string
notes
string
visibility
required
string
Allowed values: public private hidden
seriesId
integer
>= -9007199254740991 <= 9007199254740991
Example
{
"items": [
{
"id": 0,
"startDate": "2026-01-01T09:00:00.000Z",
"endDate": "2026-01-01T09:00:00.000Z",
"isSplit": true,
"splitEndTime": "2026-01-01T09:00:00.000Z",
"splitStartTime": "2026-01-01T09:00:00.000Z",
"userId": 0,
"templateId": 0,
"tempId": "string",
"notes": "string",
"visibility": "public",
"seriesId": 0
}
]
}