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étodoRutaFinalidad
GET/catalog/titlesLista 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}/episodesEpisodios de un título.

Listar títulos

Filtros

ConsultaTipoNotas
genrestringFiltrar por género
territorystringISO 3166-1 alpha-2
languagestringISO 639-1
formatstringPor ejemplo: series, film
resale_allowedbooleanSolo títulos que permiten reventa
exclusive_availablebooleanSolo títulos con exclusividad disponible
pageintegerPredeterminado 1, mínimo 1
limitintegerPredeterminado 20, máximo 100
cursorstringCursor 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)

CampoSignificado
available_territories / available_languagesTerritorios y públicos disponibles
resale_allowed, exclusive_availableOpciones comerciales
rights_statusclear o restricted
risk_levelIndicador 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).