API referenceReputation

List per-agent reputation

List per-agent reputation (fleet view)

Endpoint
GET https://api.dairo.app/v1/agents/reputation

Lists the reputation snapshot for every agent in your account that has been evaluated at least once, ordered most-recently-tripped first (lastTrippedAt descending, then agentId). Each entry carries the agent's breaker state (healthy, throttled, quarantined, or review), its verdict (allow, throttle, block, review), a shouldSend boolean, the last-evaluated bounceRate and complaintRate, the window counts (sent, bounces, complaints), and lastReason/lastTrippedAt/lastEvaluatedAt, and overrideLocked/overrideLockedUntil (an owner's or admin's time-limited dashboard override, at most 24 hours). The response is a list envelope with fleet-level window and thresholds siblings; it is not paginated — pagination.nextCursor is always null and hasMore always false, and the full set comes back in one call. The rates here are the cached values from each agent's last evaluation, not live; for fresh numbers read a single agent with GET /v1/agents/{id}/reputation. Agents that have never been evaluated have no snapshot and won't appear. Requires the agents:read scope.

Scope: agents:read. Send the API key as a bearer token; Scopes lists what each one reaches.

Request

cURL
curl "https://api.dairo.app/v1/agents/reputation" \
  -H "Authorization: Bearer $DAIRO_API_KEY"

Response

200 Success. Body: application/json, AgentReputationListResponse.

FieldTypeRequiredDescription
object"list"yes
dataarray of AgentReputationSummaryyes
paginationPaginationyes
windowobjectno
thresholdsobjectno
200
{
  "object": "list",
  "data": [
    {
      "object": "agent_reputation",
      "agentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "state": "healthy",
      "verdict": "allow",
      "shouldSend": true,
      "bounceRate": 0,
      "complaintRate": 0,
      "window": {
        "sent": 0,
        "bounces": 0,
        "complaints": 0
      },
      "lastReason": null,
      "lastTrippedAt": "2026-10-19T09:30:00Z",
      "lastEvaluatedAt": "2026-10-19T09:30:00Z",
      "overrideLocked": true,
      "overrideLockedUntil": "2026-10-19T09:30:00Z",
      "updatedAt": "2026-10-19T09:30:00Z"
    }
  ],
  "pagination": {
    "nextCursor": "string",
    "hasMore": true
  },
  "window": {
    "hours": 0
  },
  "thresholds": {}
}

Errors

Every error has the same body, {"error": {"type", "code", "message", "param"}}; branch on code. Errors lists every code.

StatusMeaning
400The request is malformed or a value is invalid (invalid_request, invalid_domain, idempotency_key_mismatch).
401The API key is missing or invalid.
403The key lacks the scope this endpoint needs (scope_missing) or may not do this (not_permitted).
404No such resource in this account (resource_not_found).
422The request is well-formed but a field failed validation (validation_failed).
429Rate limit, plan limit, budget or spend cap reached (rate_limited, plan_limit_reached, budget_exceeded, spend_cap_reached).
500An unexpected error; retry with backoff, then contact support (internal_error).

On this page