GraphQL API
Query and mutate the Rad TV platform through a strongly-typed GraphQL interface.
The Rad TV GraphQL API lets you build on top of the full platform — browse content, manage channels, publish videos, engage audiences, and more.
What you can build
- Content apps — browse channels, features, series, and streams
- Creator tools — publish and manage videos, playlists, and metadata
- Social features — likes, comments, follows, and engagement tracking
- Cross-platform publishing — YouTube import and export
- AI-powered workflows — upscaling, upmixing, virality prediction
Endpoint
POST https://api.rad.live/graphqlMaking Requests
Send a JSON body with query and optional variables:
curl -X POST https://api.rad.live/graphql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"query": "{ me { id username email } }"
}'const response = await fetch('https://api.rad.live/graphql', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY',
},
body: JSON.stringify({
query: '{ me { id username email } }',
}),
});
const { data, errors } = await response.json();import requests
response = requests.post(
"https://api.rad.live/graphql",
headers={
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY",
},
json={"query": "{ me { id username email } }"},
)
result = response.json()
data = result.get("data")
errors = result.get("errors")Response Format
All responses follow the GraphQL spec:
{
"data": { "me": { "id": "did:rad.live:channel/abc", "username": "creator", "email": "me@example.com" } },
"errors": null
}data— Present on success; keys match the operation nameerrors— Array of{ message, path, extensions }when something goes wrong
Structured error metadata
When GraphQL operations fail validation or authorization, errors[].extensions includes stable machine-readable fields:
code— error code (for example,GRAPHQL_VALIDATION_FAILED,UNAUTHENTICATED)errorType— category label such asValidationErrorfield— optional field associated with the failuresuggestedFix— optional remediation guidancedocumentation— canonical troubleshooting URL under/docs/errors/...
See API Error Codes for the full code reference.
Authentication
All queries and mutations require Authorization: Bearer <token>. See Authentication.
Pagination
List endpoints return Relay connections (edges, node, pageInfo, totalCount), not plain arrays. Read Pagination (Relay connections) before querying channels, catalog lists, or comments.
Schema Introspection
The schema supports standard GraphQL introspection — you can use any GraphQL client or IDE to explore available types, queries, and mutations.
API Sections
Pagination
Relay connections, edges, nodes, and cursors.
Identity
me, channel, channels — user and channel queries.
Catalog
Features, series, episodes, seasons, streams, miniseries.
Taxonomy
Categories, ratings, and genres for content classification.
Engagement
Likes, comments, follows — audience interaction.
Content Management
Create, update, publish, and unpublish content.
Uploads
TUS resumable file uploads for video and image assets.
Transcoding
Submit content for processing and track transcode jobs.
Playlists
Create and manage playlists with ordered content.
YouTube
YouTube OAuth, video import, and cross-publishing.
Types Reference
Key types, enums, interfaces, and scalars.