Flow Unified API
API ReferenceRestaurant

Order · order

Portable restaurant order contract with normalized identity, timing, party references, totals, and line items. lineItems[].productExternalId matters for Clover atomic-order writes; currencyCode and locationExternalId matter for Square writes.

Entity type: order · Methods: GET · POST

Portable restaurant order contract with normalized identity, timing, party references, totals, and line items. lineItems[].productExternalId matters for Clover atomic-order writes; currencyCode and locationExternalId matter for Square writes.

Endpoints

GET  /unified/{accountId}/order   # List normalized order records
POST /unified/{accountId}/order   # Create / push one order

Schema

FieldTypeRequiredDescription
externalIdstringYesStable source order identifier. Used as the idempotency key on writes.
orderNumberstringHuman-readable order number / receipt / ticket label.
processedAtstring · ISO 8601Order creation or processing timestamp when available.
customerExternalIdstringSource customer identifier for mapping into target customer ids.
locationExternalIdstringSource location / restaurant / outlet identifier for targets that require a location mapping.
currencyCodestring · ISO 42173-letter currency code when available.
stateenumNormalized order state. Values: OPEN, COMPLETED, CANCELED, PENDING.
notestringInternal or migration note for the order.
totalnumberOrder total in major currency units.
taxTotalnumberOrder tax total in major currency units.
lineItemsobject[]YesNormalized order lines. At least one line is required.
lineItems[].productExternalIdstringSource product / menu-item identifier used for item mapping on push.
lineItems[].namestringLine-item display name.
lineItems[].quantitynumber · > 0YesOrdered quantity.
lineItems[].unitPricenumberUnit price in major currency units.
lineItems[].lineTaxnumberLine tax total in major currency units.
lineItems[].lineDiscountnumberLine discount total in major currency units.

Example object

{
  "externalId": "ord_100482",
  "orderNumber": "1043",
  "processedAt": "2026-07-08T19:42:11Z",
  "customerExternalId": "cus_51b8d02",
  "locationExternalId": "loc_downtown",
  "currencyCode": "USD",
  "state": "COMPLETED",
  "total": 41.5,
  "taxTotal": 3.32,
  "lineItems": [
    {
      "productExternalId": "itm_smash_burger",
      "name": "Smash Burger",
      "quantity": 2,
      "unitPrice": 14.5
    },
    {
      "productExternalId": "itm_fries",
      "name": "Fries",
      "quantity": 1,
      "unitPrice": 6,
      "lineDiscount": 1.5
    }
  ]
}

The same shape is used as the POST request body and returned by GET reads — reads from every connected system are normalized to it.

Requests

read order
curl "https://dev.flow.staging.linktoany.com/api/1.0/standalone-link-engine-service/unified/{accountId}/order?mappingKey={readKey}&pageSize=50" \
  -H "authorization: Bearer <token>"
write order
curl -X POST "https://dev.flow.staging.linktoany.com/api/1.0/standalone-link-engine-service/unified/{accountId}/order?mappingKey={writeKey}" \
  -H "authorization: Bearer <token>" \
  -H "content-type: application/json" \
  -d '{"externalId":"ord_100482","orderNumber":"1043","processedAt":"2026-07-08T19:42:11Z","customerExternalId":"cus_51b8d02","locationExternalId":"loc_downtown","currencyCode":"USD","state":"COMPLETED","total":41.5,"taxTotal":3.32,"lineItems":[{"productExternalId":"itm_smash_burger","name":"Smash Burger","quantity":2,"unitPrice":14.5},{"productExternalId":"itm_fries","name":"Fries","quantity":1,"unitPrice":6,"lineDiscount":1.5}]}'

Supported systems

SystemReadWriteAuthRate limit
ToastYesAPI token5 req / s
SquareYesYesOAuth 2.05 req / s
Clover (Asia Pacific)YesYesAPI token5 req / 6s
Clover (US)YesYesAPI token10 req / s · 100 req / min
Lightspeed K-SeriesYesOAuth 2.0100 req / 60s

On this page