List shifts
Shifts of one schedule in a date range, drafts and published, with their assigned users.
GET https://cotlet.dev/api/v1/connecteam/schedulers/{scheduler_id}/shifts
read
Returns the shifts of one schedule between the two dates, in start order, each with title, start and end, assigned user names and published (false for a draft). Drafts are invisible to employees until published. Pass next_cursor back as cursor for the next page.
Parameters
| Name | Type | Description |
|---|---|---|
| scheduler_id integer required | integer | Schedule ID from list_schedulers. |
| start_date date required | date | First day, YYYY-MM-DD. |
| end_date date required | date | Last day, YYYY-MM-DD. |
| published boolean | boolean | true for published shifts only, false for drafts only. Default: both. |
| cursor string | string | Next page cursor from the previous call. |
Request
curl "https://cotlet.dev/api/v1/connecteam/schedulers/1/shifts?start_date=2026-10-01&end_date=2026-10-01" \
-H "Authorization: Bearer $COTLET_API_KEY" result = client.call("connecteam", "list_shifts", {"scheduler_id":1,"start_date":"2026-10-01","end_date":"2026-10-01"}) const result = await cotlet.call('connecteam', 'list_shifts', {"scheduler_id":1,"start_date":"2026-10-01","end_date":"2026-10-01"}); cotlet call connecteam list_shifts --data '{"scheduler_id":1,"start_date":"2026-10-01","end_date":"2026-10-01"}' Example response
{
"shifts": [
{
"shift_id": 90412,
"title": "Opening",
"start": "2026-10-19T07:00",
"end": "2026-10-19T15:00",
"users": [
"Dana Whitfield"
],
"published": false
},
{
"shift_id": 90413,
"title": "Closing",
"start": "2026-10-19T15:00",
"end": "2026-10-19T23:00",
"users": [
"Marco Bell"
],
"published": false
}
],
"next_cursor": "2"
}