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

# Signals

> Register, discover, and manage targeting segments on a storefront

A signal is a named targeting segment buyers apply on campaigns; the Merchandising Agent uses your signals when it composes proposals. On this page, ad-server targeting is the source layer you use to author signals; first-party and external signals are managed elsewhere. A **signal** can describe an audience, contextual cohort, or first-party data slice; it is registered against a storefront and surfaced to buyers for use on campaigns. You register first-party signals directly, discover external segments from signals agents (LiveRamp, Optable, custom) via AdCP, and manage visibility and pricing through access records.

Signal endpoints are mounted on the storefront router because signals are owned by the agent/advertiser that registers them, even though buyers consume them on campaigns.

**Base URL** `https://api.apostra.com/api/v2/storefront`
**Auth** `Authorization: Bearer $SCOPE3_API_KEY`

## Task reference

<CardGroup cols={2}>
  <Card title="Create signal" href="/v2/storefront/signals/tasks/create-signal" icon="plus">
    `POST /signals` — register a signal
  </Card>

  <Card title="List signals" href="/v2/storefront/signals/tasks/list-signals" icon="list">
    `GET /signals` — filterable, paginated
  </Card>

  <Card title="Get signal" href="/v2/storefront/signals/tasks/get-signal" icon="magnifying-glass">
    `GET /signals/:id` — one signal with access records
  </Card>

  <Card title="Update signal" href="/v2/storefront/signals/tasks/update-signal" icon="pen">
    `PUT /signals/:id` — metadata and access changes
  </Card>

  <Card title="Delete signal" href="/v2/storefront/signals/tasks/delete-signal" icon="trash">
    `DELETE /signals/:id` — archive a signal
  </Card>

  <Card title="Discover signals" href="/v2/storefront/signals/tasks/discover-signals" icon="satellite-dish">
    `POST /signals/discover` — query signals agents
  </Card>

  <Card title="Manage ad-server signals" href="/v2/storefront/esa/signals" icon="wave-pulse">
    `GET/POST /esa/:id/signals` — signals backed by ad-server targeting
  </Card>
</CardGroup>

## Related

<CardGroup cols={2}>
  <Card title="Signal overview" href="/v2/object-guides/signal" icon="wave-pulse">
    Fields, lifecycle, sources, and pricing
  </Card>

  <Card title="Errors" href="/v2/reference/errors" icon="triangle-exclamation">
    Error contract for every operation
  </Card>
</CardGroup>
