Autenticación
Todas las rutas protegidas requieren una clave Bearer salvo POST /partner-applications* y POST /api-keys/bootstrap. Mantenga las claves en el servidor y aplique privilegios mínimos. Consulte Buenas prácticas de seguridad.
Cabeceras de solicitud
| Cabecera | Obligatorio | Ejemplo | Notas |
|---|---|---|---|
Authorization | Sí | Bearer nsp_live_xxx | Clave Bearer. Obligatoria en toda ruta protegida. |
X-NU-Partner-Id | No | org_xxx | Aserción opcional. Si se envía, debe coincidir con la organización derivada de la clave. |
X-NU-Request-Id | No | req_01HQ... | ID estable opcional para trazabilidad y escrituras idempotentes compatibles. |
Accept-Language | No | ja-JP, en;q=0.8 | Selecciona el idioma de los mensajes de error de la API legibles por personas. Los valores no admitidos u omitidos usan inglés. |
curl "https://signal-partners.newunivers.ai/v1/catalog/titles" \
-H "Authorization: Bearer nsp_live_xxxxxxxxxxxx" \
-H "X-NU-Partner-Id: org_acme" \
-H "X-NU-Request-Id: req_01HQABCDEF" \
-H "Accept-Language: ja-JP, en;q=0.8"Accept-Language solo afecta a los mensajes legibles por personas. Lea el idioma seleccionado en Content-Language; las cachés deben respetar Vary: Accept-Language. Los tokens estables error.code e details[].issue no cambian con el idioma.
Content-Language: ja
Vary: Accept-LanguageClave Bearer
Envíe la clave exactamente como fue emitida. Solo se muestra una vez y nunca debe incluirse en código del navegador, URL ni registros. Consulte Claves de API.
X-NU-Partner-Id
La organización se deriva de forma segura de la clave. Una aserción que no coincida se rechaza como invalid_api_key. Omita esta cabecera salvo que la integración necesite una comprobación explícita de consistencia.
X-NU-Request-Id
Envíe un valor estable para correlacionar registros. La API lo devuelve como error.request_id. También aporta idempotencia a POST /playback/tokens, POST /licenses/requests y POST /api-keys/{id}/rotate. Los reintentos completados reproducen la respuesta original; un duplicado concurrente aún en proceso devuelve 409 conflict.
Errores de autenticación y autorización
| Situación | HTTP | error.code |
|---|---|---|
| Clave ausente o mal formada | 401 | invalid_api_key |
| Clave desconocida, caducada o de entorno incorrecto | 401 | invalid_api_key |
| Clave revocada | 401 | api_key_revoked |
| Falta el ámbito necesario | 403 | missing_scope |
| Clave de Sandbox usada en una ruta exclusiva de Production | 403 | production_key_required |
| Organización no aprobada | 403 | organization_not_approved |
| Derechos, territorio o episodio no autorizado | 403 | license_not_active / territory_not_allowed / episode_not_licensed |
401 significa que la credencial no se puede usar. 403 significa que la clave es válida pero no tiene permiso para la operación. Consulte Códigos de error.
Ámbitos
| Ámbito | Permiso |
|---|---|
catalog:read | Leer títulos, Experience y episodios visibles del catálogo. |
license:read | Solicitar cotizaciones y leer acuerdos de licencia. |
license:write | Crear solicitudes de licencia. |
api_keys:read | Listar claves de API sin secretos. |
api_keys:write | Crear, actualizar, rotar y revocar claves de API. |
playback:token | Crear tokens de reproducción y consultar o revocar sesiones. |
events:write | Enviar eventos individuales o por lotes. |
settlement:read | Leer liquidaciones y partidas de Production. |
settlement:dispute | Abrir impugnaciones de liquidación. |
Cree claves separadas por carga de trabajo y conceda solo los ámbitos necesarios. Mantenga api_keys:write en una clave operativa guardada en bóveda, no en claves de reproducción o eventos.