The 3Q platform provides a REST-based API that enables automation of video workflows. It allows customers to programmatically create and manage projects, upload media assets, configure live streams, and manage playlists.
The REST-based API is not intended for direct use within a frontend application. We recommend caching or storing responses - such as metadata and playoutIds for videos hosted on our platform on your own servers. A dedicated Frontend API is on our product roadmap and is planned to be available by the end of 2026.
Base URL
https://api.3qsdn.com/v3/
Authentication
The API uses JWT (JSON Web Tokens) in Bearer format. A valid token must be included in the HTTP header of every request. Each token is linked to a specific user account and inherits the permissions assigned to that user.
Error handling: HTTP status codes combined with a structured error object in the response body
Supported HTTP Methods
GET – Retrieve resources
POST – Create new resources
PUT – Update existing resources
DELETE – Delete resources
Resources & Endpoints (Excerpt)
Depending on whether you are working with live or on-demand streaming, the following endpoints are most commonly used. A complete list of all available endpoints can be found in the full API documentation:
https://api.3qsdn.com/v3/doc
Projects
GET /projects – List all projects
POST /projects – Create a new project
GET /projects/{projectId} – Retrieve project details
PUT /projects/{projectId} – Update a project
DELETE /projects/{projectId} – Delete a project
Files (Video or Audio Assets)
POST /projects/{projectId}/files – Upload a media file
GET /projects/{projectId}/files – Retrieve the file list
DELETE /projects/{projectId}/files/{fileId} – Delete a file
Livestreams
(GET | PUT) /projects/{projectId}/live/ingest – Configure or retrieve ingest settings
GET /projects/{projectId}/live/output – Retrieve playout URLs
Playlists
GET /modules/playlists – Retrieve all playlists
POST /modules/playlists – Create a new playlist
GET /modules/playlists/{playlistId} – Retrieve a playlist
PUT /modules/playlists/{playlistId} – Update a playlist
DELETE /modules/playlists/{playlistId} – Delete a playlist
Error Handling
The API uses standard HTTP status codes to indicate the success or failure of a request.
Common Status Codes
200 OK
201 Created
400 Bad Request
401 Unauthorized
404 Not Found
500 Internal Server Error
Example Error Response
Pagination & Filtering
Many endpoints support pagination and filtering through query parameters.
Example
API Versioning
Current version: v3
The API version is embedded in the URL path (e.g. /v3/...)