Toast · Schema

Check

Represents a single check within an order. The `externalId` value for a check must be unique. If you submit a check with an `externalId` that already exists for another check, the request will fail. You can use this behavior to implement idempotent check submission by always providing a consistent `externalId` for each unique check attempt.

Food ServicePoint-of-SaleRestaurantHospitality

Properties

Name Type Description
createdDate string The date and time that the Toast platform received the check.
openedDate string The date on which this check was opened. If not specified, it is set to the current system time.
closedDate string The most recent date on which this check's payment status was set to `CLOSED`.
modifiedDate string The most recent date on which this check was modified.
deletedDate string The date on which this check was deleted. `deletedDate` is only applicable when `deleted` is true. If `deleted` is false, then `deletedDate` is set to the UNIX epoch, `1970-01-01T00:00:00.000+0000`.
deleted boolean Set to `true` if this check was deleted.
selections array
customer object A `Customer` object that holds information about a restaurant guest that is associated with the check. Required for `POST` requests for orders that use the takeout or delivery dining options. For chec
appliedLoyaltyInfo object Information about the customer loyalty program account associated with the check. Used to accrue loyalty program benefits and to redeem loyalty program discounts.
taxExempt boolean Set to `true` if this check is tax exempt.
displayNumber string Generally starts at one each day and counts up. The Toast platform fills this in if it is not specified when the order is POSTed. Not guaranteed to be unique.
appliedServiceCharges array Any restaurant-configured service charges that applied to this check.
amount number The total calculated price of the check including discounts and service charges. The `amount` does not include gratuity or taxes. Response only.
taxAmount number The calculated tax amount. Includes service charge and item level taxes. Response only.
totalAmount number The total calculated price of this check including discounts and taxes. Not affected by refunds.
payments array Payments made on this check.
tabName string The name of the tab on this check. This displays on the KDS (Kitchen Display System) for pending orders. The `tabName` value can contain up to 255 characters.
paymentStatus string The payment status of this check. Valid values: * `OPEN` - There is an outstanding balance. * `PAID` - A credit card payment was applied, but the tip has not been adjusted. * `CLOSED` - There is no re
appliedDiscounts array The discounts applied to this check. In a `POST` request, only one `appliedDiscount` is allowed per check.
voided boolean True if this check is voided. Response only.
voidDate string The date when this check was voided. Response only.
voidBusinessDate integer The business date (yyyyMMdd) on which this check was voided. Response only.
paidDate string The most recent date when this check received payment. If not specified when `POST`ing, it is set to the current system time.
createdDevice object The Toast POS device that created the check. This value is `null` if the check was not created using a Toast POS device.
lastModifiedDevice object The Toast POS device that modified the check most recently. This value is `null` if the check was never modified using a Toast POS device. If the check is modified but the modification was not made us
duration integer The number of seconds between creation and payment. Response only.
openedBy object The restaurant employee, or server, who opened the check.
View JSON Schema on GitHub

JSON Schema

orders-check-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/toast/refs/heads/main/json-schema/orders-check-schema.json",
  "title": "Check",
  "description": "Represents a single check within an order.\n\nThe `externalId` value for a check must be unique. If you submit a check\nwith an `externalId` that already exists for another check, the request\nwill fail. You can use this behavior to implement idempotent check\nsubmission by always providing a consistent `externalId` for each unique\ncheck attempt.\n",
  "type": "object",
  "allOf": [
    {
      "$ref": "#/definitions/ExternalReference"
    },
    {
      "type": "object",
      "required": [
        "selections"
      ],
      "properties": {
        "createdDate": {
          "description": "The date and time that the Toast platform received the check.",
          "type": "string",
          "format": "date-time"
        },
        "openedDate": {
          "description": "The date on which this check was opened. If not specified, it is set to the current system time.",
          "type": "string",
          "format": "date-time"
        },
        "closedDate": {
          "type": "string",
          "format": "date-time",
          "description": "The most recent date on which this check's payment status was set to `CLOSED`."
        },
        "modifiedDate": {
          "type": "string",
          "format": "date-time",
          "description": "The most recent date on which this check was modified."
        },
        "deletedDate": {
          "type": "string",
          "format": "date-time",
          "description": "The date on which this check was deleted.\n\n`deletedDate` is only applicable when `deleted` is true.\n\nIf `deleted` is false, then `deletedDate` is set to the UNIX epoch, `1970-01-01T00:00:00.000+0000`.\n"
        },
        "deleted": {
          "type": "boolean",
          "description": "Set to `true` if this check was deleted."
        },
        "selections": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Selection"
          }
        },
        "customer": {
          "description": "A `Customer` object\nthat holds information about a restaurant guest\nthat is associated with the check.\n\nRequired for `POST` requests for orders that use the\ntakeout or delivery dining options.\n\nFor checks that apply or accrue Toast loyalty points, a\n`GET` request returns a `Customer` object\neven when restaurant employees do not enter guest\ninformation for a check. In this case, the `Customer` object\ncontains only the Toast platform GUID of the guest.\nAll other values are `null`.\n",
          "$ref": "#/definitions/Customer"
        },
        "appliedLoyaltyInfo": {
          "description": "Information about the customer loyalty program account associated with the check. Used to accrue loyalty program benefits and to redeem loyalty program discounts.",
          "$ref": "#/definitions/AppliedLoyaltyInfo"
        },
        "taxExempt": {
          "type": "boolean",
          "default": false,
          "description": "Set to `true` if this check is tax exempt."
        },
        "displayNumber": {
          "type": "string",
          "description": "Generally starts at one each day and counts up. The Toast platform fills this in if it is not specified when the order is POSTed. Not guaranteed to be unique."
        },
        "appliedServiceCharges": {
          "type": "array",
          "description": "Any restaurant-configured service charges that applied to this check.",
          "items": {
            "$ref": "#/definitions/AppliedServiceCharge"
          }
        },
        "amount": {
          "x-toast-read-only": true,
          "type": "number",
          "format": "double",
          "description": "The total calculated price of the check including discounts and service charges. The `amount` does not include gratuity or taxes. Response only."
        },
        "taxAmount": {
          "x-toast-read-only": true,
          "type": "number",
          "format": "double",
          "description": "The calculated tax amount. Includes service charge and item level taxes. Response only."
        },
        "totalAmount": {
          "type": "number",
          "format": "double",
          "description": "The total calculated price of this check including discounts and taxes. Not affected by refunds."
        },
        "payments": {
          "type": "array",
          "description": "Payments made on this check.",
          "minItems": 0,
          "items": {
            "$ref": "#/definitions/Payment"
          }
        },
        "tabName": {
          "type": "string",
          "description": "The name of the tab on this check. This displays on the KDS (Kitchen Display System) for pending orders.\n\nThe `tabName` value can contain up to 255 characters.\n"
        },
        "paymentStatus": {
          "x-toast-read-only": true,
          "type": "string",
          "description": "The payment status of this check.\n\nValid values:\n\n* `OPEN` - There is an outstanding balance.\n\n* `PAID` - A credit card payment was applied, but the tip has not been adjusted.\n\n* `CLOSED`  - There is no remaining amount due on this check. For credit card payments, the payment has been adjusted to reflect the tip. Toast does not prevent a `CLOSED` check from transitioning back to `OPEN` or `PAID`.\n\nResponse only.\n",
          "enum": [
            "OPEN",
            "PAID",
            "CLOSED"
          ]
        },
        "appliedDiscounts": {
          "type": "array",
          "description": "The discounts applied to this check. In a `POST` request, only one `appliedDiscount` is allowed per check.",
          "minItems": 0,
          "items": {
            "$ref": "#/definitions/AppliedDiscount"
          }
        },
        "voided": {
          "x-toast-read-only": true,
          "type": "boolean",
          "description": "True if this check is voided. Response only."
        },
        "voidDate": {
          "x-toast-read-only": true,
          "type": "string",
          "format": "date-time",
          "description": "The date when this check was voided. Response only."
        },
        "voidBusinessDate": {
          "x-toast-read-only": true,
          "type": "integer",
          "description": "The business date (yyyyMMdd) on which this check was voided. Response only."
        },
        "paidDate": {
          "type": "string",
          "format": "date-time",
          "description": "The most recent date when this check received payment. If not specified when `POST`ing, it is set to the current system time."
        },
        "createdDevice": {
          "description": "The Toast POS device that created the check. This value is `null` if the check was not created using a Toast POS device.",
          "$ref": "#/definitions/Device"
        },
        "lastModifiedDevice": {
          "description": "The Toast POS device that modified the check most recently. This value is `null` if the check was never modified using a Toast POS device.\n\nIf the check is modified but the modification was not made using a Toast POS device, then this value does not change.\n",
          "type": "object",
          "$ref": "#/definitions/Device"
        },
        "duration": {
          "x-toast-read-only": true,
          "type": "integer",
          "description": "The number of seconds between creation and payment. Response only."
        },
        "openedBy": {
          "description": "The restaurant employee, or server, who opened the check.",
          "$ref": "#/definitions/ExternalReference"
        }
      }
    }
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/orders-check"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.