---
title: "Break metrics down by email, sequence or recipient"
method: GET
path: "/metrics/breakdown"
tags: ["Analytics"]
---

# Break metrics down by email, sequence or recipient

`GET /metrics/breakdown`

## Request

- Base URL: `https://api.sequenzy.com/api/v1`
- URL: `https://api.sequenzy.com/api/v1/metrics/breakdown`
- Auth: HTTP bearer

Returns the delivery funnel for each value of one dimension, most sends first, so you can find the email, sequence, provider or domain behind a number and drill into it. Rows count the sends made in the window and the engagement they earned. Defaults to the last 30 days and 25 rows.

## Query parameters

- `by` 'email' | 'sequence' | 'email_type' | 'mailbox_provider' | 'recipient_domain'
- `period` '1h' | '24h' | '7d' | '30d' | '90d'
- `start` string, date-time
- `end` string, date-time
- `emailType` 'campaign' | 'transactional' | 'sequence'
- `mailboxProvider` string
- `recipientDomain` string
- `source` string
- `outcome` 'permanent_bounce' | 'temporary_bounce' | 'blocked' | 'complaint'
- `limit` integer
- `includeMachineEngagement` boolean

## Response `200`

Success

- object
  - `success` boolean, required
  - `by` string, required
  - `period` string: Applied period, or `custom` when start/end were provided.
  - `start` string, date-time, required
  - `end` string, date-time, required
  - `emailType` string
  - `mailboxProvider` string
  - `recipientDomain` string
  - `source` string
  - `outcome` string
  - `rows` object[], required
    - `key` string, required: Dimension value (an id, email type, provider or domain). Empty when the events predate the column.
    - `label` string, required
    - `detail` string, nullable: Secondary label, such as the sequence an email step belongs to.
    - `filter` object, nullable: The filter that narrows a later request to this row: `{kind: "source", source: {type, id}}` (pass as `source=<type>:<id>`), `{kind: "email_type", emailType}`, `{kind: "mailbox_provider", mailboxProvider}` or `{kind: "recipient_domain", recipientDomain}`. Null when the row cannot be drilled into.
    - `sent` integer, required
    - `delivered` integer, required
    - `opened` integer, required
    - `clicked` integer, required
    - `bounced` integer, required
    - `complained` integer, required
    - `unsubscribed` integer, required
    - `deliveryRate` number, required: Percentage of sent.
    - `openRate` number, required: Percentage of delivered.
    - `clickRate` number, required: Percentage of delivered.
    - `bounceRate` number, required: Percentage of sent.
    - `unsubscribeRate` number, required: Percentage of delivered.
    - `conversions` integer: Attributed goal conversions. Provider and domain come from the send each conversion is attributed to.
    - `revenue` number: Attributed revenue in currency units.

## Other responses

- `400`: Invalid dimension, period, date range, email type, mailbox provider, recipient domain, source, or limit
- `401`: Unauthorized
- `403`: The key lacks analytics read access, or a marketer-role personal key requested transactional email
- `404`: The source is not in this company or not visible to the key
- `500`: Analytics storage error

## Changes

- **2026-10-26** `e2e7d27d7804`: 2 info
  - added the new optional `query` request parameter `outcome`
  - added the optional property `outcome` to the response with the `200` status
- **2026-10-25** `a03cd444a509`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/metrics/breakdown/get.md)

---

[API](https://skmtc.dev/sequenzy/apis/sequenzy-api.md) - [All operations](https://skmtc.dev/sequenzy/apis/sequenzy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sequenzy/apis/sequenzy-api/revisions/8156dc12d8b4?raw)
