Skip to main content
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

curl
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

FieldTypeRequiredNotes
inventorySourceIdstringNoScope to one inventory source. Omit to include every source on the storefront
startDatestringNoStart date, YYYY-MM-DD
endDatestringNoEnd date, YYYY-MM-DD
daysintegerNoDays to include, 190 (default 7). Used when explicit dates are omitted
viewenumNosummary (hierarchical breakdown) or timeseries (flat per-day rows). Default summary
downloadbooleanNoWhen true, returns a signed CSV download URL instead of JSON (default false)
demobooleanNoWhen true, returns auto-generated demo data (default false)

Response

{
  "advertisers": [
    {
      "advertiserId": "seat_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"
}
FieldTypeNotes
advertisers[]arrayAdvertiser-level breakdown
advertisers[].metricsobjectReporting metrics for the advertiser (see below)
advertisers[].mediaBuys[]arrayMedia-buy breakdown, each with mediaBuyId, name, status, budget (nullable), inventorySourceId (nullable), metrics, and packages[]
advertisers[].mediaBuys[].packages[]arrayPackage breakdown with packageId, productId/productName (nullable), metrics
totalsobjectAggregated metrics across all advertisers
periodStart / periodEndstringReporting 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 190.
  • 401 UNAUTHORIZED — missing or invalid API key.
See Errors for the full error contract.

Activity tasks

All activity operations

Inventory sources

Scope reporting by source

List activity

Configuration audit feed