OpenAPI YAMLOpenAPI JSONproblemas YAMLResumen de la API
Este grupo tiene 12 operaciones, generadas a partir de api/openapi.yaml. Filtre por ruta, acción o autenticación. Cada endpoint indica sus entradas; despliéguelo para ver una plantilla de solicitud y los códigos de respuesta. Las plantillas necesitan sus propios valores y un cuerpo válido según el esquema.
Reemplace los marcadores en mayúsculas con sus valores. Para una solicitud JSON, guarde un cuerpo que coincida con el esquema en request.json. Los ejemplos de cookies usan un frasco de cookies local de una sesión autenticada.
Vinculación y sesiones del reproductor
Iniciar sesión de emparejamiento
Crea una sesión de vinculación global de flota que expira y establece la cookie de vinculación temporal HttpOnly Secure SameSite=Strict. Un origen no confiable o una solicitud de navegador entre sitios se rechaza con forbidden antes de crear límite de tasa o estado de vinculación.
Plantilla y respuestas de solicitud
curl --request POST 'https://play.screenrig.ai/screen/pairing-sessions'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Código de vinculación de seis caracteres exacto y fecha de expiración. | PairingSession (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 403 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 429 | Problema estable rate_limited en una ruta de ejecución o contenido orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Reintente solo después del intervalo Retry-After autorizado. Las denegaciones de ventana fija también incluyen la política RateLimit-Policy y los miembros RateLimit aplicables; las denegaciones por concurrencia y presupuesto de bytes omiten esas divulgaciones opcionales. | RuntimeProblem (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 500 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
Transmitir eventos de emparejamiento
Plantilla y respuestas de solicitud
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/stream/pairing-events'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | SSE de emparejamiento temporal autenticado. El dato terminal pairing.claimed es PairingClaimedEvent y contiene solo un nonce de finalización no secreto. | cadena (text/event-stream); encabezados: Cache-Control, X-Accel-Buffering |
| 401 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
Completar sesión de emparejamiento
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| completion_nonce (obligatorio, cadena) | patrón: "^[A-Za-z0-9_-]{43}$" |
Plantilla y respuestas de solicitud
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/pairing-sessions/complete'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Cookie de dispositivo vinculado emitida; el reproductor crea a continuación la sesión ordinaria de tiempo de ejecución vinculada. | PairingCompletion (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 403 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 429 | Problema estable rate_limited en una ruta de ejecución o contenido orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Reintente solo después del intervalo Retry-After autorizado. Las denegaciones de ventana fija también incluyen la política RateLimit-Policy y los miembros RateLimit aplicables; las denegaciones por concurrencia y presupuesto de bytes omiten esas divulgaciones opcionales. | RuntimeProblem (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 500 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
Crear sesión de ejecución anónima
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| public_id (requerido, cadena) | |
| reproducción (opcional, PlaybackHandshake) | Apretón de manos opcional de reproducción que un Player declara al iniciar. Es una pista que selecciona comportamiento, nunca autorización: miembros desconocidos y entradas del tipo incorrecto se ignoran, y un valor que no es objeto no negocia nada. La respuesta inicial refleja la intersección soportada como PlaybackGrant. adslot-v1 se concede solo a sesiones emparejadas. |
| reproductor (opcional, PlayerIdentity) | Autoidentificación del reproductor, enviada solo en las tres rutas mint (docs/player-compatibility.md §3.1). Es una pista y nunca una autorización, y no está cubierta por la prueba nativa. Se lee con tolerancia: los miembros desconocidos se ignoran, un miembro opcional inválido se descarta por sí solo, y un reproductor que no es un objeto o no tiene un tipo válido no declara nada. Nunca es un 400. Un mint emparejado lo almacena en la pantalla para el histograma de la flota del operador. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/sessions'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Cookie de sesión de ejecución solo lectura | RuntimeSession (application/json); encabezados: RateLimit-Policy, RateLimit |
| 404 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
Crear sesión de ejecución del dispositivo
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| public_id (opcional, cadena) | minLength: 1 |
| reproducción (opcional, PlaybackHandshake) | Apretón de manos opcional de reproducción que un Player declara al iniciar. Es una pista que selecciona comportamiento, nunca autorización: miembros desconocidos y entradas del tipo incorrecto se ignoran, y un valor que no es objeto no negocia nada. La respuesta inicial refleja la intersección soportada como PlaybackGrant. adslot-v1 se concede solo a sesiones emparejadas. |
| reproductor (opcional, PlayerIdentity) | Autoidentificación del reproductor, enviada solo en las tres rutas mint (docs/player-compatibility.md §3.1). Es una pista y nunca una autorización, y no está cubierta por la prueba nativa. Se lee con tolerancia: los miembros desconocidos se ignoran, un miembro opcional inválido se descarta por sí solo, y un reproductor que no es un objeto o no tiene un tipo válido no declara nada. Nunca es un 400. Un mint emparejado lo almacena en la pantalla para el histograma de la flota del operador. |
Plantilla y respuestas de solicitud
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/device-sessions'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Sesión de tiempo de ejecución vinculada | RuntimeSession (application/json) |
| 409 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
Iniciar sesión de emparejamiento nativo
Crea una sesión de vinculación solo nativa desde una clave pública Ed25519 del reproductor. La vinculación nativa no reclamada dura setenta y dos horas. Una reclamación exitosa reserva una pantalla y almacena la entrega cifrada duradera independientemente del vencimiento del localizador. No vincula la clave pública a un proyecto hasta la finalización firmada para esa credencial y nonce exactos.
Se rechazan cookies, credenciales de consulta, orígenes cruzados y Autorización. La repetición exacta de Idempotency-Key precede la admisión de nuevo abuso. La respuesta nunca establece una cookie. Una clave pública ya vinculada o explícitamente retirada devuelve enrollment_bound.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| Idempotency-Key | encabezado | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| kid (requerido, cadena) | patrón: "^[A-Za-z0-9_-]{43}$" |
| public_key (requerido, PlayerPublicKey) | |
| firma (obligatorio, cadena) | minLength: 80 maxLength: 4096 |
| host (opcional, RuntimeHostHint) | La pista opcional del host nativo al iniciar el emparejamiento, completar el emparejamiento y crear la sesión de identidad. Nombra un dispositivo y nunca es autorización. Se lee con tolerancia (docs/player-compatibility.md §1.1.1): se ignoran miembros desconocidos, se descarta un campo mal formado o una entrada de capacidades, se mantienen como máximo 32 capacidades, y un valor que no es un objeto o una plataforma fuera del patrón descarta toda la pista. Ninguno de estos rechaza la solicitud. Un Player aún envía solo los valores de plataforma registrados y los miembros a continuación, porque un backend precontrato rechaza cualquier otra cosa. |
| fleet_link (opcional, cadena) | Secreto opcional del enlace de flota tomado del fragmento de la URL del Player (#fleet=). Un enlace válido, habilitado y no vencido reclama de inmediato esta sesión de vinculación para su proyecto, o recupera la pantalla anterior del dispositivo; el fleet_link de la respuesta indica cuál de las dos. Al igual que host, se lee de forma tolerante: un valor con formato incorrecto o desconocido nunca rechaza el inicio. pattern: "^srfl_[A-Za-z0-9_-]{43}$" |
Plantilla y respuestas de solicitud
curl --request POST --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/pairing-sessions'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Código de vinculación nativo más credencial temporal ScreenRig-Pairing; sin Set-Cookie. | NativePairingSession (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 403 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 429 | Problema estable rate_limited en una ruta de ejecución o contenido orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Reintente solo después del intervalo Retry-After autorizado. Las denegaciones de ventana fija también incluyen la política RateLimit-Policy y los miembros RateLimit aplicables; las denegaciones por concurrencia y presupuesto de bytes omiten esas divulgaciones opcionales. | RuntimeProblem (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 500 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
Transmitir eventos de emparejamiento nativo
Vinculación exclusiva nativa SSE autenticada por exactamente un encabezado ScreenRig-Pairing Authorization. Se rechazan cookies y credenciales en la consulta. El evento terminal contiene solo el nonce de finalización no secreto.
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: ScreenRig-Pairing PAIRING' 'https://play.screenrig.ai/stream/native/pairing-events'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | SSE de emparejamiento nativo autenticado cuyo dato terminal es PairingClaimedEvent. | cadena (text/event-stream); encabezados: Cache-Control, X-Accel-Buffering |
| 401 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 403 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 429 | Problema estable rate_limited en una ruta de ejecución o contenido orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Reintente solo después del intervalo Retry-After autorizado. Las denegaciones de ventana fija también incluyen la política RateLimit-Policy y los miembros RateLimit aplicables; las denegaciones por concurrencia y presupuesto de bytes omiten esas divulgaciones opcionales. | RuntimeProblem (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 500 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
Completar sesión de emparejamiento nativo
Completa el emparejamiento nativo con un nonce de finalización y un JWS compacto EdDSA (op=pairing.complete) cuyo request_hash vincula la credencial de emparejamiento exacta y el nonce de finalización. No se acepta ni establece cookie. No se emite credencial ScreenRig-Device. El reproductor luego genera ScreenRig-Session desde una prueba de posesión.
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| kid (opcional, cadena) | patrón: "^[A-Za-z0-9_-]{43}$" |
| completion_nonce (obligatorio, cadena) | patrón: "^[A-Za-z0-9_-]{43}$" |
| public_key (requerido, PlayerPublicKey) | |
| firma (obligatorio, cadena) | JWS EdDSA compacto con op=pairing.complete y request_hash que vincula la credencial de emparejamiento exacta y el nonce de finalización. minLength: 80 maxLength: 4096 |
| host (opcional, RuntimeHostHint) | La pista opcional del host nativo al iniciar el emparejamiento, completar el emparejamiento y crear la sesión de identidad. Nombra un dispositivo y nunca es autorización. Se lee con tolerancia (docs/player-compatibility.md §1.1.1): se ignoran miembros desconocidos, se descarta un campo mal formado o una entrada de capacidades, se mantienen como máximo 32 capacidades, y un valor que no es un objeto o una plataforma fuera del patrón descarta toda la pista. Ninguno de estos rechaza la solicitud. Un Player aún envía solo los valores de plataforma registrados y los miembros a continuación, porque un backend precontrato rechaza cualquier otra cosa. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: ScreenRig-Pairing PAIRING' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/pairing-sessions/complete'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Finalización de vinculación nativa; sin Set-Cookie ni credencial de dispositivo. | NativePairingCompletion (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 403 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 429 | Problema estable rate_limited en una ruta de ejecución o contenido orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Reintente solo después del intervalo Retry-After autorizado. Las denegaciones de ventana fija también incluyen la política RateLimit-Policy y los miembros RateLimit aplicables; las denegaciones por concurrencia y presupuesto de bytes omiten esas divulgaciones opcionales. | RuntimeProblem (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 500 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
Crear desafío de identidad nativa
Emite un nonce de corta duración vinculado a la huella digital de la clave pública de un reproductor. Se rechazan cookies, credenciales en la consulta y Authorization.
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| kid (requerido, cadena) | Huella digital JWK SHA-256 RFC 7638. patrón: "^[A-Za-z0-9_-]{43}$" |
| public_key (opcional, PlayerPublicKey) | |
| op (requerido, cadena) | Permitido: "pairing.start", "pairing.complete", "session.mint", "identity.reset" |
| request_hash (requerido, cadena) | patrón: "^[0-9a-f]{64}$" |
Plantilla y respuestas de solicitud
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/identity/challenges'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Nonce de desafío para una prueba JWS compacta EdDSA; sin Set-Cookie. | NativeIdentityChallenge (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 429 | Problema estable rate_limited en una ruta de ejecución o contenido orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Reintente solo después del intervalo Retry-After autorizado. Las denegaciones de ventana fija también incluyen la política RateLimit-Policy y los miembros RateLimit aplicables; las denegaciones por concurrencia y presupuesto de bytes omiten esas divulgaciones opcionales. | RuntimeProblem (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 500 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
Crear sesión de ejecución de identidad nativa
Verifica un JWS compacto EdDSA (op=session.mint) contra la clave pública inscrita y devuelve una ScreenRig-Session firmada de siete días. Los Players emparejados renuevan después de un día con variación mediante esta misma firma; la renovación reemplaza la credencial sin cerrar un flujo de ejecución existente. Los metadatos de renovación son opcionales para los lectores y no requieren actualización del Player.
Las cookies no se aceptan ni se establecen. La repetición exacta de Idempotency-Key precede la admisión de nuevo abuso. Una pantalla archivada aún crea una sesión para que el player pueda mostrar la pantalla archivada. La creación de sesión requiere la vinculación exacta y duradera de proyecto y pantalla establecida por finalización firmada; las ofertas de reclamación pendientes no tienen autoridad de sesión.
La reproducción exacta vuelve a verificar esa vinculación y rechaza identidades retiradas.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| Idempotency-Key | encabezado | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| kid (requerido, cadena) | patrón: "^[A-Za-z0-9_-]{43}$" |
| public_key (requerido, PlayerPublicKey) | |
| firma (obligatorio, cadena) | JWS EdDSA compacto con op=session.mint. minLength: 80 maxLength: 4096 |
| host (opcional, RuntimeHostHint) | La pista opcional del host nativo al iniciar el emparejamiento, completar el emparejamiento y crear la sesión de identidad. Nombra un dispositivo y nunca es autorización. Se lee con tolerancia (docs/player-compatibility.md §1.1.1): se ignoran miembros desconocidos, se descarta un campo mal formado o una entrada de capacidades, se mantienen como máximo 32 capacidades, y un valor que no es un objeto o una plataforma fuera del patrón descarta toda la pista. Ninguno de estos rechaza la solicitud. Un Player aún envía solo los valores de plataforma registrados y los miembros a continuación, porque un backend precontrato rechaza cualquier otra cosa. |
| reproducción (opcional, PlaybackHandshake) | Apretón de manos opcional de reproducción que un Player declara al iniciar. Es una pista que selecciona comportamiento, nunca autorización: miembros desconocidos y entradas del tipo incorrecto se ignoran, y un valor que no es objeto no negocia nada. La respuesta inicial refleja la intersección soportada como PlaybackGrant. adslot-v1 se concede solo a sesiones emparejadas. |
| reproductor (opcional, PlayerIdentity) | Autoidentificación del reproductor, enviada solo en las tres rutas mint (docs/player-compatibility.md §3.1). Es una pista y nunca una autorización, y no está cubierta por la prueba nativa. Se lee con tolerancia: los miembros desconocidos se ignoran, un miembro opcional inválido se descarta por sí solo, y un reproductor que no es un objeto o no tiene un tipo válido no declara nada. Nunca es un 400. Un mint emparejado lo almacena en la pantalla para el histograma de la flota del operador. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/identity/sessions'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Sesión nativa vinculada; sin Set-Cookie. | NativeRuntimeSession (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 403 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 429 | Problema estable rate_limited en una ruta de ejecución o contenido orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Reintente solo después del intervalo Retry-After autorizado. Las denegaciones de ventana fija también incluyen la política RateLimit-Policy y los miembros RateLimit aplicables; las denegaciones por concurrencia y presupuesto de bytes omiten esas divulgaciones opcionales. | RuntimeProblem (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 500 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
Crear sesión de ejecución de enlace de pantalla
Emite una ScreenRig-Session de siete días a partir del secreto del enlace de pantalla en la dirección del Player (el valor srsl_ tras #screen= en https://play.<domain>/player/#screen=…), para un navegador que no conserva almacenamiento. El Player envía el secreto en cada carga y de nuevo para renovar; no guarda ninguna clave ni vinculación.
La reclamación de clave de dispositivo de la sesión lleva el id del enlace, de modo que reemplazar o eliminar el enlace la termina de inmediato en la API y en el borde. No se aceptan ni se establecen cookies. La repetición exacta de una Idempotency-Key precede a toda nueva admisión antiabuso. Una pantalla archivada aún emite una sesión para que el Player pueda mostrar el estado de archivada.
Un enlace reemplazado, eliminado o desconocido da screen_link_invalid (401, acción clear_lkg). Un host presente reemplaza la sugerencia de host guardada; player reemplaza el player guardado.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| Idempotency-Key | encabezado | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| screen_link (requerido, cadena) | patrón: "^srsl_[A-Za-z0-9_-]{43}$" |
| host (opcional, RuntimeHostHint) | La pista opcional del host nativo al iniciar el emparejamiento, completar el emparejamiento y crear la sesión de identidad. Nombra un dispositivo y nunca es autorización. Se lee con tolerancia (docs/player-compatibility.md §1.1.1): se ignoran miembros desconocidos, se descarta un campo mal formado o una entrada de capacidades, se mantienen como máximo 32 capacidades, y un valor que no es un objeto o una plataforma fuera del patrón descarta toda la pista. Ninguno de estos rechaza la solicitud. Un Player aún envía solo los valores de plataforma registrados y los miembros a continuación, porque un backend precontrato rechaza cualquier otra cosa. |
| reproducción (opcional, PlaybackHandshake) | Apretón de manos opcional de reproducción que un Player declara al iniciar. Es una pista que selecciona comportamiento, nunca autorización: miembros desconocidos y entradas del tipo incorrecto se ignoran, y un valor que no es objeto no negocia nada. La respuesta inicial refleja la intersección soportada como PlaybackGrant. adslot-v1 se concede solo a sesiones emparejadas. |
| reproductor (opcional, PlayerIdentity) | Autoidentificación del reproductor, enviada solo en las tres rutas mint (docs/player-compatibility.md §3.1). Es una pista y nunca una autorización, y no está cubierta por la prueba nativa. Se lee con tolerancia: los miembros desconocidos se ignoran, un miembro opcional inválido se descarta por sí solo, y un reproductor que no es un objeto o no tiene un tipo válido no declara nada. Nunca es un 400. Un mint emparejado lo almacena en la pantalla para el histograma de la flota del operador. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/link-sessions'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Sesión nativa vinculada; sin Set-Cookie. | NativeRuntimeSession (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 403 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 429 | Problema estable rate_limited en una ruta de ejecución o contenido orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Reintente solo después del intervalo Retry-After autorizado. Las denegaciones de ventana fija también incluyen la política RateLimit-Policy y los miembros RateLimit aplicables; las denegaciones por concurrencia y presupuesto de bytes omiten esas divulgaciones opcionales. | RuntimeProblem (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 500 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
Restablecer identidad nativa
El reinicio en el reproductor, invocado solo por una acción explícita y confirmada del operador en el dispositivo. El emparejamiento fallido, la creación de sesión o el acceso a la red nunca invocan automáticamente esta operación ni borran la clave local del reproductor. El endpoint verifica un JWS compacto EdDSA (op=identity.reset).
La pantalla vinculada a esta clave está archivada con archive_reason device_reset (ya archivada: sin cambios), y la clave permanece vinculada a ella: un dispositivo que aún posee la clave crea una sesión archivada (pantalla oscura) y reanuda al desarchivar sin necesidad de volver a emparejar, y la clave no puede iniciar un nuevo emparejamiento (enrollment_bound).
Las ofertas de reclamo nativo pendientes para la clave se retiran. Una clave que nunca vinculó una pantalla, o una clave ya retirada por recuperación de pantalla, se vuelve terminal en su lugar: no puede vincular ni crear sesiones nuevamente, y restablecer una clave retirada nunca afecta a la pantalla que posee su sucesor.
Si el proyecto inscrito ha sido eliminado, el restablecimiento firmado hace que la clave huérfana sea terminal sin archivar otra pantalla, para que el dispositivo pueda vincularse de nuevo. Después de una respuesta perdida, el Player conserva su clave local y puede reintentar con un nuevo desafío y prueba firmada fresca.
Un error de red solo no confirma un reinicio ni autoriza borrar esa clave (docs/player-compatibility.md §5.1). Sin portador de proyecto. No se aceptan ni establecen cookies.
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| kid (requerido, cadena) | patrón: "^[A-Za-z0-9_-]{43}$" |
| public_key (requerido, PlayerPublicKey) | |
| firma (obligatorio, cadena) | JWS EdDSA compacto. minLength: 80 maxLength: 4096 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/identity/reset'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 204 | Restablecimiento registrado: una pantalla vinculada a proyecto activo archivada con la clave mantenida; una clave de proyecto eliminado, desvinculada o retirada hizo terminal; o una clave desconocida respondió como una operación idempotente sin archivar nada. Un reintento autenticado de cualquiera de estos también tiene éxito. Sin Set-Cookie. | sin cuerpo; encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| 429 | Problema estable rate_limited en una ruta de ejecución o contenido orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Reintente solo después del intervalo Retry-After autorizado. Las denegaciones de ventana fija también incluyen la política RateLimit-Policy y los miembros RateLimit aplicables; las denegaciones por concurrencia y presupuesto de bytes omiten esas divulgaciones opcionales. | RuntimeProblem (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 500 | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas en una ruta de ejecución, contenido o sonda orientada al reproductor, en la forma del documento de ejecución (RuntimeProblem). Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | RuntimeProblem (application/problem+json) |