List shifts
List shifts of a unit or section in a date range, with who works them.
GET https://cotlet.dev/api/v1/quinyx/groups/{group_id}/shifts
read
Returns shift_id, employee (null when unassigned), shift type, start, end, breaks and section. A shift with a pending offer has offer_pending set to true. Unassigned shifts in a period that is not published come back too, but cannot be offered.
Parameters
| Name | Type | Description |
|---|---|---|
| group_id string required | string | Unit or section id from list_groups. |
| from string required | string | First day, YYYY-MM-DD. |
| to string required | string | Last day, YYYY-MM-DD. |
| employee_id string | string | Only this employee's shifts. |
| unassigned_only boolean | boolean | Only shifts without an employee. Default false. |
Request
curl "https://cotlet.dev/api/v1/quinyx/groups/group_8c41d2/shifts?from=from&to=to" \
-H "Authorization: Bearer $COTLET_API_KEY" result = client.call("quinyx", "list_shifts", {"group_id":"group_8c41d2","from":"from","to":"to"}) const result = await cotlet.call('quinyx', 'list_shifts', {"group_id":"group_8c41d2","from":"from","to":"to"}); cotlet call quinyx list_shifts --data '{"group_id":"group_8c41d2","from":"from","to":"to"}' Example response
{
"shifts": [
{
"shift_id": "90518",
"employee": null,
"shift_type": "Opening",
"start": "2026-10-30T06:00",
"end": "2026-10-30T14:00",
"break_minutes": 30,
"section": "Harbor Cafe",
"offer_pending": false
},
{
"shift_id": "90522",
"employee": "Maria Silva",
"shift_type": "Opening",
"start": "2026-10-30T06:00",
"end": "2026-10-30T14:00",
"break_minutes": 30,
"section": "Harbor Cafe",
"offer_pending": false
}
]
}