DocsAPI reference

Agent analytics

Overview and daily series for one agent.

get/api/agents/{agent_id}/analytics
Authentication
Bearer token
Retries
Safe to repeat
Body
None
Version
2026-09-03

Carries an ETag, because this is the panel a dashboard polls. A client that revalidates gets a 304 and no body at all - which on a 90-day series is kilobytes per poll, and on a phone is the difference between a refresh that feels instant and one that does not.

Path parameters#

  • agent_idstringrequired

Query parameters#

  • date_fromstring (date-time) | null
  • date_tostring (date-time) | null
  • daysinteger

    Default: 30·≥ 1 and ≤ 365

Responses#

  • 200OKapplication/json

    any

    5 response headers
    RateLimit-Limit

    Requests permitted in the current window.

    RateLimit-Remaining

    Requests left in the current window. Back off before it reaches 0.

    RateLimit-Reset

    Seconds until the current window resets.

    X-API-Version

    The dated version of the API contract that served this response, e.g. 2026-09-03. Pin against it; it changes only when a response shape changes incompatibly.

    X-Request-ID

    Quote this in a support request to identify the call.

  • 422Validation error

    The shared error envelope, served as application/problem+json with error.code set to validation_error. Its details name each field that failed and why.

Errors#

Failures use one envelope on every endpoint, described in Retries, versioning and limits. The codes you are most likely to meet here:

  • validation_error · 422 — The payload was well-formed JSON but failed schema validation.
  • unauthenticated · 401 — The request carried no API key, or one the API could not verify.
  • forbidden · 403 — The key is valid, but it is not allowed to do this — either the scope is missing or the resource belongs to another workspace.
  • rate_limited · 429 — Too many requests in the current window. The limit is per workspace, and some endpoints add a per-agent limit on top.

More Dashboard endpoints#

Something unclear or missing? Tell us and we’ll fix it.