API reference
About this reference
The web app, integrations and (later) the native apps all use one versioned REST API under /api/v1. These pages are generated at build time from the committed OpenAPI 3.1.0 snapshot (packages/core/openapi/v1.snapshot.json), which is itself generated from the route declarations in packages/core. A running server also serves the live document at GET /api/v1/openapi.json.
- Within v1, changes are additive only. Breaking changes need
/api/v2, and v1 stays for at least 12 months after that. See API conventions. - Access names the row of the permission matrix the server checks. Records outside your organisation or scope answer
404. - Money is in integer cents (fields end in
Cents). Fields marked sensitive are omitted for readers without access. - Browser clients use the session cookie; native apps use
Authorization: Bearer. There are no API keys for third-party integrations yet.
Endpoints by area
| Area | Endpoints | Public |
|---|---|---|
| Approvals | 15 | 0 |
| Attendance | 15 | 0 |
| Audit log | 2 | 0 |
| Authentication | 16 | 14 |
| Claims | 27 | 0 |
| Documents | 25 | 0 |
| Employees | 17 | 0 |
| Leave | 30 | 0 |
| Me | 11 | 0 |
| Members and roles | 14 | 0 |
| Meta | 2 | 2 |
| Native apps | 3 | 2 |
| Notifications | 7 | 0 |
| Organisation | 17 | 0 |
| Payroll | 26 | 0 |
| Payslips | 3 | 0 |
| People | 11 | 0 |
| Reports | 3 | 0 |
| Scheduling | 23 | 0 |
| Security settings | 6 | 0 |
| Setup | 3 | 3 |
| System | 1 | 0 |
| Total | 277 | 21 |