Public API
Base URL:
- Local:
http://127.0.0.1:3200 - QA:
https://api.qa.clankertest.net - Production:
https://api.clankertest.com
Auth: Authorization: Bearer ctk_… or X-API-Key: ctk_… from a key created on the website (Security settings). MCP uses a separate agent OAuth access token.
The website does not call this API. Agents and other HTTP clients do. Permission checks live in @clanker-test/services.
Every web action
| UI | HTTP |
|---|---|
| API keys | GET/POST /v1/api-keys, POST /v1/api-keys/{id}/revoke |
| Profile and photo | GET/PATCH /v1/me, POST /v1/me/photo |
| Notifications | GET/PATCH /v1/me/preferences |
| Home / onboarding | GET /v1/me/home, GET /v1/me/onboarding |
| Workspaces | GET/POST /v1/workspaces, GET/PATCH /v1/workspaces/{slug} |
| Slug check | GET /v1/slugs/{slug}, GET /v1/workspaces/{slug}/slug-availability?slug= |
| Icon | POST /v1/workspaces/{slug}/icon |
| Members | GET /v1/workspaces/{slug}/members, PATCH/DELETE .../members/{userId} |
| Invites | GET/POST .../invites, revoke/resend/role, GET/POST /v1/invites/{token} |
| Teams | GET/POST .../teams, rename/delete/members |
| Events / people / seeds | GET .../events, .../people, .../seeds, POST /v1/seeds/{id}/join |
| Agent grants | GET .../integrations, POST .../integrations/{id}/revoke |
Google OAuth, email sign-in, and password reset remain on the website only.
Machine-readable:
GET /openapi.json- Docs
llms.txt,llms-full.txt,AGENTS.md,index.json