https://use.observer/api/v1. All endpoints
require an Authorization: Bearer <api_key> header. Keys are scoped
per organisation and per capability (read:metrics, write:incidents, etc.).
Pick an operation from the sidebar to view its parameters, request /
response schemas, and a working curl example.
To check what a key can do, call GET /me. It
needs no scope and returns the key’s scopes, the plan, quotas with
current usage, and the rate limits.
For config-as-code, the observer command-line tool wraps the config
endpoints so you can apply and export from version control. See
Command-line tool.
Conventions
- Timestamps in responses are RFC 3339 in UTC with millisecond
precision, for example
2026-01-31T12:00:00.123Z. Date-only values stayYYYY-MM-DD. Request parameters such assinceaccept an ISO 8601 date or date-time; one without an offset is read as UTC. - Lists return
{ "items": [...], "next_cursor": ... }. Passlimit(default 50, at most 200) and, for the next page,cursorset to the previousnext_cursor.next_cursorisnullon the last page.GET /pagespages the same way, ordered by subdomain. - Incidents and maintenances list newest first by creation time.
Each list item carries
type(IncidentorMaintenance). Thestatefilter takesopen,resolvedorall(the default): an incident is resolved once it has been resolved, and a maintenance once it has completed, been canceled or been resolved; everything else is open. - Incident messages (
messages[]) carry onlyid,type,descriptionanddate, oldest first. - Incident notes:
GET /incidents/{id}/notesreturnsitemsandnext_cursor(alwaysnull: an incident holds at most 500 notes). The same list is also returned asdata, a deprecated alias kept for one release. Readitems. - Errors are problem details with a stable
title. See Errors and status codes.

