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
const url = 'https://api.shiftsync.app/v1/friends/shifts?startDate=2026-04-15T12%3A00%3A00Z&endDate=2026-04-15T12%3A00%3A00Z&friends=example';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Responses
Section titled “Responses”Friends’ visible shifts plus the templates they reference
Media typeapplication/json
object
shifts
required
Array<object>
object
id
required
integer
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
templateId
required
integer
tempId
required
string
notes
string
visibility
required
string
seriesId
integer
templates
required
Array
object
id
required
integer
title
required
string
shortTitle
required
string
notes
string
colorId
required
integer
icon
userId
required
integer
visibility
required
string
payRateMinor
integer
Any of:
object
allDay
required
boolean
object
isSplit
boolean
startTime
required
string
endTime
required
string
splitStartTime
string
splitEndTime
string
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 } ]}