> ## 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.

# Activity & reporting

> Audit your storefront's configuration changes, read delivery metrics, and pre-check content against moderation policy

These endpoints give your storefront its observability surface: **API Calls**
for what people and agents attempted, a **Changes** feed of who changed what,
**reporting metrics** for every media buy that flows through your inventory
sources, and a non-blocking **moderation pre-check** so agents can validate text
before submitting it to a blocking surface.

All examples use the storefront base URL:

```
https://api.interchange.io/api/v2/storefront
```

Authenticate every request with `Authorization: Bearer $SCOPE3_API_KEY`. The storefront is resolved from your API key's account context.

## Key concepts

* **Reporting is participation-based.** The storefront does not own the underlying media buys. Reporting is visible because the Merchandising Agent is the ADCP party to those transactions. The hierarchy is advertiser → media buy → package — there is no campaign level.
* **Two reporting views.** `summary` returns a hierarchical advertiser/media-buy/package breakdown; `timeseries` returns flat per-day rows. Use `inventorySourceId` to scope to one source.
* **Activity is append-only.** The audit feed records configuration and inventory-source changes. Each row attributes the actor (user or service token), records **how the action was initiated** (`actorOrigin`: `human`, `agent`, `autonomous`, or `system`) and **whether it took effect** (`outcome`: `succeeded`, `denied`, or `failed`), and carries the before/after `changes`. The default feed shows succeeded changes; filter `outcome=denied` or `outcome=failed` to audit blocked or errored attempts. Connecting a payout account (`REGISTER`) is included.
* **Calls and Changes are separate.** `GET /api/v2/activity/calls` includes reads, failures, denials, latency, workload identity, and correlation IDs. `GET /api/v2/storefront/audit-logs` remains the semantic record of storefront mutations.
* **Activity is also in chat.** Call `list_storefront_activity` or use `/activity` to open the portable Calls/Changes Page. A direct question — "which API calls failed?", "who changed our billing?", or "what got blocked?" — is answered from the same tenant-scoped records.
* **Moderation pre-check never blocks.** It returns structured findings so an agent can self-correct. `wouldBlock` tells you whether the same content would trigger a `422` on a real blocking surface.

## Debug API calls

List recent calls with the shared, tenant-scoped endpoint:

```bash theme={null}
curl -G https://api.interchange.io/api/v2/activity/calls \
  -H "Authorization: Bearer $SCOPE3_API_KEY" \
  --data-urlencode "startTime=2026-07-13T00:00:00Z" \
  --data-urlencode "outcome=failed"
```

Useful filters include `startTime`, `endTime`, `workloadUid`, `runUid`,
`environment`, `outcome`, `operation`, and `surface`. Continue with the opaque
`nextCursor` returned by the API. Fetch safe detail for one authorized call at
`GET /api/v2/activity/calls/{activityUid}`. Account admins can inspect any call
in their tenant; a service token is restricted to its own stable workload.

On the v2 storefront MCP server, `list_storefront_activity` opens the same
Calls/Changes Page in compatible MCP Apps hosts. If the Calls rollout is not
enabled for an account, the typed tool preserves the existing Changes view.

## Task reference

<CardGroup cols={2}>
  <Card title="List activity" href="/v2/storefront/activity/tasks/list-activity" icon="clock-rotate-left">
    Audit feed of storefront changes
  </Card>

  <Card title="Get reporting metrics" href="/v2/storefront/activity/tasks/get-reporting-metrics" icon="chart-column">
    Delivery metrics by advertiser
  </Card>

  <Card title="Check moderation" href="/v2/storefront/activity/tasks/check-moderation" icon="shield-check">
    Non-blocking content pre-check
  </Card>
</CardGroup>

## Related

<CardGroup cols={2}>
  <Card title="All activity tasks" href="/v2/storefront/activity/tasks" icon="list-check">
    Every operation in one place
  </Card>

  <Card title="Inventory sources" href="/v2/storefront/inventory-sources/overview" icon="plug">
    The sources reporting flows through
  </Card>

  <Card title="Errors" href="/v2/reference/errors" icon="triangle-exclamation">
    Shared error contract
  </Card>
</CardGroup>
