Skip to main content
Use Teamcamp through Corsair: one client, typed API calls. Every call goes through 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
With multiTenancy: true, scope calls with corsair.withTenant(id). See Quick start for KEK + Hub keys, and Multi-tenancy for account isolation.
3

Choose authentication

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 workspace
Create a task in a project
See the full list on the API page.

What’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.