---
title: "Delivery health"
method: GET
path: "/v1/agents/{id}/analytics"
tags: ["Google & carriers"]
---

# Delivery health

`GET /v1/agents/{id}/analytics`

## Request

- Base URL: `https://api.cadencercs.com`
- URL: `https://api.cadencercs.com/v1/agents/{id}/analytics`
- Auth: HTTP bearer

Google **throttles on reputation**, so without this the first sign of a problem is a customer saying their messages stopped arriving. `LOW` is the documented default for a new agent, so the signal is the direction of travel and the unsubscribe reasons, not the letter itself — "too many messages" and "spam" are different problems with different fixes.

Google returns no row at all for an agent-country pair without enough data, which is the normal state early on.

## Path parameters

- `id` string, required

## Response `200`

Per-country metrics, or nulls with a note.

- object
  - `agentId` string, required
  - `countries` object[], required
  - `summary` object, nullable
    - `reputation` 'HIGH' | 'MEDIUM' | 'LOW' | 'REPUTATION_UNSPECIFIED'
    - `trafficLimit` number, nullable
    - `spamTrend28d` number, nullable
    - `asOf` string, nullable
  - `note` string

## Other responses

- `401`: Not signed in, and no account-linked API key was sent.
- `404`: No such agent on this account.
- `500`: Unexpected server error. The body is always JSON.
- `502`: Google rejected the request.
- `503`: RBM not configured.

---

[API](https://skmtc.dev/cadencercs/apis/cadence-api.md) · [All operations](https://skmtc.dev/cadencercs/apis/cadence-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cadencercs/apis/cadence-api/revisions/9438443c2081?raw)
