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 employeeSchema
| Field | Type | Required | Description |
|---|---|---|---|
externalId | string | Yes | Stable employee identifier. Used as the idempotency key on writes. |
name | string | Yes | Display name of the employee. |
nickname | string | — | Nickname or short display label. |
email | string · email | — | Employee email when available. |
role | string | — | Role such as ADMIN, MANAGER, EMPLOYEE, or a system-specific labor role. |
employeeCode | string | — | System-specific employee code / custom id. |
active | boolean | — | Whether the employee is active. |
isOwner | boolean | — | Whether 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
curl "https://api.linktoany.com/unified/{accountId}/employee?pageSize=10" \
-H "accept: application/json" \
-H "authorization: Bearer ak_<your_api_key>"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);
}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}'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
| System | Read | Write | Auth | Rate limit |
|---|---|---|---|---|
| Clover (Asia Pacific) | Yes | Yes | API token | 5 req / 6s |
| Clover (US) | Yes | Yes | API token | 5 req / 6s |
| Lightspeed K-Series | Yes | — | OAuth 2.0 | 100 req / 60s |
| Toast | Yes | — | API token | 5 req / s |
| Shift4 | Yes | — | OAuth 2.0 | 5 req / s |