Documentation

Everything needed to install the agent, call the API directly, and see what changed between releases.

Conventions

The agent and the API share one version number and one changelog. Versioning is semver-ish: the middle number bumps for additive changes (new endpoint, new optional config key), the last number for fixes. Breaking changes are called out explicitly in the changelog and, where practical, land as a new field alongside the old one for at least one minor release before the old field is removed.

All timestamps in requests and responses are RFC 3339 in UTC. All identifiers (host_id, incident id) are treated as opaque strings — don't parse structure out of them, the format isn't guaranteed to stay stable.

Rate limits

Ingest is limited per host token, not per IP, since one agent can share an egress IP with unrelated traffic. Read endpoints (/v1/hosts, /v1/metrics, /v1/incidents) have a separate, higher limit. Both are documented per endpoint in the API reference; both return 429 with a Retry-After header when exceeded.

API versions

Everything documented here is under /v1. There is no /v2 yet. If a /v2 ever ships with incompatible changes, /v1 stays reachable for at least 6 months afterward, announced ahead of time in the changelog rather than sprung on integrations.

Client libraries

There isn't a maintained SDK. The API is plain JSON over HTTPS, and the agent is a single binary — most people either run the agent as-is or, if they need something custom, call POST /v1/ingest directly from an existing script with curl or whatever HTTP client their language ships with. Examples throughout these docs use curl for that reason, not because it's required.

Something not working? Check current status first, then hello@qooqes.online.