The Channels API allows you to create, update, and manage educational content channels. Channels are the top-level containers for organizing educational content.
Endpoints
List Channels
curl -H "Authorization: Token YOUR_TOKEN" \
https://studio.learningequality.org/api/channel
Retrieve a list of channels accessible to the authenticated user.
Number of results per page (max 1000)
Filter by bookmarked channels
Filter channels where user has edit permissions
Filter channels where user has view permissions
Filter by published status
Filter by public visibility
Filter by language codes (comma-separated)
Search channels by keywords
{
"results" : [
{
"id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
"name" : "Mathematics K-12" ,
"description" : "Complete mathematics curriculum" ,
"language" : "en" ,
"thumbnail_url" : "https://storage.example.com/thumb.jpg" ,
"published" : true ,
"version" : 5 ,
"count" : 342 ,
"modified" : "2024-01-15T10:30:00Z" ,
"created" : "2023-06-01T08:00:00Z" ,
"last_published" : "2024-01-10T14:20:00Z" ,
"root_id" : "b2c3d4e5-f6a7-8901-bcde-f12345678901" ,
"edit" : true ,
"view" : true
}
],
"count" : 1
}
Create Channel
curl -X POST \
-H "Authorization: Token YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "New Channel",
"description": "Channel description",
"language": "en"
}' \
https://studio.learningequality.org/api/channel
Create a new content channel.
Channel name (max 200 characters)
Channel description (max 400 characters)
Primary language code (e.g., “en”, “es”, “fr”)
Thumbnail encoding options Base64 encoded thumbnail data
Default content settings for resources in this channel Default content aggregator
{
"id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
"name" : "New Channel" ,
"description" : "Channel description" ,
"language" : "en" ,
"version" : 0 ,
"published" : false ,
"root_id" : "b2c3d4e5-f6a7-8901-bcde-f12345678901" ,
"edit" : true ,
"view" : true
}
Update Channel
curl -X PATCH \
-H "Authorization: Token YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Channel Name",
"description": "Updated description"
}' \
https://studio.learningequality.org/api/channel/{id}
Update an existing channel. Only fields included in the request will be updated.
Thumbnail encoding options
Delete Channel
curl -X DELETE \
-H "Authorization: Token YOUR_TOKEN" \
https://studio.learningequality.org/api/channel/{id}
Soft delete a channel. The channel is marked as deleted but not permanently removed.
Get Channel Languages
GET /api/channel/{id}/languages
curl -H "Authorization: Token YOUR_TOKEN" \
https://studio.learningequality.org/api/channel/{id}/languages
Get all languages present in a channel’s resources.
{
"languages" : [ "en" , "es" , "fr" ]
}
Check Channel Language
GET /api/channel/{id}/language_exists
curl -H "Authorization: Token YOUR_TOKEN" \
https://studio.learningequality.org/api/channel/{id}/language_exists
Verify that the language set for a channel is present in at least one of its resources.
Get Version Details
GET /api/channel/{id}/version_detail
curl -H "Authorization: Token YOUR_TOKEN" \
https://studio.learningequality.org/api/channel/{id}/version_detail
Get detailed version information for a channel.
{
"id" : "version-id-123" ,
"version" : 5 ,
"resource_count" : 342 ,
"kind_count" : {
"video" : 120 ,
"document" : 85 ,
"exercise" : 137
},
"size" : 5242880000 ,
"date_published" : "2024-01-10T14:20:00Z" ,
"version_notes" : "Added new math exercises" ,
"included_languages" : [ "en" , "es" ],
"included_licenses" : [ 1 , 2 , 8 ],
"included_categories" : [ "mathematics" , "algebra" ],
"non_distributable_licenses_included" : false
}
Channel Model Fields
Unique channel identifier (UUID)
Channel name (max 200 characters)
Channel description (max 400 characters)
Full URL to thumbnail image
Current version number (read-only)
Whether the channel has been published
Whether the channel is currently being published
Whether the channel is publicly accessible
Number of non-topic resources in the channel
Channel creation timestamp (ISO 8601)
Last modification timestamp (ISO 8601)
Last publication timestamp (ISO 8601)
ID of the channel’s root content node
ID of the channel’s trash tree root node
ID of the channel’s staging tree root node
Primary channel access token
Default settings for content in this channel
Whether the current user has edit permissions
Whether the current user has view permissions
Whether there are unpublished changes
Original source URL for the channel content
URL to demo server showcasing the channel