Adding a shift and assigning it to an employee

To add a shift and assign it to a restaurant employee, send a POST request to the /labor/v1/shifts endpoint of the labor API.

The response provides information about the shift, including the Toast platform GUID.

For more information about shifts, see Shifts overview.

Example request to add a shift

The following example curl command sends a POST request to the /labor/v1/shifts endpoint.

Example request to add a shift and assign it to an employee

curl -v -X POST \
-H "Authorization: Bearer eyJzI1NiJ9hbGciOiJSU.eyJhd9yaXR5Ij
oiQ1JVTkNIVElNRSIsInJzR3VpZCI6IjE4YzQ5YWJlLWFlODItNGFlYy04ND
M1LWJhYTRjMjVlYTY2MiIsInNjb3BlIjpbImxWQiOlsidG9hc3QiXSwibmFt
aW5nQXV0aGhYm9yIiwib3JkZXJzIiwidXNlcm1nbXQiXSwiZXhwIjoxNDg0M
zg5ODUwLCJqdGkiOiJlMDYzZjJkMy1jNGYyLTRiZjItODJmNi01MTg1NWMzZ
DAxM2YiLCJjbGllbnRfaWQiOiJjcnVuY2h0aW1lIn0.X1_0y9Hzj5F9gdOw2
o6VSYTyZwooAJiFMDmNakbZrtiUdYwLzuLwLpCMQzX5pKYtOqDUz_cetGJL3
txKL1L-K2j1Enoq8An8hEM6e8J0KdAiwrYFO3W3CmWedaoz95K9ghNZVCs28
Td2Sp3Ix3fObxbrvanocx9_OT8S9uM8hdSXmBI_ykTWvOVgK4hO24V3DJy4b
9bz1FtgOvrClhELxCe8dJy7jiwAR60xczlCF5rna98RMLN6zY4ffjmljKFZ6
QV0KkVppWjEiJn7oFHiIylCX1sSg7sddrGatj0xJzts3GJ8u8_lryUNHaEvJ
dWq4Yzwo007AMgxjH9d241Y-g" \
-H "Toast-Restaurant-External-ID: 4622e7a9-b4be-3fef-9220-b3dad273e0b4" \1
-H "Content-Type: application/json" \2
-d @my-shift-information.json \3
"https://[toast-api-hostname]/labor/v1/shifts"

1

Specify the GUID of the restaurant to add the shift to. This must be an individual restaurant, not the GUID for a restaurant group.

2

Specify the data type of the message body in the Content-Type header field. The value must be application/json.

3

Include information about the new employee in the message body of the POST request. This example curl command sends message body data from the contents of a file.


Example shift details for the message body of the request to add a shift

The following example shows the message body data that provides information about the shift.

Example message body for a request to add a shift

{
  "employeeReference": {
    "entityType": "RestaurantUser",
    "guid": "0a7ced2c-b782-4585-8f41-4bb1656c3f67"1
  },
  "inDate": "2026-03-10T08:00:00.000+0000",2
  "jobReference": {
    "entityType": "RestaurantJob",
    "guid": "a674499f-cddd-4b8b-a6b3-6d44147da330"3
  },
  "outDate": "2026-03-10T16:00:00.000+0000"4
}

1

Specify the GUID of the employee who will work the shift.

2

Specify the date and time that the shift begins.

3

Specify the job for the shift in the jobReference value.

4

Specify the date and time that the shift ends.


Example response

The following example shows the response for a POST request to the /labor/v1/shifts resource.

Example response from a request to add a shift

{
    "guid": "793a6744-5ecd-442c-8061-15d170a176b4",1
    "entityType": "Shift",
    "externalId": null,
    "outDate": "2026-03-10T16:00:00.000+0000",
    "createdDate": "2026-02-24T02:43:19.362+0000",
    "deleted": false,
    "deletedDate": null,
    "employeeReference": {
        "guid": "0a7ced2c-b782-4585-8f41-4bb1656c3f67",
        "entityType": "RestaurantUser",
        "externalId": null
    },
    "modifiedDate": "2026-02-24T02:43:19.362+0000",
    "inDate": "2026-03-10T08:00:00.000+0000",
    "scheduleConfig": {
        "guid": "3400e832-891f-427c-aca8-536a7231c57e",
        "minBeforeClockIn": 60.0,
        "minAfterClockIn": 60.0,
        "minBeforeClockOut": 60.0,
        "minAfterClockOut": 60.0
    },
    "jobReference": {
        "guid": "a674499f-cddd-4b8b-a6b3-6d44147da330",
        "entityType": "RestaurantJob",
        "externalId": null
    }
}

1

The guid value contains the GUID that the Toast platform assigns to the shift.