APIs
Resorcerer has two programmatic surfaces. They cover much the same ground and differ in who they’re for:
| For | Endpoint | |
|---|---|---|
| REST API | Scripts, integrations, and anything that wants a stable HTTP contract. | /api/rest/v1 |
| MCP server | AI assistants. See Connect AI agents. | /api/mcp |
On the hosted app, prefix both with https://app.resorcerer.ai.
Authentication
Section titled “Authentication”Both surfaces take a personal access token as a bearer token:
Authorization: Bearer <your-token>Create one under My Settings → Access Tokens. The token is shown once, at creation — store it then, because it can’t be retrieved afterwards. Administrators can review and revoke every token in the organization from the Access Tokens page.
A token carries a scope, chosen when you create it: which categories of resource it reaches and whether it may write. It never has more access than the person who created it, and per-model permissions still apply — a token can’t read a private model its owner can’t. Revoking a token takes effect immediately.
A token belongs to one organization, and every call is interpreted within it. There’s no cross-organization call.
Interactive reference
Section titled “Interactive reference”The REST surface publishes an OpenAPI document and a browsable reference page. Reach them from the API button in the app header — that’s the authoritative, always-current description of every endpoint, parameter, and response shape, generated from the running service.
What follows is the map, not the specification.
Resources
Section titled “Resources”Everything lives under /api/rest/v1.
| Resource | Operations |
|---|---|
/models |
List, read, create, update, delete. |
/models/{id}/copy |
Copy a model, with or without its assignments. |
/models/{id}/timeline |
Read the model’s position in a timeline of snapshots. |
/models/{id}/units |
List and create units within a model. |
/models/{id}/slots |
List and create positions within a model. |
/units/{id} |
Read, update, delete. |
/slots/{id} |
Read, update, delete. |
/people |
List, read, create, update, delete. |
/roles, /levels, /locations, /companies |
List, read, create, update, delete. |
/labels |
List, read, create, update, delete. |
Units and positions are created within a model and addressed directly thereafter.
Reading uses GET, creating POST, partial updates PATCH, and removal DELETE.
A deletion is recoverable from Trash exactly as it is in
the app — DELETE is not destructive.
Versioning
Section titled “Versioning”The path carries the major version (v1), and responses echo the version they were
served by in an X-API-Version header. Additive changes — new fields, new endpoints —
happen within a version, so parse defensively and ignore fields you don’t recognize.
Rate limits
Section titled “Rate limits”Calls are rate-limited per token. A client that exceeds its allowance is told so with
a 429; back off and retry rather than tightening the loop.
Which surface to use
Section titled “Which surface to use”Reach for REST when you know what you want to do: syncing people from an HR system, exporting headcount into a dashboard, creating models from another tool.
Reach for MCP when something needs to explore — an assistant that has to look around before it knows what to ask for. See Connect AI agents.
Related
Section titled “Related”- Connect AI agents — the MCP surface in detail.
- Work with your team — tokens, members, and permissions.