List leave types
Returns your organisation's leave types, in the order the Console shows them, archived ones included
(archived: true). Agoo seeds them from Ghana's Labour Act (15 working days' annual leave, s.20; 12 weeks'
maternity, s.57) and HR keeps them in the Console. A private type (sick and maternity leave by default) is
listed, but leave of that type comes back as away.
Scope: attendance:read · Plan: Pro and Enterprise in live mode; every plan in test mode.
AuthorizationBearer <token>Send Authorization: Bearer <token> on every request. The token is one of:
| Prefix | What it is | Where it may be used |
|---|---|---|
agoo_sk_live_ | Secret key, live mode | Your servers only |
agoo_sk_test_ | Secret key, test mode | Your servers only |
agoo_pk_live_ | Publishable key, live mode | Browsers and apps: create pre-registrations and bookings, read public booking types (with their intake questions) and their free slots, read the visit types open for pre-registration with their public forms. Never lists people. |
agoo_pk_test_ | Publishable key, test mode | As above, in test mode |
Admins create keys in Console → Developers → API keys and choose each key's scopes. A key is shown once. Never put a secret key in a URL, a browser or a mobile app.
Scope: attendance:read
The leave types.
application/json- response
data*array<>next_cursor*|Pass this as cursor to get the next page. null on the last page.
"b3BhcXVlLWN1cnNvcg"has_more*booleancurl -X GET 'https://api.agoo.ardent.africa/v1/leave-types'{ "data": [ { "id": "ltype_01m4y8r6t0e9k2b7c5d3f1g0hj", "name": "Annual leave", "kind": "annual", "colour": "gold", "code": "LV-ANNUAL", "paid": true, "unit": "working_days", "allowance_basis": "year", "allowance": 15, "half_days": true, "certificate": "never", "certificate_after_days": null, "approval": "required", "can_decline": true, "private": false, "archived": false, "created_at": "2026-10-14T00:00:00Z", "updated_at": "2026-10-14T00:00:00Z" } ], "next_cursor": null, "has_more": false}Withdraw a consent POST
Records that the person withdrew their consent. New capture of that evidence stops straight away, and a method that needs it is no longer offered to them (they use another method, or the kiosk's fallback). For face, every kiosk is told to delete the person's template. Evidence already recorded is kept until its retention date. Acknowledgements can't be withdrawn (`invalid_state`): your organisation requires that evidence. A consent already withdrawn is returned as it is. **Scope:** `attendance:manage` · **Plan:** Pro and Enterprise in live mode; every plan in test mode.
List leave requests GET
Returns leave requests, newest first by their first day: waiting for a decision (`pending`), `approved`, `declined` and `cancelled`. Filter by person, status, type, and dates (leave overlapping `from` to `to`). A private type of leave (sick and maternity by default) comes back as `kind: away` and `type_name: Away`, with `type_id`, `reason` and `decision_note` null: integrations never see what it is. Certificates never leave Agoo. **Scope:** `attendance:read` · **Plan:** Pro and Enterprise in live mode; every plan in test mode.