Flow Unified API
API ReferenceRestaurant

Shift · shift

Portable restaurant labor shift / timecard contract.

Entity type: shift · Methods: GET

Portable restaurant labor shift / timecard contract.

Endpoints

GET  /unified/{accountId}/shift  # List normalized shift records

Schema

FieldTypeRequiredDescription
externalIdstringYesStable shift or timecard identifier.
employeeExternalIdstringEmployee / team-member identifier.
startAtstring · ISO 8601Shift start time.
endAtstring · ISO 8601Shift end time when closed.
updatedAtstring · ISO 8601Last updated timestamp.
stateenumNormalized labor-shift state. Values: OPEN, COMPLETED.

Example object

{
  "externalId": "shf_88213",
  "employeeExternalId": "emp_2214",
  "startAt": "2026-07-08T15:00:00Z",
  "endAt": "2026-07-08T23:00:00Z",
  "updatedAt": "2026-07-08T23:02:14Z",
  "state": "COMPLETED"
}

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

pull shift
curl "https://api.linktoany.com/unified/{accountId}/shift?pageSize=10" \
  -H "accept: application/json" \
  -H "authorization: Bearer ak_<your_api_key>"
pull shift · SDK
const page = await client.records.list(accountId, 'shift', {
  pageSize: 10,
});

for (const shift of page.data) {
  console.log(shift);
}

// Or walk every page — the SDK follows the cursor for you
for await (const shift of client.records.iterate(accountId, 'shift')) {
  await save(shift);
}

Supported systems

SystemReadWriteAuthRate limit
SquareYesOAuth 2.05 req / s
Lightspeed K-SeriesYesOAuth 2.0100 req / 60s
ToastYesAPI token5 req / s

On this page