Skip to content

API

CardBoard exposes four integration surfaces with different audiences and stability commitments.

A small, stable REST surface over five resources. Authentication is HTTP Basic (username is your email, password is your API key), and your organization must have API access enabled.

PathVerbs
/api/mapsGET, POST
/api/maps/:idGET, PUT, DELETE
/api/maps/:map_id/cardsGET, POST
/api/maps/:map_id/cards/:idGET, PUT, DELETE
/api/maps/:map_id/cards/:id/badgeGET
/api/maps/:map_id/cards/:card_id/card_commentsPOST, PATCH
/api/users, /api/users/:idGET

Card groups, release slices, connections, reactions, and stickers are not exposed via REST today. Use the MCP server for those. Results are paginated (default 10 per page; page_length=0 returns everything).

For AI agents to read maps, propose changes, and answer when they’re summoned. Authenticated with OAuth 2.0 (mcp scope) at POST /mcp; clients register themselves, and access tokens refresh. Connect from Settings → Agents (/my/agents), which has setup guides for Claude (Desktop, Code, and claude.ai), ChatGPT, Cursor, and GitHub Copilot. Any MCP client works. MCP is free on every plan.

Read tools

ToolWhat it returns
list_mapsMaps you can open
get_mapA map’s cards, connections, card groups, release slices, tracker links, and its map type’s rules and anti-patterns
get_cardsA map’s cards, in full or summary, optionally scoped to a subtree or a slice
get_cardOne card with its parents, children, connections, groups, citations, and proposal history
searchMatches across your workspaces, as pointers (use get_card for the content)
get_mentionsYour open summons: cards where someone @mentioned an agent for you

Write tools

ToolWhat it does
create_mapCreates a map from a map type or from Mermaid (flowchart, mindmap, sequenceDiagram). Direct, not a proposal.
propose_card / propose_cardsOne card, or up to 50 in one batch with up to 10 new release slices on a story map
propose_card_updateTitle, description, acceptance criteria, status, type, or color
propose_card_moveMoves a card to a new lane, slice, parent, or position
propose_card_deleteDeletes a card when accepted
propose_connection / propose_connection_deleteAdds or removes a connection
propose_groupNames a release slice or groups cards
propose_commentPosts a comment as the agent. Direct, not a proposal. This is how an agent answers a summon.

Proposals follow a ghost model: they don’t change the map until a person accepts them, on the canvas or in the Activity drawer. Each ghost shows the connecting tool and the person driving it; accepted work is credited to the person who accepted it.

Summons. Mentioning @Claude (or another connected agent) in a card comment summons that member’s agent to the card. MCP is pull-based, so the summon waits until the agent calls get_mentions. The agent replies once with propose_comment and can propose up to 25 changes per summon.

Directing an agent requires workspace member identity. The agent acts in your name, so the same accountability rule as tracker writes applies: a guest can’t drive one. Workspace admins can turn agent access off from the Security settings.

Specialized endpoints used by CardBoard’s own integrations (the Atlassian/Microsoft marketplace apps, the ADO extension UI, and connector status checks). Not intended for general third-party use.

CardBoard receives inbound webhooks: Stripe (billing) and tracker events from ADO and Jira. Outbound webhooks (CardBoard notifying your systems of card or comment events) are not available today.