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/editorialReplace [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.
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
| WAV | MP3 |
|---|---|
| Only supported for source audio. | Default delivery format |
Common Operations
Audio Clips
List Audio Clips
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 tagsprocessing_status: Filter byCREATED,PROCESSING,READY, orFAILEDpublishing_status: Filter byNOT_PUBLISHED,PUBLISHED,SCHEDULED,PENDING, orFAILEDsites: 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.
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
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.
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.
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.
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.
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
Locationheader pointing to the new resource. - Upload operations can be made to return an SSE stream by supplying
Accept: text/event-streamheader.
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.