EvoHub DocsEvoHub Docs Sign in

Add a card

Use with AI
View as MarkdownThis page as plain text, for pasting into an AI tool Open in ClaudeAsk Claude questions about this page Open in ChatGPTAsk ChatGPT questions about this page
Connect to Cursor / VS Code / ClaudeSearch and read these docs from your AI tool (MCP server)

MCP server URL

https://docs.evohub.io/mcp

Claude Code

claude mcp add --transport http evohub-docs https://docs.evohub.io/mcp

Claude (claude.ai and Claude Desktop): Settings → Connectors → Add custom connector, and paste the URL above.

Claude Desktop — claude_desktop_config.json

{
  "mcpServers": {
    "evohub-docs": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://docs.evohub.io/mcp"
      ]
    }
  }
}

Cursor — ~/.cursor/mcp.json

{
  "mcpServers": {
    "evohub-docs": {
      "url": "https://docs.evohub.io/mcp"
    }
  }
}

VS Code — .vscode/mcp.json

{
  "servers": {
    "evohub-docs": {
      "type": "http",
      "url": "https://docs.evohub.io/mcp"
    }
  }
}
POST/api/v1/retro/boards/{boardID}/columns/{columnID}/cards

Adds a card to a column of an active board. The card does not say who wrote it; the caller can later edit and delete it as its author.

Requires the retro:card:write scope.

Authorization

Any one of:

Parameters

Path parameters

  • boardID string required
    The board's ID.
    Example: brd_3f9a1c7e2b8d4a60
  • columnID string required
    The column's ID.
    Example: col_1a2b3c4d5e6f7a80

Request body required

Content type: application/json

Type: CardContentRequest

  • content string required

Responses

201

The card was added.

Content type: application/json

Type: CardEnvelope

  • success boolean
  • data Card
    Show Card properties
    • id string
      Example: crd_8d0c4b6e1a9f2357
    • board_id string
    • column_id string
    • content string
    • created_at string (date-time)
    • reactions array of Reaction
      Only when a whole board is read; left out when there are none.
      Show Reaction properties
      • emoji string
      • count integer
      • reacted boolean
        Whether the caller reacted with this emoji.
    • comments array of Comment
      Only when a whole board is read; left out when there are none.
      Show Comment properties
      • id string
        Example: cmt_4e6a8c0b2d1f3957
      • card_id string
      • board_id string
      • content string
      • created_at string (date-time)
    • vote_score integer
      The net of agree (+1) and disagree (-1) votes.
    • my_vote integer
      The caller's own vote on the card.
      One of: -1 0 1

400

The body is not JSON (INVALID_BODY), or content is missing or blank (MISSING_CONTENT).

Content type: application/json

Type: Error

  • success boolean
    Sent by Retro itself; refusals before the request reaches Retro (401, 429) carry only error.
    Value: false
  • error object required
    • code string required
      Example: NOT_FOUND
    • message string required
      Example: board not found
    • request_id string

401

No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).

Content type: application/json

Type: Error

  • success boolean
    Sent by Retro itself; refusals before the request reaches Retro (401, 429) carry only error.
    Value: false
  • error object required
    • code string required
      Example: NOT_FOUND
    • message string required
      Example: board not found
    • request_id string

403

The key lacks the scope this endpoint needs (FORBIDDEN).

Content type: application/json

Type: Error

  • success boolean
    Sent by Retro itself; refusals before the request reaches Retro (401, 429) carry only error.
    Value: false
  • error object required
    • code string required
      Example: NOT_FOUND
    • message string required
      Example: board not found
    • request_id string

404

The board is not one the caller can see (NOT_FOUND), or the column is not on it (COLUMN_NOT_FOUND).

Content type: application/json

Type: Error

  • success boolean
    Sent by Retro itself; refusals before the request reaches Retro (401, 429) carry only error.
    Value: false
  • error object required
    • code string required
      Example: NOT_FOUND
    • message string required
      Example: board not found
    • request_id string

409

The board is closed and its content cannot change (BOARD_CLOSED). Reopen it first.

Content type: application/json

Type: Error

  • success boolean
    Sent by Retro itself; refusals before the request reaches Retro (401, 429) carry only error.
    Value: false
  • error object required
    • code string required
      Example: NOT_FOUND
    • message string required
      Example: board not found
    • request_id string

429

Too many requests (RATE_LIMITED). Wait for Retry-After seconds.

Headers

  • Retry-After integer
    Seconds to wait before retrying.

Content type: application/json

Type: Error

  • success boolean
    Sent by Retro itself; refusals before the request reaches Retro (401, 429) carry only error.
    Value: false
  • error object required
    • code string required
      Example: NOT_FOUND
    • message string required
      Example: board not found
    • request_id string

500

Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.

Content type: application/json

Type: Error

  • success boolean
    Sent by Retro itself; refusals before the request reaches Retro (401, 429) carry only error.
    Value: false
  • error object required
    • code string required
      Example: NOT_FOUND
    • message string required
      Example: board not found
    • request_id string

Example request

curl -X POST 'https://evohub.io/api/v1/retro/boards/brd_3f9a1c7e2b8d4a60/columns/col_1a2b3c4d5e6f7a80/cards' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <TOKEN>' \
  -d '{
  "content": "The new deploy pipeline saved hours"
}'