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

# For Developers

> Sync Soundlink campaigns and metrics into your tools, warehouses, and apps.

Soundlink's Public API lets partner organizations sync **campaigns** and **metrics** into their own tools and data warehouses — and **create and manage wallet-funded campaigns** programmatically.

## Get started

<CardGroup cols={2}>
  <Card title="Quickstart" icon="bolt" href="/docs/quickstart">
    Create an API key, verify it with `ping`, and fetch your first campaign list
    using `curl`.
  </Card>

  <Card title="TypeScript SDK" icon="node-js" href="/docs/typescript-sdk">
    Official `soundlink` package for Node.js, serverless, and Edge — typed
    methods, pagination helpers, and JSONL streaming.
  </Card>
</CardGroup>

Not sure which to pick? See [SDK overview](/docs/sdks) for a side-by-side comparison.

## API guides

<CardGroup cols={2}>
  <Card title="Syncing campaigns" icon="database" href="/docs/syncing-campaigns">
    List campaigns, pagination, and warehouse join patterns.
  </Card>

  <Card title="Creating campaigns" icon="rocket" href="/docs/creating-campaigns">
    Create wallet-funded campaigns — strategies, budget rules, creatives, and
    idempotent retries.
  </Card>

  <Card title="Managing campaigns" icon="sliders" href="/docs/managing-campaigns">
    Budget increase/decrease, geographic tier updates, and stopping delivery.
  </Card>

  <Card title="Importing videos" icon="film" href="/docs/importing-videos">
    Build your video library by URL import and use videoIds in Full Control
    campaigns.
  </Card>

  <Card title="Understanding metrics" icon="chart-bar" href="/docs/understanding-metrics">
    Overview vs breakdown vs engagement — which endpoint to call.
  </Card>

  <Card title="JSONL exports" icon="download" href="/docs/jsonl-exports">
    Bulk metrics downloads, 90-day windows, and ingest patterns.
  </Card>

  <Card title="API Reference" icon="square-terminal" href="/docs/api-reference">
    Full OpenAPI spec, schemas, and interactive playground.
  </Card>
</CardGroup>

## Reference

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/docs/authentication">
    Create keys in Settings, API key format, scopes, expiration, and
    organization isolation.
  </Card>

  <Card title="Errors" icon="triangle-exclamation" href="/docs/errors">
    Error codes, HTTP status mapping, and pagination limits.
  </Card>
</CardGroup>

## API basics

<AccordionGroup>
  <Accordion title="Base URL">
    ```
    https://api.getsoundlink.com
    ```

    All v1 routes live under `/v1/*`.
  </Accordion>

  <Accordion title="Authentication">
    Send your API key on every request:

    ```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
    x-api-key: sk_<prefix>_<secret>
    ```

    See [Authentication](/docs/authentication) for scopes and security.
  </Accordion>

  <Accordion title="Response envelope">
    Successful responses:

    ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
    {
      "data": {},
      "meta": { "requestId": "550e8400-e29b-41d4-a716-446655440000" }
    }
    ```

    Errors use the same shape with an `error` field instead of `data`. See [Errors](/docs/errors).
  </Accordion>

  <Accordion title="Timestamps and v1 scope">
    All `createdAt` and `updatedAt` fields are **UTC** (ISO 8601 with `Z` suffix).

    v1 covers campaign and metrics reads plus writes: [campaign create](/docs/creating-campaigns), [budget changes, tier updates, and stop](/docs/managing-campaigns), and [video imports](/docs/importing-videos).
  </Accordion>
</AccordionGroup>
