OnworkDevelopers

Getting started

The Onwork public API is a tenant-scoped REST API: every request is authenticated with an API key that belongs to one company, and can only ever see that company's data.

Base URL:

https://<your-onwork-host>/api/public/v1

1. Get an API key

API keys are created by a company administrator inside Onwork:

Settings → Company → API keys → New API key

Pick a name, an optional expiration and the scopes the integration needs (e.g. users:read). The full key — format owk_<key_id>_<secret> — is shown once at creation time. Store it in a secret manager; if you lose it, revoke it and create a new one.

The Public API module must be active for the company (it is active by default; an administrator can disable it).

2. Make your first request

curl https://<your-onwork-host>/api/public/v1/users \
  -H "X-Api-Key: owk_your_key_id_your_secret"

A successful response:

{
  "data": [
    {
      "id": "65f000000000000000000001",
      "email": "[email protected]",
      "first_name": "Mario",
      "last_name": "Rossi",
      "active": true,
      "language": "it",
      "created_at": "2026-01-10T09:00:00Z",
      "updated_at": "2026-06-01T14:30:00Z"
    }
  ],
  "pagination": { "page": 1, "per_page": 25, "total": 1, "total_pages": 1 }
}

3. Handle errors

Every non-2xx response uses the same machine-readable envelope:

{
  "error": {
    "code": "unauthorized",
    "message": "Invalid or missing API key",
    "status": 401
  }
}

See the Errors guide for the full code catalog.

Next steps