# Delivery / Playback API

Source: https://dev.arcxp.com/audio-center/developer-docs/delivery-playback-api/

The public Audio Center delivery API that returns a ready-to-play CDN URL (and optional waveform) for a published clip or episode.

**API Reference:** [View the complete Arc XP Audio API specification](https://dev.arcxp.com/api/content-administration/audio-api/)

The **delivery API** returns a ready-to-play, time-limited CDN (content delivery network) URL for a **published** audio clip or podcast episode, along with optional waveform data and metadata. Unlike the editorial API used to create and manage content, the delivery API puts your organization and environment in the delivery hostname instead of using a Bearer-token editorial call. Requests send your Arc XP API token as an `x-api-key` header.

In most cases you do not call this directly: the [Arc Audio Player](https://dev.arcxp.com/audio-center/tutorials/configuring-the-audio-player/) calls it for you when you give it a `media-id`, `org-id`, and `env`. Reach for it if you build a custom player or need the delivery URL server-side.

> **Note:**
> 
> The delivery API runs on your organization’s API domain, `https://{org}-config-{env}.api.arc-cdn.net` (the same hostname pattern other Arc XP delivery APIs use), not under `/audiocenter/api/editorial`. In the examples that follow, replace `YOUR_ORG` with your organization ID; the environment (`prod` or `sandbox`) also forms part of the hostname. The player constructs these URLs for you from `org-id` and `env`.

## Get a clip’s media URL

Terminal window

```bash
curl -H "x-api-key: YOUR_API_TOKEN" \
  "https://YOUR_ORG-config-prod.api.arc-cdn.net/audio/v1/media/clip/{audio_id}?waveform=true&meta=true"
```

Query parameters:

- `renditionKey`: which encoded rendition to return; defaults to `aac-standard`.
- `waveform`: set `true` to include waveform data for envelope display (defaults to `false`).
- `meta`: set `true` to include the clip’s metadata (defaults to `false`).

The response is a **deliverable**: a `uri` (the time-limited CDN URL), plus `waveform` and `metadata` when requested.

```json
{
  "uri": "https://.../signed-delivery-url",
  "waveform": { "...": "condensed amplitude data" },
  "metadata": { "title": "My Clip", "description": "…" }
}
```

## Get a podcast episode’s media URL

Terminal window

```bash
curl -H "x-api-key: YOUR_API_TOKEN" \
  "https://YOUR_ORG-config-prod.api.arc-cdn.net/audio/v1/media/podcast/{podcast_id}/episode/{episode_guid}"
```

The episode endpoint accepts the `renditionKey` parameter (default `aac-standard`) and returns only the deliverable shape’s `uri` field. The clip endpoint’s `waveform` and `meta` parameters, along with the `metadata` field, apply to clips only.

## Relationship to the Arc Audio Player

The Arc Audio Player performs this lookup internally: given `media-id` \+ `org-id` \+ `env`, it builds `https://{org-id}-config-{env}.api.arc-cdn.net/audio/v1/media/clip/{media-id}`, sends your `arc-token` as `x-api-key`, and wires the returned `uri` (and `waveform`) into the player. See [Customizing the Arc Audio Player](https://dev.arcxp.com/audio-center/tutorials/configuring-the-audio-player/) to embed it, or use this API directly to feed a custom player. For exhaustive field definitions, see the API specification linked earlier.
