Create a shift
Add a shift for an employee in a unit or section.
POST https://cotlet.dev/api/v1/quinyx/employees/{employee_id}/shifts
write Confirm
Saves one shift like the Add shift panel. Quinyx scheduling warnings apply: an overridable warning is returned in the response, and a hard stop for a severe compliance breach fails the call with the rule that stopped it. The employee sees the shift once the period is published. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| employee_id string required | string | Employee id from list_employees. Passive employees are rejected. |
| group_id string required | string | Unit or section id from list_groups. |
| shift_type string required | string | Name of a shift type your account has. |
| start string required | string | Start, YYYY-MM-DDTHH:MM. |
| end string required | string | End, YYYY-MM-DDTHH:MM. |
| comment string | string | Optional comment on the shift. |
Request
curl -X POST https://cotlet.dev/api/v1/quinyx/employees/employee_8c41d2/shifts \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"group_id":"group_8c41d2","shift_type":"shift type","start":"start","end":"end"}' result = client.call("quinyx", "create_shift", {"employee_id":"employee_8c41d2","group_id":"group_8c41d2","shift_type":"shift type","start":"start","end":"end"}) const result = await cotlet.call('quinyx', 'create_shift', {"employee_id":"employee_8c41d2","group_id":"group_8c41d2","shift_type":"shift type","start":"start","end":"end"}); cotlet call quinyx create_shift --data '{"employee_id":"employee_8c41d2","group_id":"group_8c41d2","shift_type":"shift type","start":"start","end":"end"}' Example response
{
"shift_id": "90601",
"employee": "Tom Becker",
"shift_type": "Closing",
"start": "2026-10-29T14:00",
"end": "2026-10-29T22:00",
"warnings": []
}