EvoHub DocsEvoHub Docs Sign in

List audit log entries

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"
    }
  }
}
GET/api/v1/retro/audit-logs

Changes made in Retro across the organization, newest first: boards created, renamed, moved, reshared, closed, reopened and deleted; people and teams added and removed; columns, cards and action items created, changed and deleted. Send both resource_type and resource_id to see one resource's history; one without the other is ignored.

Requires the retro:audit:read scope.

Authorization

Any one of:

Parameters

Query parameters

  • resource_type string
    The kind of resource, sent with resource_id.
    One of: board column card action_item
  • resource_id string
    The resource's ID, sent with resource_type.
    Example: brd_3f9a1c7e2b8d4a60
  • limit integer
    How many entries to return. Values above 500 are read as 500; a value that is not a positive integer is ignored.
    Default: 100 · Minimum: 1 · Maximum: 500

Responses

200

The entries; [] when there are none.

Content type: application/json

Type: object

  • success boolean
  • data array of AuditLogEntry
    Show AuditLogEntry properties
    • id string
      Example: aud_1c7e9a3f5b2d8046
    • org_id string
    • user_id string
      Who made the change (for an organization key, the key's ID).
    • resource_type string
      One of: board column card action_item
    • resource_id string
    • action string
      What happened, for example board.created, board.updated, board.team_changed, board.visibility_changed, board.share_mode_updated, board.share_token_rotated, board.closed, board.reopened, board.deleted, board.member_set, board.member_removed, board.team_shared, board.team_unshared, column.created, column.updated, column.deleted, card.created, card.updated, card.deleted, card.merged, action_item.created, action_item.updated, action_item.deleted.
      Example: board.closed
    • actor_type string
      Example: user
    • details object
      What changed; left out when there is nothing to add.
      Other keys: any
    • created_at string (date-time)

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

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 GET 'https://evohub.io/api/v1/retro/audit-logs' \
  -H 'Authorization: Bearer <TOKEN>'