Skip to content

List friends' shifts

Returns the visible shifts of the given friends (and the caller’s own) within a date range, plus the templates those shifts reference. Requires read access to friends, shifts, and templates.

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

Friends’ visible shifts plus the templates they reference

Media typeapplication/json
object
shifts
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
templates
required
Array
object
id
required
integer
>= -9007199254740991 <= 9007199254740991
title
required
string
shortTitle
required
string
notes
string
colorId
required
integer
>= -9007199254740991 <= 9007199254740991
icon
One of:
object
type
required
string
Allowed values: icon
name
required
string
Allowed values: moon sunrise sun sunset holiday-umbrella
userId
required
integer
>= -9007199254740991 <= 9007199254740991
visibility
required
string
Allowed values: public private hidden
payRateMinor
integer
nullable >= -9007199254740991 <= 9007199254740991
Any of:
object
allDay
required
boolean
Example
{
"shifts": [
{
"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
}
],
"templates": [
{
"id": 0,
"title": "string",
"shortTitle": "string",
"notes": "string",
"colorId": 0,
"icon": {
"type": "icon",
"name": "moon"
},
"userId": 0,
"visibility": "public",
"payRateMinor": 0,
"allDay": true
}
]
}