Flow Unified API
API ReferenceRestaurant

Employee · employee

Portable restaurant labor employee contract with stable identity and core staffing fields.

Entity type: employee · Methods: GET · POST

Portable restaurant labor employee contract with stable identity and core staffing fields.

Endpoints

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

Schema

FieldTypeRequiredDescription
externalIdstringYesStable employee identifier. Used as the idempotency key on writes.
namestringYesDisplay name of the employee.
nicknamestringNickname or short display label.
emailstring · emailEmployee email when available.
rolestringRole such as ADMIN, MANAGER, EMPLOYEE, or a system-specific labor role.
employeeCodestringSystem-specific employee code / custom id.
activebooleanWhether the employee is active.
isOwnerbooleanWhether the employee is marked as owner.

Example object

{
  "externalId": "emp_2214",
  "name": "Marcus Turner",
  "nickname": "Marc",
  "email": "marcus@emberhospitality.com",
  "role": "MANAGER",
  "employeeCode": "EMP-2214",
  "active": true,
  "isOwner": false
}

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

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

// Or walk every page — the SDK follows the cursor for you
for await (const employee of client.records.iterate(accountId, 'employee')) {
  await save(employee);
}
push employee
curl -X POST "https://api.linktoany.com/unified/{accountId}/employee" \
  -H "accept: application/json" \
  -H "authorization: Bearer ak_<your_api_key>" \
  -H "content-type: application/json" \
  -d '{"externalId":"emp_2214","name":"Marcus Turner","nickname":"Marc","email":"marcus@emberhospitality.com","role":"MANAGER","employeeCode":"EMP-2214","active":true,"isOwner":false}'
push employee · SDK
await client.records.create(accountId, 'employee', {
  externalId: 'emp_2214',
  name: 'Marcus Turner',
  nickname: 'Marc',
  email: 'marcus@emberhospitality.com',
  role: 'MANAGER',
  employeeCode: 'EMP-2214',
  active: true,
  isOwner: false
});

Supported systems

SystemReadWriteAuthRate limit
Clover (Asia Pacific)YesYesAPI token5 req / 6s
Clover (US)YesYesAPI token5 req / 6s
Lightspeed K-SeriesYesOAuth 2.0100 req / 60s
ToastYesAPI token5 req / s
Shift4YesOAuth 2.05 req / s

On this page