https://api.teamcamp.app/v1.0 with the key in an apiKey header. The published spec names the scheme bearerAuth, but it is declared as an apiKey header and the live API agrees: an Authorization: Bearer token is rejected, the apiKey header is accepted.
List calls answer a bare JSON array. A project delete answers a bare JSON string. Both are returned as this plugin’s own shape: { projects: [...] }, { users: [...] }, and { archived, projectId, message }.
A project read is what makes a task create useful. Its status array holds the workflow columns (Todo, In Progress, Done) with the _id a task’s statusId takes, and projectUsers holds the member ids a task’s taskUsers takes.
Two Teamcamp behaviours worth knowing. A task’s status is a boolean, and its workflow column is statusId, which is a string. A project delete archives rather than erases: the project leaves the project list, but reading it by id still answers it with archived: true.
What you get:
- 12 typed API operations
Setup
1
Install
2
Add the plugin
corsair.ts
multiTenancy: true, scope calls with corsair.withTenant(id). See Quick start for KEK + Hub keys, and Multi-tenancy for account isolation.3
Choose authentication
- API Key (Recommended)
No setup required yet. When you make your first request as a tenant, Corsair prompts for the API key.More: API Key
4
Connect a tenant
Mint a connect link and send the tenant to it. Hub hosts the page and delivers the result to your app — see Connect / OAuth.
Example API calls
List the projects in the workspaceWhat’s next
API reference
Every
teamcamp.api.* operation with input and output types.Connect / OAuth
createLink, Hub delivery, and tenant connect flows.
Use with agents
Expose this plugin’s operations as MCP tools.