Skip to content

Latest commit

 

History

History
51 lines (41 loc) · 2.61 KB

api.md

File metadata and controls

51 lines (41 loc) · 2.61 KB

API and MCP

REST API

The dashboard uses the same API you can call. Authenticate with an API key from Settings, API keys:

curl -H "Authorization: Bearer tlk_..." https://tracelet.example.com/api/projects/1/issues

Some useful endpoints:

Method and path What it does
GET /api/projects/{project}/issues Issues, filtered with query=is:unresolved and sorted with sort=last_seen
PATCH /api/projects/{project}/issues/{issue} Resolve, ignore or assign an issue
GET /api/projects/{project}/events Recent analytics events
POST /api/projects/{project}/query Run an insight: kind is trends, funnel, retention, stickiness, lifecycle or paths; trends also take display, compare and cumulative
GET /api/projects/{project}/traces Recent traces
GET /api/projects/{project}/logs Search logs with q, severity and service
GET /api/projects/{project}/replays Session recordings
POST /api/projects/{project}/sql Run a read-only ClickHouse query over this project (query:run); /sql/export streams CSV (export:run)
GET /api/projects/{project}/cohorts Cohorts; use {"type": "cohort", "value": id} as an insight filter or flag property
GET /api/projects/{project}/experiments/{id}/results Exposures, conversions and win probabilities per variant
GET /api/projects/{project}/surveys/{id}/results Shown, answered and per-question breakdowns
GET /api/projects/{project}/monitors Cron monitors with their recent check-ins
GET /api/projects/{project}/uptime/{id}/results Uptime over 24 hours, 7 and 30 days, and recent probes
DELETE /api/projects/{project}/persons/{person} Erase a person with their events and recordings (needs person:delete; audited). Events sent later with one of their distinct ids create a new person, so stop tracking them in your app as well
POST /api/projects/{project}/releases/{release}/files?name=... Upload a bundle or source map

Errors come back as JSON with a stable code and a readable message.

MCP server

Tracelet is an MCP server at /mcp, so AI assistants can read and act on your data with the permissions of an API key. Add it to an MCP client with the URL and the key as a bearer token:

{
  "mcpServers": {
    "tracelet": {
      "url": "https://tracelet.example.com/mcp",
      "headers": { "Authorization": "Bearer tlk_..." }
    }
  }
}

Tools: list_projects, list_issues, get_issue, resolve_issue, query_insight, list_flags and set_flag_enabled. Each call is checked against the key's permissions, exactly like the API.