API Overview
The Reordinal API is a REST API over JSON.
Base URL: https://api.reordinal.comThe public surface lives under /api/v1 and authenticates with a workspace
API key in the X-API-Key header:
curl https://api.reordinal.com/api/v1/jobs \
-H "X-API-Key: $REORDINAL_API_KEY"Keys are minted by workspace owners/admins. See Authentication and API keys & scoping.
Response envelope
Every response, success or failure, uses the same envelope:
{ "status": "success", "data": { /* result */ } }{ "status": "fail", "error": { "code": "V1_RESOURCE_NOT_FOUND", "message": "Resource not found" } }Branch on status; error.code is stable and machine-matchable. The full
table is in Errors.
Scoping
A key sees only its workspace, optionally narrowed to claimed teams/jobs.
Anything outside that scope returns 404 V1_RESOURCE_NOT_FOUND (never 403),
so keys can’t probe for resources they can’t reach.
Rate limits
120 requests per minute per key (default). Exceeding it returns
429 V1_RATE_LIMITED with a Retry-After header giving the seconds to wait.
Reads are free. The only metered call is
POST /api/v1/applications/:id/ats/rerun, at one credit per
rerun.
Endpoints
| Method | Path | Doc |
|---|---|---|
| GET | /api/v1/jobs | Jobs |
| GET | /api/v1/jobs/:jobId | Jobs |
| GET | /api/v1/jobs/:jobId/applications | Candidates |
| GET | /api/v1/applications/:applicationId | Candidates |
| GET | /api/v1/applications/:applicationId/resume | Candidates |
| GET | /api/v1/applications/:applicationId/ats | Candidates |
| PATCH | /api/v1/applications/:applicationId/stage | Actions |
| PATCH | /api/v1/applications/:applicationId/tags | Actions |
| POST | /api/v1/applications/:applicationId/ats/rerun | Actions |
| GET | /api/v1/applications/:applicationId/comments | Candidates |
| POST | /api/v1/applications/:applicationId/comments | Actions |
Key management (/api/orgs/:orgId/api-keys) is JWT-authenticated and covered
in Authentication.
Surface scope
v1 is deliberately read-heavy with exactly four writes: stage moves, tags, ATS
reruns, and comments. Comments are the plugin’s flagship write; they are
attributed to the key’s workspace owner and marked with
source: "claude_plugin". Destructive and lifecycle operations (archiving
candidates, editing contact details, reviewer scores, pipeline control) are
dashboard-only.