# GET /api/v1/metrics/rates

Auth: Bearer

HTML: https://cooperemail.com/docs/reference/metrics-rates

## Summary

sent, bounced, complained, bounce_rate, and complaint_rate. sent counts outbound messages in the window. bounced and complained count messages whose labels include those names. Rates are bounced/sent and complained/sent, or 0 when sent is 0. start and end follow the same 90-day rules as events (400 invalid_range, 400 invalid_date). Counts only. MCP: cooper_get_metrics with kind rates.

## Query

```json
?start=2026-10-01T00:00:00.000Z&end=2026-10-10T00:00:00.000Z&inbox_id=inb_…
```

## Response

HTTP 200. Sample values illustrate the schema.

```json
{
  "sent": 1,
  "bounced": 1,
  "complained": 1,
  "bounce_rate": 1,
  "complaint_rate": 1
}
```

## Errors

- HTTP 400 invalid_range
- HTTP 400 invalid_date

The live `message` is the sentence for that code. Branch on `code`.

```json
{
  "error": {
    "type": "invalid_request",
    "code": "invalid_range",
    "docs_url": "https://cooperemail.com/docs#invalid_range"
  }
}
```

## Idempotency

This route does not document Idempotency-Key or client_id.
