List shifts
List shifts of a unit or section in a date range, with who works them.
MCP tool quinyx_read → list_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. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "quinyx_read",
"arguments": {
"operation": "list_shifts",
"arguments": {
"group_id": "group_8c41d2",
"from": "from",
"to": "to"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"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
}
]
},
"isError": false
}