Skip to content
Browse the docs

Console · Published 2026-09-28 · Updated 2026-09-28 · AgentiSend

Metrics

Counts and rates for 24 hours, 7 days, 30 days or 90 days, by domain and by key. Rate tiles stay hidden when the window is small.

Metrics are at /metrics. The ranges are 24 hours, 7 days, 30 days and 90 days. The default is 30 days. 24 hours is the last day.

The line labelled performance is how long this screen took to load. It is not a send budget. Send budgets are on Agents.

What the screen calls

One call fills the screen: GET /metrics with since, until and group_by=domain,api_key. A domain or a key narrows it. The screen turns the range into since and until. It does not send the range name.

curl -sS -X GET https://api.agentisend.com/metrics \
  -H "Authorization: Bearer $AGENTISEND_API_KEY"
200
{
  "by_api_key": [],
  "by_domain": [],
  "event": "sent",
  "previous": {
    "bounced": -9007199254740991,
    "clicks": -9007199254740991,
    "complaints": -9007199254740991,
    "delivered": -9007199254740991,
    "opens": -9007199254740991,
    "sent": -9007199254740991
  },
  "series": [],
  "since": "example",
  "totals": {
    "bounced": -9007199254740991,
    "clicks": -9007199254740991,
    "complaints": -9007199254740991,
    "delivered": -9007199254740991,
    "opens": -9007199254740991,
    "sent": -9007199254740991
  },
  "until": "example"
}
Response

Delivery, bounce, complaint and open rates are hidden when the window has fewer than 100 sends. Under that, one address moves the percentage more than a change you made. Widen the range or wait for volume.

A sending-only key cannot read metrics. A viewer signed in to the console can.

{
  "error": {
    "code": "restricted_api_key",
    "message": "This API key is restricted to sending only.",
    "fix": "Use a full_access key (POST /api-keys with permission=full_access) for management endpoints.",
    "docs_url": "https://agentisend.com/docs/errors#restricted_api_key",
    "retryable": false
  }
}

Limits of the screen

Mail with no key is a breakdown row whose id is none. Clicking that row sends api_key_id=none. The API requires a key id, so the call is refused:

{
  "error": {
    "code": "validation_error",
    "message": "Error in one or more fields.",
    "fix": "Correct the fields listed in the error details and retry the request.",
    "docs_url": "https://agentisend.com/docs/errors#validation_error",
    "retryable": false
  }
}

The note under the key table points at API keys for budgets and the kill switch. Those controls are on Agents, not on API keys.

Next