GraphQL API
Taxonomy
Query categories, ratings, and genres for content classification using Relay-style GraphQL connections.
Build category filters, genre browsing, and age-appropriate content gates. Taxonomy queries return connections (edges → node). See Pagination.
Categories
Content categories for organizing and filtering. Requires authentication.
curl -X POST https://api.rad.live/graphql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"query": "{ categories(first: 50) { totalCount edges { node { id metadata { name title summary keywords } } } pageInfo { hasNextPage endCursor } } }"
}'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: `{
categories(first: 50) {
totalCount
edges {
node {
id
metadata { name title summary keywords }
}
}
pageInfo { hasNextPage endCursor }
}
}`,
}),
});response = requests.post(
"https://api.rad.live/graphql",
headers={
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY",
},
json={
"query": """
{
categories(first: 50) {
totalCount
edges {
node {
id
metadata { name title summary keywords }
}
}
pageInfo { hasNextPage endCursor }
}
}
"""
},
)Categories appear on both channels and content metadata for filtering and discovery.
Ratings
Content rating systems (MPAA, TV, etc.). Public — no authentication required.
{
ratings(first: 50) {
totalCount
edges {
node {
id
system
code
label
description
}
}
}
}ContentRating Fields
| Field | Type | Description |
|---|---|---|
id | DID! | Rating identifier |
system | String | Rating system (e.g., "MPAA", "TV") |
code | String | Rating code (e.g., "PG-13", "TV-MA") |
label | String | Display label |
description | String | What the rating means |
Genres
Content genre list for filtering. Public — no authentication required.
{
genres(first: 50) {
totalCount
edges {
node {
id
name
description
}
}
}
}ContentGenre Fields
| Field | Type | Description |
|---|---|---|
id | DID! | Genre identifier |
name | String | Genre name (e.g., "Action", "Documentary") |
description | String | Genre description |
Using Categories in Content
When creating or updating content, set categories via CategoryInput:
mutation {
createContent(input: {
metadata: {
title: "My Documentary"
categories: [{ name: "Documentary" }, { name: "Nature" }]
}
}) {
id
}
}