HR API
Bramble HR: the people directory and org chart, time off (requests, approvals, balances, adjustments and dated allowance changes), documents with acknowledgements, and onboarding and leaver checklists. HR policy, leave types and checklist templates are in the Admin Centre API.
- Address
https://<your-org>.brambleit.cloud/hr- Sign-in
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in). - Endpoints
- 39
- OpenAPI
- hr.json
- Guides
- How HR works
Signing in
These endpoints use a signed-in browser session. From your own systems, use Flows webhooks and Bramble steps, or the main API with an API key. See Calling the API.
Who can see and change what. Everyone can see the directory. People can edit some of their own details; HR admins (Global Administrator or HR Admin) can edit everyone's; managers approve time off for anyone below them in the reporting line.
Days. Time off is counted in working days for that person (their
work_days), skipping bank holidays and company closures. Half days work
when the organisation's HR policy allows them.
Resources
People
The directory, one person's record, new starters, removing people, and emergency contacts.
| Method | Path | Summary |
|---|---|---|
| GET | /api/me | Who you are: the signed-in person and what they can do here |
| GET | /api/people | The directory |
| GET | /api/people/:id | Get a person's HR record |
| PATCH | /api/people/:id | Update a person's HR record |
| POST | /api/people | New starter (before their account exists) — HR admins only |
| DELETE | /api/people/:id | Remove someone from HR (a mistake, a duplicate, a service account) |
| POST | /api/people/:id/contacts | Add an emergency contact |
| PUT | /api/people/:id/contacts/:cid | Update an emergency contact |
| DELETE | /api/people/:id/contacts/:cid | Remove an emergency contact |
| GET | /api/activity | Recent HR activity |
Time off
Balances, requests and approvals, previews (how many days a request would use), the team calendar, adjustments, and dated allowance changes.
| Method | Path | Summary |
|---|---|---|
| GET | /api/leave/balance | A person's time-off balance |
| GET | /api/leave/requests | List time-off requests |
| POST | /api/leave/preview | How many days a request would use |
| POST | /api/leave/requests | Request time off |
| POST | /api/leave/requests/:id/decide | Approve or decline time off |
| POST | /api/leave/requests/:id/cancel | Cancel time off |
| POST | /api/leave/adjustments | Add or take away days |
| DELETE | /api/leave/adjustments/:id | Remove an adjustment |
| POST | /api/leave/allowance-changes | From a leave year on, someone's allowance is days a year ('set') or days on top of the policy ('extra') |
| DELETE | /api/leave/allowance-changes/:id | Remove an allowance change |
| GET | /api/leave/calendar | Who's off when |
| GET | /api/leave/types | Leave types |
Documents
A person's documents (contracts, right-to-work…) and company documents people must acknowledge. Files are stored encrypted in Bramble.
| Method | Path | Summary |
|---|---|---|
| GET | /api/documents | List documents |
| GET | /api/documents/expiring | HR: documents expiring in the next 60 days or already expired |
| POST | /api/documents | Upload a document |
| GET | /api/documents/:id/file | Download a document |
| PATCH | /api/documents/:id | Update a document's details |
| DELETE | /api/documents/:id | Delete a document |
| POST | /api/documents/:id/ack | Acknowledge a document |
| GET | /api/documents/:id/acks | HR: who has and hasn't acknowledged a company document |
Checklists
Onboarding and leaver checklists made from templates, their tasks, and your own open tasks.
| Method | Path | Summary |
|---|---|---|
| GET | /api/checklists | List checklists |
| GET | /api/checklists/tasks/mine | Open tasks that are the viewer's to do, across every checklist |
| GET | /api/checklists/templates | Checklist templates |
| GET | /api/checklists/:id | Get a checklist |
| POST | /api/checklists | Start a checklist |
| POST | /api/checklists/:id/tasks | Add a task |
| POST | /api/checklists/tasks/:tid/toggle | Tick or untick a task |
| DELETE | /api/checklists/tasks/:tid | Delete a task |
| DELETE | /api/checklists/:id | Cancel a checklist |
Web pages
These return pages for the browser rather than data.
GET /GET /sw.js