API de catálogo
Consulte títulos y episodios visibles para su organización. Requiere catalog:read. El catálogo solo devuelve títulos respaldados por paquetes clear o restricted que coinciden con territorio e idioma.
Endpoints
| Método | Ruta | Finalidad |
|---|---|---|
| GET | /catalog/titles | Lista títulos disponibles con filtros y paginación. |
| GET | /catalog/titles/{title_id} | Detalle del título con disponibilidad de derechos. |
| GET | /catalog/titles/{title_id}/episodes | Episodios de un título. |
Listar títulos
Filtros
| Consulta | Tipo | Notas |
|---|---|---|
genre | string | Filtrar por género |
territory | string | ISO 3166-1 alpha-2 |
language | string | ISO 639-1 |
format | string | Por ejemplo: series, film |
resale_allowed | boolean | Solo títulos que permiten reventa |
exclusive_available | boolean | Solo títulos con exclusividad disponible |
page | integer | Predeterminado 1, mínimo 1 |
limit | integer | Predeterminado 20, máximo 100 |
cursor | string | Cursor opaco; si se envía se ignora page |
Paginación
Ambos modos comparten pagination. Use page/limit para paginación simple y siga next_cursor para iteración estable en conjuntos grandes. Con cursor, se ignora page.
curl "https://signal-partners.newunivers.ai/v1/catalog/titles?territory=KR&genre=drama&limit=20" \
-H "Authorization: Bearer nsp_live_xxx" \
-H "X-NU-Partner-Id: org_acme"{
"data": [
{
"title_id": "ttl_abc",
"slug": "signal-city",
"title": "Signal City",
"title_en": "Signal City",
"format": "series",
"genres": ["drama", "thriller"],
"episode_count": 12,
"avg_duration_sec": 3600,
"available_territories": ["KR", "JP"],
"available_languages": ["ko", "en"],
"resale_allowed": true,
"exclusive_available": false,
"license_status": "available"
}
],
"pagination": { "page": 1, "limit": 20, "total": 87, "has_next": true, "next_cursor": "eyJpZCI6InR0bF9hYmMifQ" }
}Seguir el cursor:
curl "https://signal-partners.newunivers.ai/v1/catalog/titles?cursor=eyJpZCI6InR0bF9hYmMifQ&limit=20" \
-H "Authorization: Bearer nsp_live_xxx" -H "X-NU-Partner-Id: org_acme"Detalle del título
GET /catalog/titles/{title_id} devuelve campos de resumen, logline, synopsis, original_language y rights. Si no es visible para su organización, devuelve 404 resource_not_found.
Campos de disponibilidad (rights)
| Campo | Significado |
|---|---|
available_territories / available_languages | Territorios y públicos disponibles |
resale_allowed, exclusive_available | Opciones comerciales |
rights_status | clear o restricted |
risk_level | Indicador de riesgo en minúscula; por ejemplo low o medium |
{
"data": {
"title_id": "ttl_abc",
"slug": "signal-city",
"title": "Signal City",
"title_en": "Signal City",
"logline": "A detective decodes a city that talks back.",
"synopsis": "...",
"format": "series",
"genres": ["drama", "thriller"],
"episode_count": 12,
"avg_duration_sec": 3600,
"original_language": "ko",
"rights": {
"available_territories": ["KR", "JP"],
"available_languages": ["ko", "en"],
"resale_allowed": true,
"exclusive_available": false,
"rights_status": "clear",
"risk_level": "low"
}
}
}Episodios
curl "https://signal-partners.newunivers.ai/v1/catalog/titles/ttl_abc/episodes" \
-H "Authorization: Bearer nsp_live_xxx" -H "X-NU-Partner-Id: org_acme"{
"data": [
{ "episode_id": "ep_001", "episode_no": 1, "name": "Pilot", "duration_sec": 3480, "free_preview": true }
]
}Use title_id y episode_id para pedir cotización (API de licencias) o token (API de reproducción).