Skip to content

Audio API Developer Guide

API Reference: View the complete Arc XP Audio API specification

Introduction

The Arc XP Audio API provides management, processing, and delivery tools for audio content.

  • Audio file upload and processing
  • Audio playlist management
  • Metadata management and organization
  • Real-time notifications for audio processing status
  • Waveform/envelope analysis

Using the API

If you are brand new to the Arc XP Audio API and looking for a quick start, check out the tutorial for creating an audio clip.

Base URL Structure

The API endpoint follows this pattern:

https://api.[org].arcpublishing.com/audiocenter/api/editorial

Replace [org] with your organization identifier. Different environments use subdomains:

  • Production: https://api.[org].arcpublishing.com/audiocenter/api/editorial
  • Sandbox: https://api.sandbox.[org].arcpublishing.com/audiocenter/api/editorial

Authentication

All API requests require authentication using a Bearer token in the Authorization header.

Terminal window
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
https://api.[org].arcpublishing.com/audiocenter/api/editorial/v1/clips/

API tokens are retrieved from the Arc Developer Center. Read more about the developer center here.

Audio Types

The API supports three high-level types:

  • Audio Clips: general purpose audio; most use cases will fall under this category.
  • Audio Playlists: a logical collection of audio clips.

Supported File Formats

WAVMP3
Only supported for source audio.Default delivery format

Common Operations

Audio Clips

List Audio Clips
Terminal window
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
https://api.[org].arcpublishing.com/audiocenter/api/editorial/v1/clips/
Filtering Results

You can filter clips using query parameters:

  • include_tags / exclude_tags: Filter by tags
  • processing_status: Filter by CREATED, PROCESSING, READY, or FAILED
  • publishing_status: Filter by NOT_PUBLISHED, PUBLISHED, SCHEDULED, PENDING, or FAILED
  • sites: Filter by site IDs
  • Date filters: created_after, created_before, updated_after, updated_before
Pagination

The API supports pagination using the max-results query parameter, which defaults to 10 (maximum of 100). For the best performance, we recommend keeping this value at 10. If more results are available, the API will return a next_page_token in the response headers.

To fetch the next page of results, repeat the request with the page_token query parameter set to the value of next_page_token.

Terminal window
bash curl -H "Authorization: Bearer YOUR_API_TOKEN"
"https://api.[org].arcpublishing.com/audiocenter/api/editorial/v1/clips/?page_token=YOUR_TOKEN&max_results=20"
Get an Audio Clip
Terminal window
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
https://api.[org].arcpublishing.com/audiocenter/api/editorial/v1/clips/{audio_id}
Create an Audio Clip

Creation returns a 201 Created status with the resource URL in the Location header.

Terminal window
curl -X POST https://api.[org].arcpublishing.com/audiocenter/api/editorial/v1/clips/ \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "My New Audio Clip",
"description": "A description of the clip",
"tags": ["news"]
}'
Upload Audio File

Upload the binary file to an existing audio clip record.

Terminal window
curl -X POST https://api.[org].arcpublishing.com/audiocenter/api/editorial/v1/clips/{audio_id}/upload \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "file=@/path/to/your/audio.mp3"
Publish an Audio Clip

Once the audio record is in READY state, it can be published.

Terminal window
curl -X POST https://api.[org].arcpublishing.com/audiocenter/api/editorial/v1/clips/{audio_id}/publish \
-H "Authorization: Bearer YOUR_API_TOKEN"
Scheduled Publishing

You can schedule a clip to be published at a future time by providing the schedule_at query parameter with a UTC ISO 8601 timestamp.

Terminal window
curl -X POST "https://api.[org].arcpublishing.com/audiocenter/api/editorial/v1/clips/{audio_id}/publish?schedule_at=2025-12-25T12:00:00Z" \
-H "Authorization: Bearer YOUR_API_TOKEN"

API Concepts

Operation Conventions

Creation

  • Creation operations return a 201 response including the ID of the new resource, and a Location header pointing to the new resource.
  • Upload operations can be made to return an SSE stream by supplying Accept: text/event-stream header.

Reading

  • Get-many operations return up-to “max-results” and a continuation token (if applicable). The continuation token will not preserve filters, so be sure to reuse filters for consistent results.

Destruction

  • Binaries associated with a deleted record will be marked for removal. An async process will permanently purge these binaries within 30 days. If you need a binary to be recovered, please contact support. We do not guarantee binary recovery.

Date/Time Conventions

All date and time values in the Audio API must include ISO 8601 timezone information.

For example, 2025-12-25T12:00:00Z represents December 25, 2025, at 12:00 UTC.

When the API returns a date/time value, it will be in UTC.

Examples

new Date().toISOString();
datetime.now(UTC).isoformat()

Metadata

Audio clip tags are not currently synchronized with the Arc XP Tags API. For the moment these tags are used for filtering and organization purposes.

Renditions

Each audio record can have a set of “renditions” associated with it. All Audio API users will have access to the standard AAC-encoded MP3 rendition, as well as the “source” rendition (the original audio file).

Audio Lifecycle

Audio records have two lifecycle states:

  • processing status
  • publishing status

Processing State

An audio record with no attached binary is considered to be in a CREATED state. After adding an audio binary (wav, mp3), the API will transition the record to PROCESSING. Once the API has finished preparing the audio data for delivery, the record will transition to READY. Note that waveform data will not be available until the audio record is in a READY state.

If the API encounters an error during processing, the record will transition to FAILED state.

Processing State Server Sent Events

If the upload endpoint was called with Accept: text/event-stream, instead of immediately returning a JSON response, the API will stream Server Sent Events (SSE) with updates on the processing state of the audio record.

Publishing State

Only audio records in the READY processing state can be published.

Audio that has not been published is marked as NOT_PUBLISHED. Audio that has been published is marked as PUBLISHED. If the audio record is scheduled to be published in the future, it will be marked as SCHEDULED. If the record is currently in the process of being published, it will be marked as PENDING.

If the API encounters an error during publishing, the record will transition to FAILED state.

Scheduled Publishing

As detailed in the common operations section, audio publishing can be scheduled ahead of time. Generally, we place no restriction on how far in the future a schedule can be set, but we recommend keeping it within a month.

Waveforms

Audio API provides binned and quantized representations of the audio file’s sonic data. Typically, these are binned to 100 units and quantized to int16; avoid using this data for high-fidelity edit or analysis operations.

This waveform data is intended for visualization tools, such as the Arc XP Audio Player. We do not guarantee the schema of this data.