API

Overview

Acceso programático a C21 Live Control mediante su REST API.

La REST API de C21 Live Control expone cada recurso visible en la UI del operador. Úsala para guionizar aprovisionamientos, integrar con sistemas de playout, construir dashboards internos o disparar operaciones desde un scheduler externo. El servidor MCP documentado en MCP server envuelve las mismas operaciones para cualquier agente de IA o automatización compatible con MCP.

Base URL

https://<host>/c21apiv2

<host> es el hostname de tu deploy de C21 Live Control. Cada operación vive bajo /c21apiv2.

Recursos

La API se organiza alrededor de los mismos recursos que aparecen en la UI. Cada recurso expone normalmente dos scopes: un scope operacional (e.g. /livestreams, /livestreams/{id}/start) y un scope CRUD (/crud/livestreams). Consulta el spec OpenAPI para la lista completa de operaciones por recurso.

RecursoRuta operacionalSección UI
Channels/c21apiv2/channelsSources
Encodings/c21apiv2/encodingsEncodings
Encoding groups/c21apiv2/encodings/groupsEncodings
Destinations/c21apiv2/publishingsDestinations
Destination groups/c21apiv2/publishings/groupsDestinations
Live streams/c21apiv2/livestreamsLive streams
Schedules/c21apiv2/schedulesScheduler
Recordings/c21apiv2/recordingsRecordings
Devices/c21apiv2/devicesDevices
Device groups/c21apiv2/devices/groupsDevices
Assets/c21apiv2/assets (con ?fileType=logos|files|clips)Assets
Users/c21apiv2/usersUsers
User groups/c21apiv2/usergroupsUsers
API tokens/c21apiv2/security/tokens(solo API — sin UI Interface)
DRM providers/c21apiv2/settings/integrations/drmprovidersIntegrations → DRM Providers
C21 Live Cloud accounts/c21apiv2/settings/integrations/c21livecloudIntegrations → C21 Live Cloud
MediaCopilot/c21apiv2/settings/integrations/mediacopilotIntegrations → MediaCopilot
System/c21apiv2/system(solo API — superficie System Administrator)

Las rutas de recurso siguen literalmente el spec OpenAPI. Donde una ruta contiene un segmento de plantilla entre llaves ({livestreamId}, etc.), sustituye el valor concreto al llamar.

Content types

DirecciónTipo
Cuerpo de peticiónapplication/json
Cuerpo de respuestaapplication/json
Subidas de fichero (Assets, licencias)multipart/form-data

Verbos HTTP

VerboUso
GETLee un recurso único o una lista.
POSTCrea un recurso o dispara una acción (/livestreams/{id}/start, /livestreams/{id}/stop).
PUTReemplazo completo.
PATCHActualización parcial (usada por patchSystemPreferences).
DELETEElimina un recurso.

Los endpoints de acción bajo POST usan un sufijo verbal (/start, /stop, /validate) en lugar de un verbo separado.

Idempotencia

Los clientes pueden enviar un header Idempotency-Key opcional en operaciones mutantes; si el deploy lo soporta, las llamadas con la misma clave en la misma ventana de retención devuelven la respuesta cacheada de la primera. Consulta con tu equipo de plataforma antes de basar un cliente en este comportamiento. Las claves, cuando aplican, deben ser opacas, únicas por operación lógica y de como mucho 64 caracteres.

Ejemplo completo

Arrancar un Live stream contra la API pública:

curl -X POST "https://<host>/c21apiv2/livestreams/{livestreamId}/start" \
  -H "Authorization: Bearer $LIVECONTROL_TOKEN" \
  -H "Idempotency-Key: ops-2026-05-15-news-start-01" \
  -H "Content-Type: application/json"

La respuesta lleva un header X-Request-Id que correlaciona la llamada con sus eventos en el servidor. Los clientes deben llamar primero a GET /c21apiv2/livestreams/{livestreamId}/start/config (operación getLivestreamStartConfig) para obtener un idEncoderGroup válido y el último startConfig[] guardado antes de hacer POST al arranque.

FAQ

Copyright © 2026