Getting kitchen fulfillment data

Overview

Note

Access to this endpoint requires an active subscription to Toast Restaurant Management Suite Pro or higher. If you make a request without the proper access, you’ll receive a 204 error.

Send a GET request to the /kitchen/v1/export/itemFulfillments endpoint of the kitchen API to get a JSON object containing a data array with details about kitchen fulfillment of items for a specified date. The data includes details such as the item name, when the ticket was fired, when the item was fulfilled, and the level of fulfillment.

Note

Menu item fulfillment data is only available if you use kitchen display system (KDS) devices.

You must include a businessDate query parameter, using the YYYYMMDD format, to identify which date of kitchen fulfillment data you want to retrieve. Historical kitchen item fulfillment data is available starting from January 2022.

Best practices

The /kitchen/v1/export/itemFulfillments endpoint of the kitchen API contains all fulfillment data for a single day. Toast Support recommends using it at the end of the day to bulk export data.

Understanding the ItemFulfillment object

Value name

Definition

restaurantGuid

The unique identifier assigned to the restaurant by the Toast platform.

orderGuid

The unique identifier assigned to the order by the Toast platform.

selectionGuid

The unique identifier assigned to the Selection object of an order by the Toast platform.

selectionMenuItemGuid

The unique identifier assigned to the menu item by the Toast platform.

selectionMenuItemName

The descriptive name for the menu item, if available. For example, “Caesar Salad” or “Turkey Sandwich”.

selectionMenuItemMultiLocationId

An identifier used to identify and consolidate menu entities that are versions of each other. For more information about multi-location identifiers, see Toast identifiersToast identifiers.

ticketGuid

The unique identifier assigned to the kitchen ticket by the Toast platform.

ticketFiredAt

The time and date when the ticket for the menu item was fired to the kitchen, in ISO format.

itemFulfilledAt

The time and date when the item was fulfilled, in ISO format.

itemStartedAt

The time and date when an employee started working on the item, in ISO format. If the restaurant does not use the start queue feature, this value is the same as the ticketFiredAt value.

itemFulfllmentLevel

The level of fulfillment for the menu item:

  • 0 indicates fulfillment at the prep station level. This is only for a single prep station. If a menu item uses multiple prep stations, an ItemFulfillment object exists for each prep station that reaches this level.

  • 1 indicates fulfillment at the first-level expediter.

  • 2 indicates fulfillment at the second-level expediter. This is only used if you have Two-Level Fulfillment enabled.

An ItemFulfillment object exists for each level of fulfillment reached by the menu item.

prepStationGuid

The unique identifier assigned to the prep station by the Toast platform, if available. If more than one prep station is assigned to the menu item, an ItemFulfillment object exists for each prep station.

This value is null if the itemFulfillmentLevel value is 1 or 2.

prepStationName

The descriptive name for the prep station, if available. For example, “Grill/Fry” or “Drinks”. If more than one prep station is assigned to the menu item, an ItemFulfillment object exists for each prep station.

This value is null if the itemFulfillmentLevel value is 1 or 2.

prepStationMultiLocationId

An identifier used to identify and consolidate prep stations that are versions of each other. If more than one prep station is assigned to the menu item, an ItemFulfillment object exists for each prep station.

This value is null if the itemFulfillmentLevel value is 1 or 2. For more information about multi-location identifiers, see Toast identifiers.

diningOptionGuid

The unique identifier assigned to the dining option by the Toast platform, if available.

diningOptionName

The descriptive name for the dining option associated with the menu item, if available. For example, “Take Out” or “Dine In”.

diningOptionBehavior

The dining behavior associated with the dining option used for the order. For more information about dining options and dining behaviors, see Dining options.

courseGuid

The unique identifier assigned to the course associated with the menu item, if available.

courseName

The descriptive name for the course associated with the menu item, if available. For example, “Appetizer” or “Dessert”.

orderSource

Indicates the way the order was placed. For example, IN_STORE, ONLINE, or API.

Example request

The following curl command sends a GET request to the /kitchen/v1/export/itemFulfillments endpoint.

curl -X GET \
‘https://[toast-api-hostname]/kitchen/v1/export/itemFulfillments?1businessDate=20260131’ \2
  -H ‘Authorization: Bearer [token]’ \3
  -H ‘Content-Type: application/json’ \4
  -H ‘Accept: application/json’ \5
  -H "Toast-Restaurant-External-ID: 95a96d7b-dbf5-46d3-98c5-c65c8ad18021"6

1

Send a GET request to the /kitchen/v1/export/itemFulfillments endpoint of the kitchen API.

2

Specify the date for the kitchen item fulfillment data you are retrieving using the businessDate query parameter with the format YYYYMMDD. You can only retrieve data for a single date.

3

Include an authentication token. For more information, see Authentication and restaurant access.

4

Set the data type of the message body to application/json.

5

Optionally, set the acceptance requirement for returned data to application/json.

6

Specify the GUID of the restaurant you are requesting data from. This must be the GUID of an individual restaurant. It cannot be the GUID of a restaurant group.

Example response

The following example shows the response data from the /kitchen/v1/export/itemFulfillments endpoint.

Note

An ItemFulfillment object exists for each level of fulfillment reached by the menu item. For example, if menu item Ramen is fulfilled by prep stations and expediter KDS devices, there is an array for fulfillment at the prep station level and another array for fulfillment at the expediter level.

[
    {
        "restaurantGuid": "95a96d7b-dbf5-46d3-98c5-c65c8ad18021",
        "orderGuid": "f8e4ae5e-ccbd-49e5-81e8-947d673c30ad",
        "selectionGuid": "98bca966-4969-4314-9a8a-8486340164d2",
        "selectionMenuItemGuid": "025d8278-edc3-409a-a16e-c082ccd9e5a5",
        "selectionMenuItemName": "Ramen",
        "selectionMenuItemMultiLocationId": "800000000001234567",
        "ticketGuid": "e3dd31e1-78bb-47e4-a1a3-7c14c9f8c8ff",
        "ticketFiredAt": "2026-02-24T17:09:27Z",
        "itemFulfilledAt": "2026-02-24T17:12:26Z",
        "itemStartedAt": "2026-02-24T17:09:27Z",
        "itemFulfillmentLevel": 0,1
        "prepStationGuid": "95a97b2d-31a2-46a3-8592-5fb5fb74cf13",
        "prepStationName": "Food",
        "prepStationMultiLocationId": "600000000004865548",
        "diningOptionGuid": "5a3dd0fd-48e0-4f32-8dc4-500784498477",
        "diningOptionName": "Dine In",
        "diningOptionBehavior": "DINE_IN",
        "courseGuid": null,
        "courseName": null,
        "orderSource": "IN_STORE"
    },
    {
        "restaurantGuid": "95a96d7b-dbf5-46d3-98c5-c65c8ad18021",
        "orderGuid": "f8e4ae5e-ccbd-49e5-81e8-947d673c30ad",
        "selectionGuid": "98bca966-4969-4314-9a8a-8486340164d2",
        "selectionMenuItemGuid": "025d8278-edc3-409a-a16e-c082ccd9e5a5",
        "selectionMenuItemName": "Ramen",
        "selectionMenuItemMultiLocationId": "800000000001234567",
        "ticketGuid": "e3dd31e1-78bb-47e4-a1a3-7c14c9f8c8ff",
        "ticketFiredAt": "2026-02-24T17:09:27Z",
        "itemFulfilledAt": "2026-02-24T17:19:46Z",
        "itemStartedAt": "2026-02-24T17:09:27Z",
        "itemFulfillmentLevel": 1,2
        "prepStationGuid": null,
        "prepStationName": null,
        "prepStationMultiLocationId": null,
        "diningOptionGuid": "5a3dd0fd-48e0-4f32-8dc4-500784498477",
        "diningOptionName": "Dine In",
        "diningOptionBehavior": "DINE_IN",
        "courseGuid": null,
        "courseName": null,
        "orderSource": "IN_STORE"
    },
    {
        "restaurantGuid": "95a96d7b-dbf5-46d3-98c5-c65c8ad18021",
        "orderGuid": "98bca966-4969-4314-9a8a-8486340164d2",
        "selectionGuid": "e3dd31e1-78bb-47e4-a1a3-7c14c9f8c8ff",
        "selectionMenuItemGuid": "d1a45259-de30-48fc-950b-7ff2b3a31c75",
        "selectionMenuItemName": "Yakisoba",
        "selectionMenuItemMultiLocationId": "100000000987654321",
        "ticketGuid": "98bca966-4969-4314-9a8a-8486340164d2",
        "ticketFiredAt": "2026-02-24T17:06:10Z",
        "itemFulfilledAt": "2026-02-24T17:10:00Z",
        "itemStartedAt": "2026-02-24T17:06:10Z",
        "itemFulfillmentLevel": 0,
        "prepStationGuid": "2659d1bb-3265-41f5-8c59-7f51859fff9f",
        "prepStationName": "Grill/Fry",
        "prepStationMultiLocationId": null,
        "diningOptionGuid": "5a3dd0fd-48e0-4f32-8dc4-500784498477",
        "diningOptionName": "Dine In",
        "diningOptionBehavior": "DINE_IN",
        "courseGuid": null,
        "courseName": null,
        "orderSource": "IN_STORE"
    },
    {
        "restaurantGuid": "95a96d7b-dbf5-46d3-98c5-c65c8ad18021",
        "orderGuid": "98bca966-4969-4314-9a8a-8486340164d2",
        "selectionGuid": "e3dd31e1-78bb-47e4-a1a3-7c14c9f8c8ff",
        "selectionMenuItemGuid": "d1a45259-de30-48fc-950b-7ff2b3a31c75",
        "selectionMenuItemName": "Yakisoba",
        "selectionMenuItemMultiLocationId": "100000000987654321",
        "ticketGuid": "98bca966-4969-4314-9a8a-8486340164d2",
        "ticketFiredAt": "2026-02-24T17:06:10Z",
        "itemFulfilledAt": "2026-02-24T17:10:44Z",
        "itemStartedAt": "2026-02-24T17:06:10Z",
        "itemFulfillmentLevel": 1,
        "prepStationGuid": null,
        "prepStationName": null,
        "prepStationMultiLocationId": null,
        "diningOptionGuid": "5a3dd0fd-48e0-4f32-8dc4-500784498477",
        "diningOptionName": "Dine In",
        "diningOptionBehavior": "DINE_IN",
        "courseGuid": null,
        "courseName": null,
        "orderSource": "IN_STORE"
    },
    [content omitted]
]

1

The itemFulfillmentLevel value is 0, meaning the object is about prep station level fulfillment. Prep station values are available.

2

The itemFulfillmentLevel value is 1, meaning the object is about expediter level fulfillment. Prep station values are not applicable and are null.

Error responses

Status code

Name

Description

204

No Content

No data is returned because the restaurant does not have an active subscription to Toast Restaurant Management Suite Pro or higher.

400

Bad Request

The request is invalid. This often occurs when the syntax of the request is incorrect.

401

Unauthorized

The authentication token is not recognized. For more information, see Authentication and restaurant access.

403

Forbidden

The request is not permitted. This means you do not have access to the restaurant or location.

404

Not Found

The endpoint was not found.

500

Internal Server Error

There was an unexpected server error.

For more information about Toast API responses and errors, see API responses and errors.