Docs
API referencePeople and H R

List positions

Preview· P9
GET
/positions

Returns your organisation's positions by title, each with who holds it now. Filter by department, or by status: vacant lists your vacancies.

Scope: people:read · Plan: Pro and Enterprise in live mode; every plan in test mode.

Authorization

headerAuthorizationBearer <token>

Send Authorization: Bearer <token> on every request. The token is one of:

PrefixWhat it isWhere it may be used
agoo_sk_live_Secret key, live modeYour servers only
agoo_sk_test_Secret key, test modeYour servers only
agoo_pk_live_Publishable key, live modeBrowsers 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 modeAs 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: people:read

Query Parameters

department_id?string

Only positions in this department.

Match^dept_[0-7][0-9a-hjkmnp-tv-z]{25}$
Example"dept_01kjsd2v80e5q7m3c9x4ht6wfa"
status?string

Only positions in this state.

Value in"filled""vacant""frozen""closed"

Response Body

Your positions.

application/json
  1. response
data*array<>
next_cursor*|

Pass this as cursor to get the next page. null on the last page.

Example"b3BhcXVlLWN1cnNvcg"
has_more*boolean
curl -X GET 'https://api.agoohq.com/v1/positions'
{  "data": [    {      "id": "pos_01m6h1a3c5e7g9j1k3m5n7p9qr",      "object": "position",      "title": "Head of Operations",      "department_id": "dept_01kjsd2v80e5q7m3c9x4ht6wfb",      "site_id": "site_01kjpt3yw0fz0v414608h9x65s",      "reports_to_id": null,      "grade": "G9",      "fte": 1,      "status": "filled",      "budgeted": true,      "holder_id": "person_01kjsf3c00ecxs9b3k1hw7wq2n",      "held_since": "2024-02-01",      "created_at": "2026-10-12T08:30:00Z",      "updated_at": "2026-10-12T08:30:00Z"    },    {      "id": "pos_01m6h2k4q8e7r9t1v3w5x7y9za",      "object": "position",      "title": "Senior operations officer",      "department_id": "dept_01kjsd2v80e5q7m3c9x4ht6wfb",      "site_id": "site_01kjpt3yw0fz0v414608h9x65s",      "reports_to_id": "pos_01m6h1a3c5e7g9j1k3m5n7p9qr",      "grade": "G6",      "fte": 1,      "status": "vacant",      "budgeted": true,      "holder_id": null,      "held_since": null,      "created_at": "2026-10-12T08:40:00Z",      "updated_at": "2026-10-12T08:40:00Z"    }  ],  "next_cursor": null,  "has_more": false}