Base URL
Authentication
Every endpoint requires an API key (called an ingestion key in the dashboard) in thex-api-key header:
401 with "message": "API key is required"; an invalid or revoked key returns:
Make your first request
/overview reference is on the Analytics page.
Common query parameters
Most endpoints accept a subset of these parameters:
Two validation rules apply everywhere:
- Numeric parameters must be non-negative integers (
windowmust be positive); anything else (limit=abc,offset=-1,window=0) returns400. Values outside the allowed range are clamped to the nearest bound, not rejected. - Enum parameters (
mode,time_range,environment,outcome,kind,family, …) return400for values outside the documented set:
Limits
Pagination
Three patterns are in use:-
limit+offset— most list endpoints. Responses carry apaginationobject; keep incrementingoffsetbylimitwhilehas_moreistrue: -
limitonly —/searchhas nooffset. Itspaginationobject reportslimit,returned, andhas_more; narrow the query or time range instead of paging deeper. -
Keyset cursors — the problem sub-resources (
/reports,/conversations,/evidence) returnpagination.next_cursor; pass it back ascursorto fetch the next page.
Endpoints
Errors
Error bodies follow one shape;
message is a string or an array of validation messages:
Lookups of unknown IDs generally do not return
404. GET /clusters/:nodeId/conversations returns 200 with cluster: null, and GET /problems/:id returns 200 with found: false. Check those fields instead of relying on the status code.Next steps
- Search — find the exact message where something happened, then jump to its context.
- Signals — read frustration, emotion, tool-failure, and hallucination detections.
- Problems — read the ranked problem list and send feedback.
- CLI overview — the same data from the terminal, with agent-friendly JSON output.