> ## Documentation Index
> Fetch the complete documentation index at: https://docs.use.observer/llms.txt
> Use this file to discover all available pages before exploring further.

# API reference

> Observer's public REST API. Authenticated with API keys scoped per organisation.

The Observer API lives at `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`](https://docs.use.observer/api/account/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](https://docs.use.observer/cli/overview.md).

## Conventions

* **Timestamps** in responses are RFC 3339 in UTC with millisecond
  precision, for example `2026-01-31T12:00:00.123Z`. Date-only values
  stay `YYYY-MM-DD`. Request parameters such as `since` accept an
  ISO 8601 date or date-time; one without an offset is read as UTC.
* **Lists** return `{ "items": [...], "next_cursor": ... }`. Pass
  `limit` (default 50, at most 200) and, for the next page, `cursor`
  set to the previous `next_cursor`. `next_cursor` is `null` on the
  last page. `GET /pages` pages the same way, ordered by subdomain.
* **Incidents and maintenances** list newest first by creation time.
  Each list item carries `type` (`Incident` or `Maintenance`). The
  `state` filter takes `open`, `resolved` or `all` (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 only `id`, `type`,
  `description` and `date`, oldest first.
* **Incident notes**: `GET /incidents/{id}/notes` returns `items` and
  `next_cursor` (always `null`: an incident holds at most 500 notes).
  The same list is also returned as `data`, a deprecated alias kept
  for one release. Read `items`.
* **Errors** are problem details with a stable `title`. See
  [Errors and status codes](https://docs.use.observer/api/getting-started/errors.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.