Category · category
Portable restaurant category contract. externalId and name are the core portable fields. Parent hierarchy is kept as parentExternalId when sources provide it.
Entity type:
category· Methods: GET · POST
Portable restaurant category contract. externalId and name are the core portable fields. Parent hierarchy is kept as parentExternalId when sources provide it.
Endpoints
GET /unified/{accountId}/category # List normalized category records
POST /unified/{accountId}/category # Create / push one categorySchema
| Field | Type | Required | Description |
|---|---|---|---|
externalId | string | Yes | Stable source category identifier. Used as the idempotency key on writes. |
name | string | Yes | Display name of the category / menu group. |
description | string | — | Optional category description when the source provides it. |
parentExternalId | string | — | Source parent category identifier for hierarchy-aware systems. |
active | boolean | — | Whether the category is active / not deleted. |
imageIds | string[] | — | Optional source image identifiers when available. |
Example object
{
"externalId": "cat_burgers",
"name": "Burgers & Sandwiches",
"description": "Grilled mains and handhelds.",
"parentExternalId": "cat_mains",
"active": true
}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
curl "https://dev.flow.staging.linktoany.com/api/1.0/standalone-link-engine-service/unified/{accountId}/category?mappingKey={readKey}&pageSize=50" \
-H "authorization: Bearer <token>"curl -X POST "https://dev.flow.staging.linktoany.com/api/1.0/standalone-link-engine-service/unified/{accountId}/category?mappingKey={writeKey}" \
-H "authorization: Bearer <token>" \
-H "content-type: application/json" \
-d '{"externalId":"cat_burgers","name":"Burgers & Sandwiches","description":"Grilled mains and handhelds.","parentExternalId":"cat_mains","active":true}'Supported systems
| System | Read | Write | Auth | Rate limit |
|---|---|---|---|---|
| Square | Yes | — | OAuth 2.0 | 5 req / s |
| Clover (Asia Pacific) | Yes | Yes | API token | 5 req / 6s |
| Clover (US) | Yes | Yes | API token | 10 req / s · 100 req / min |
| Lightspeed K-Series | Yes | — | OAuth 2.0 | 100 req / 60s |
Restaurant
Menu, customer, order, and labor entities normalized across restaurant platforms — Square, Toast, Clover, and Lightspeed K-Series.
Customer · customer
Portable restaurant customer contract. firstName and lastName are optional for read portability, but Square and Clover write targets require a given name.