Skip to main content
OnTime exposes three ways to work with it programmatically.

Public REST API

Key-authenticated, read-only. Pull employees and attendance into your own systems.

Webhooks

Outbound, HMAC-signed. OnTime posts to you when something happens.

MCP server

Lets an AI agent operate OnTime as a specific employee. See the AI & MCP tab.

Base URL

Two API surfaces, one host

Only /api/public/v1/* is a supported integration surface.The rest of /api/* is what the OnTime web and mobile apps call. It is documented in the API Reference for completeness, it authenticates with a session cookie rather than an API key, and it may change without notice. Build against /api/public/v1/*.

Your first request

1

Issue a key

In the admin console, API & webhooks → Issue key. You need the api:manage permission.
The key is displayed once. OnTime stores only a hash — there is no way to retrieve it later.
2

Call the API

3

Read the response

Every public endpoint returns the same envelope: a meta object and a data array.
4

Register a webhook

So you find out when something happens rather than polling for it. API & webhooks → Register webhook, then verify the signature — see Webhooks.

What the public API covers

Two endpoints:
The public API is read-only. There are no write endpoints. A key issued with the ReadWrite scope currently grants exactly the same access as ReadOnly — see Authentication.If you need to write, use the MCP server (which does support writes, under the bound employee’s permissions) or the admin console.

Rate limit

600 requests per minute, per key. Exceeding it returns 429 with {"error": "too_many_requests"}.
Counters are held in process memory, so a backend restart resets them. Treat 600 as the intended budget rather than a hard guarantee, and back off on 429 regardless.

Where to go next

Authentication

Keys, scopes, headers and secret handling.

Errors

The error envelope and what each status means.

Webhooks

Registering, verifying signatures, retries and replay.

Guides

Worked end-to-end integrations.