Skip to main content

API

What it is used for​

The OpusHub API lets another system read data out of your organisation — checklists, active checklist progress, and Learning Centre assignments and completions. It's a read-only API, meant for connecting OpusHub to reporting tools, dashboards, or other internal systems.

Who can access it​

Admins create and manage API keys, from Settings > Integrations. Any system holding a valid key can read the data covered by that key's scopes — treat a key like a password.

Authentication​

Every request must include the API key in the Authorization header:

Authorization: Bearer oh_live_xxxxxxxxxxxxxxxxxxxxxxxx

A key only ever returns data for the organisation it was created in, and only for the scopes it was granted.

Scopes​

Each API key is created with one or more scopes. A request fails with 403 Forbidden if the key doesn't have the scope an endpoint requires.

  • checklists:read — checklist templates and their active progress.
  • assignments:read — Learning Centre assignments and completions.

Available endpoints​

All endpoints use app.opushub.io as the base URL and are prefixed with /api/v1, e.g. https://app.opushub.io/api/v1/checklists.

MethodEndpointScope requiredReturns
GET/checklistschecklists:readAll checklist templates
GET/checklists/:checklistId/progresschecklists:readProgress runs for a checklist, with task completion counts
GET/assignmentsassignments:readAll Learning Centre assignments
GET/assignments/:assignmentId/completionsassignments:readCompletion status for an assignment, per staff member

Example request:

curl https://app.opushub.io/api/v1/checklists \
-H "Authorization: Bearer oh_live_xxxxxxxxxxxxxxxxxxxxxxxx"

Every response follows the same shape:

{
"success": true,
"data": [ ... ]
}

Step-by-step​

  1. Go to Settings > Integrations.
  2. In the API section, select Create API key.
  3. Name the key so you'll recognise it later (e.g. the system that will use it).
  4. Select the scopes the key needs — grant only what the integration actually uses.
  5. Select Create. The full key is shown once — copy it now.
  6. Store the key somewhere secure, such as the receiving system's secret manager.

Important notes​

  • The full key is only ever shown once, at creation. OpusHub only stores a hash of it — if you lose it, revoke it and create a new one.
  • Revoking a key takes effect immediately; any system still using it starts getting 401 Unauthorized.
  • Requests are rate-limited per key. A system making very frequent requests may see 429 Too Many Requests and should back off and retry.
  • The API is read-only — it can't be used to create, edit or delete anything in OpusHub.

:::info Screenshot placeholder Add screenshot: Settings > Integrations > API section, showing the API key table and the Create API key dialog. :::