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

# Storefront agents

> Browse the sales, signal, creative, and outcome agents registered to your storefront and run their OAuth flows

A **storefront agent** is a partner agent registered to your storefront — a sales/media agent, a signal/data agent, a creative agent, or an outcome measurement agent. Each agent carries capability metadata (`type`, `protocol`, `authenticationType`), a lifecycle `status`, and a `relationship` that tells you whether you own it (`SELF`) or it belongs to the wider marketplace (`MARKETPLACE`). You list and inspect agents to decide which ones power your storefront and which need credentials.

Agents that use OAuth need an interactive consent flow before the platform can call them. There are two flows: **agent-level** OAuth stores tokens in the agent configuration for platform-to-agent calls, and **per-account** OAuth stores tokens against the buyer/operator account the grant represents. Both return an `authorizationUrl` you send the operator to.

All examples use the storefront base URL:

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

Authenticate every request with `Authorization: Bearer $SCOPE3_API_KEY`.

## Task reference

<CardGroup cols={2}>
  <Card title="List agents" href="/v2/storefront/agents/tasks/list-agents" icon="list">
    `GET /agents` — registered agents, filterable by type, status, and relationship
  </Card>

  <Card title="Get agent" href="/v2/storefront/agents/tasks/get-agent" icon="magnifying-glass">
    `GET /agents/{agentId}` — full agent detail with account flags
  </Card>

  <Card title="Start agent OAuth" href="/v2/storefront/agents/tasks/start-agent-oauth" icon="key">
    `POST /agents/{agentId}/oauth/authorize` — agent-level token flow
  </Card>

  <Card title="Start account OAuth" href="/v2/storefront/agents/tasks/start-account-oauth" icon="user-lock">
    `POST /agents/{agentId}/accounts/oauth/authorize` — per-account token flow
  </Card>
</CardGroup>
