Everything you can do in the klerc interface runs through one action registry — and the same actions are exposed over a token-authenticated REST API. This reference is generated from the published OpenAPI 3.1 spec.
Base URL#
All endpoints live under https://api.klerc.co/api/v1. Requests and responses are JSON.
Authentication#
Create a token in Settings → API Tokens and send it as a bearer token:
curl "https://api.klerc.co/api/v1/tasks?limit=25" \ -H "Authorization: Bearer $KLERC_TOKEN"Every operation requires a scope — objects:view, objects:use, query:run and so on — shown beside it in this reference. A token can never do more than your account is allowed to: its scopes are intersected with your live permissions on every request.
Responses#
Successful responses share one envelope:
{ "status": 200, "data": { }, "message": "OK" }Errors carry a machine-readable code:
{ "status": 403, "error": { "code": "…", "message": "…" }, "message": "…" }| Status | Meaning |
|---|---|
401 | Authentication failed — the token is missing, invalid or revoked. |
403 | Insufficient scope, or the feature is switched off for your organisation. |
404 | The resource doesn't exist, or you can't see it. |
Rate limits#
The API allows 600 requests per minute per IP, and authentication endpoints 20 attempts per 15 minutes.