Rad TV Developer API

Tools Reference

All tools require Authorization: Bearer <api-key>. Optional arguments can be omitted.

Identity and user

ToolDescriptionArguments
get_meCurrent user (id, username, email, channel)(none)
list_followed_channelsChannels the authenticated user follows(none)

Channels

ToolDescriptionArguments
get_channelSingle channel by DIDid (string) — Channel DID
list_channelsAll channels (paginated)limit (number, optional), start (number, optional)

Catalog

ToolDescriptionArgumentsAuth
list_categoriesAll content categories (paginated)limit (number, optional), start (number, optional)yes
list_ratingsAll content ratings (e.g. MPAA, TV)limit (number, optional), start (number, optional)no
list_genresAll content genreslimit (number, optional), start (number, optional)no
list_commentsComments for content by DIDcontentId (string), limit (number, optional), start (number, optional)yes

Content and ingestion

ToolDescriptionArguments
create_contentCreate new content; returns content id (DID)title (string, optional), summary (string, optional), type (FEATURE, LIVE, SERIES, EPISODE, SHORT; default FEATURE)
create_content_assetCreate TUS upload session for content; returns endpointcontentId (string), filename (string), size (number), hint (optional: EQUIRECTANGULAR, NONE, PORTRAIT, CUBEMAP, STEREOSCOPIC, OTHER; default NONE)
submit_content_for_processingSubmit content for transcodingcontentId (string), assetName (string), layout (optional: LANDSCAPE, PORTRAIT, VR; default LANDSCAPE), encoder (optional: MEDIA_CONVERT, RAD_ENCODER; default RAD_ENCODER), enhance (optional boolean; default false)
publish_contentMake content publicid (string — content DID)
unpublish_contentRevert content to protectedid (string — content DID)

Playlists

ToolDescriptionArguments
create_playlistCreate playlisttitle (string, optional), summary (string, optional), channel (string, optional — channel DID)
update_playlistUpdate playlist metadataid (string — playlist DID), title (string, optional), summary (string, optional)
create_playlist_assetCreate TUS upload session for playlist imageplaylistId (string), filename (string), size (number, optional)

Engagement

ToolDescriptionArguments
follow_channelFollow a channelchannel (string — channel DID)
unfollow_channelUnfollow a channelchannel (string — channel DID)
like_contentLike content (idempotent)id (string — content DID)
unlike_contentRemove like (idempotent)id (string — content DID)
create_commentCreate comment on contentcontentId (string), body (string)

YouTube

ToolDescriptionArguments
list_youtube_videosUser's YouTube videos (requires connected account)pageToken (string, optional), limit (number, optional)
get_youtube_publish_jobStatus of a YouTube publish jobid (string — job id from publish_content_to_youtube)
create_content_from_youtubeCreate content from a YouTube videovideoId (string), channel (string, optional)
publish_content_to_youtubePublish Rad TV content to YouTube; returns job idid (string — content DID), privacyStatus (optional: PUBLIC, UNLISTED, PRIVATE; default PRIVATE)

File upload flow (content)

Step 1: Call create_content

Call create_content → get content id (DID).

Step 2: Call create_content_asset

Call create_content_asset with contentId, filename, size → get endpoint.

Step 3: POST the file to the endpoint

POST the file to endpoint with Authorization: Bearer <api-key> and Content-Type: multipart/form-data.

Step 4: Call submit_content_for_processing

Call submit_content_for_processing with contentId and assetName (filename used in step 2).

Step 5: Optionally publish

Optionally call publish_content with the content id.