> ## Documentation Index
> Fetch the complete documentation index at: https://docs.interchange.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get reporting metrics

> Read delivery metrics for every media buy that flows through your storefront inventory sources

`GET /api/v2/storefront/reporting/metrics`

Returns reporting metrics for every media buy the Merchandising Agent participates in through your storefront's inventory sources. The storefront does not own these media buys — reporting is visible because the Merchandising Agent is the ADCP party to the transactions. The hierarchy is advertiser → media buy → package; there is no campaign level.

## Request

```bash curl theme={null}
curl -G https://api.interchange.io/api/v2/storefront/reporting/metrics \
  -H "Authorization: Bearer $SCOPE3_API_KEY" \
  --data-urlencode "view=summary" \
  --data-urlencode "startDate=2026-01-01" \
  --data-urlencode "endDate=2026-01-31" \
  --data-urlencode "inventorySourceId=source_abc123"
```

## Parameters

| Field               | Type    | Required | Notes                                                                                     |
| ------------------- | ------- | -------- | ----------------------------------------------------------------------------------------- |
| `inventorySourceId` | string  | No       | Scope to one inventory source. Omit to include every source on the storefront             |
| `startDate`         | string  | No       | Start date, `YYYY-MM-DD`                                                                  |
| `endDate`           | string  | No       | End date, `YYYY-MM-DD`                                                                    |
| `days`              | integer | No       | Days to include, `1`–`90` (default `7`). Used when explicit dates are omitted             |
| `view`              | enum    | No       | `summary` (hierarchical breakdown) or `timeseries` (flat per-day rows). Default `summary` |
| `download`          | boolean | No       | When true, returns a signed CSV download URL instead of JSON (default `false`)            |
| `demo`              | boolean | No       | When true, returns auto-generated demo data (default `false`)                             |

## Response

```json theme={null}
{
  "advertisers": [
    {
      "advertiserId": "5521",
      "advertiserName": "Contoso Outdoor",
      "metrics": {
        "impressions": 1284000,
        "spend": 9630.0,
        "clicks": 5136,
        "views": 1100000,
        "completedViews": 742000,
        "conversions": 318,
        "leads": 0,
        "videoCompletions": 742000,
        "ecpm": 7.5,
        "cpc": 1.88,
        "ctr": 0.004,
        "completionRate": 0.675
      },
      "mediaBuys": [
        {
          "mediaBuyId": "mb_88421",
          "name": "Q1 CTV Push",
          "status": "ACTIVE",
          "budget": 12000.0,
          "inventorySourceId": "source_abc123",
          "metrics": { "impressions": 1284000, "spend": 9630.0, "clicks": 5136, "views": 1100000, "completedViews": 742000, "conversions": 318, "leads": 0, "videoCompletions": 742000, "ecpm": 7.5, "cpc": 1.88, "ctr": 0.004, "completionRate": 0.675 },
          "packages": [
            {
              "packageId": "pkg_001",
              "productId": "prod_ctv_premium",
              "productName": "Premium CTV — Sports",
              "metrics": { "impressions": 1284000, "spend": 9630.0, "clicks": 5136, "views": 1100000, "completedViews": 742000, "conversions": 318, "leads": 0, "videoCompletions": 742000, "ecpm": 7.5, "cpc": 1.88, "ctr": 0.004, "completionRate": 0.675 }
            }
          ]
        }
      ]
    }
  ],
  "totals": { "impressions": 1284000, "spend": 9630.0, "clicks": 5136, "views": 1100000, "completedViews": 742000, "conversions": 318, "leads": 0, "videoCompletions": 742000, "ecpm": 7.5, "cpc": 1.88, "ctr": 0.004, "completionRate": 0.675 },
  "periodStart": "2026-01-01",
  "periodEnd": "2026-01-31"
}
```

| Field                                  | Type   | Notes                                                                                                                                           |
| -------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `advertisers[]`                        | array  | Advertiser-level breakdown                                                                                                                      |
| `advertisers[].metrics`                | object | Reporting metrics for the advertiser (see below)                                                                                                |
| `advertisers[].mediaBuys[]`            | array  | Media-buy breakdown, each with `mediaBuyId`, `name`, `status`, `budget` (nullable), `inventorySourceId` (nullable), `metrics`, and `packages[]` |
| `advertisers[].mediaBuys[].packages[]` | array  | Package breakdown with `packageId`, `productId`/`productName` (nullable), `metrics`                                                             |
| `totals`                               | object | Aggregated metrics across all advertisers                                                                                                       |
| `periodStart` / `periodEnd`            | string | Reporting window, `YYYY-MM-DD`                                                                                                                  |

`metrics` carries raw counts (`impressions`, `spend`, `clicks`, `views`, `completedViews`, `conversions`, `leads`, `videoCompletions`) and calculated rates (`ecpm`, `cpc`, `ctr`, `completionRate`, each nullable when undefined).

## Errors

* `400 VALIDATION_ERROR` — malformed date, or `days` outside `1`–`90`.
* `401 UNAUTHORIZED` — missing or invalid API key.

See [Errors](/v2/reference/errors) for the full error contract.

## Related

<CardGroup cols={2}>
  <Card title="Activity tasks" href="/v2/storefront/activity/tasks" icon="list-check">
    All activity operations
  </Card>

  <Card title="Inventory sources" href="/v2/storefront/inventory-sources/overview" icon="plug">
    Scope reporting by source
  </Card>

  <Card title="List activity" href="/v2/storefront/activity/tasks/list-activity" icon="clock-rotate-left">
    Configuration audit feed
  </Card>
</CardGroup>
