OpenAPI YAMLOpenAPI JSONproblemas YAMLResumen de la API
Este grupo tiene 24 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.
Manifiesto, informes y eventos de tiempo de ejecución
Aprovisionamiento de navegador Exchange
Intercambio solo de mismo origen para navegador. Vincula atómicamente el token de un solo uso a exchange_id y establece solo la cookie normal de dispositivo emparejado host-only HttpOnly Secure SameSite=Strict. Android y Qt nunca consumen esta concesión.
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| provisioning_token (requerido, cadena) | patrón: "^[A-Za-z0-9_-]{43}$" |
| exchange_id (requerido, cadena) | patrón: "^xchg_[A-Za-z0-9_-]{43}$" |
Plantilla y respuestas de solicitud
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/browser-provisioning/exchanges'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Cookie de dispositivo vinculado emitida sin cookie de tiempo de ejecución ni credencial en el cuerpo. | BrowserProvisioningCompletion (application/json); encabezados: Cache-Control, Referrer-Policy, 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) |
| 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) |
| 410 | 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) |
Obtener Chrome de ejecución
Stage-chrome para la sesión de ejecución actual. No forma parte del manifiesto de ejecución. La autenticación es la misma cookie de ejecución o ScreenRig-Session que GET /screen/manifest. Cache-Control es privado, no almacenar. banner siempre es nulo.
Plantilla y respuestas de solicitud
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/chrome'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Chrome de tiempo de ejecución | RuntimeChrome (application/json); encabezados: Cache-Control |
| 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) |
Obtener manifiesto de ejecución
La ruta única del manifiesto de tiempo de ejecución, para cada sesión. schemaVersion es 3. Manifiesto del reproductor resuelto; la proyección es a prueba de fallos, y las páginas y primitivas inválidas se omiten y listan en diagnósticos.
Las páginas de espacios publicitarios se incluyen solo para una sesión emparejada concedida adslot-v1; todas las demás sesiones, incluido un espectador anónimo de pantalla pública, reciben contenido de casa sin página de espacio publicitario. Las claves raíz permanecen en camelCase; las claves de página de espacio publicitario permanecen como id, type, adslot_id y visibilidad opcional en snake_case.
Regla de compatibilidad 4 — 200 con pages [] y diagnostics no vacío es una proyección degradada (el Player mantiene el último estado bueno conocido); 200 con pages [] y sin diagnostics es una asignación vacía intencional (docs/player-compatibility.md §1.4).
A una pantalla suspendida se le sirve pages [] sin diagnostics, con el miembro suspension y una revisión de manifiesto propia, tenga o no una lista de reproducción asignada (§6.9). Una pantalla archivada devuelve el problema screen_archived y no debe actualizar el último estado bueno conocido.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| stream_transports | consulta | opcional | Transportes de transmisión compatibles separados por comas (hls,udp-mpegts,rtsp). La omisión proyecta transmisiones a imágenes de respaldo. Solo negociación de renderizado, nunca autorización. Anuncie udp-mpegts solo cuando esté habilitado localmente. |
Plantilla y respuestas de solicitud
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifest'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Manifiesto del reproductor resuelto. | RuntimeManifest (application/json) |
| 304 | Manifiesto sin cambios | sin cuerpo |
| 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) |
Transmitir eventos en tiempo de ejecución
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| después | consulta | opcional | Un cursor de una respuesta previa: ev1_ para eventos de proyecto (y los flujos de eventos). El registro del Player (source=log) pagina con cursores lg1_ o ev1_ según donde el servidor lo guarda; trátelos como opacos y devuelva el que una página retornó. Un cursor de otro tipo se rechaza con invalid_request. |
| Last-Event-ID | encabezado | opcional | Cursor duradero usado cuando after está ausente. |
Plantilla y respuestas de solicitud
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/stream/events'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | SSE duradero con alcance de pantalla. El cursor de consulta tiene prioridad sobre Last-Event-ID; cada evento lleva un id cursor adecuado para reconexión. Servido por el sidecar de flujo desde Valkey (stream-valkey/v1); el flujo no lleva cuadros stream.cursor, y un cursor avanza solo con eventos entregados. Los cursores inválidos, futuros o pre-retención reciben stream.resync_required en la cabeza actual y se cierran. screen.toast y screen.screenshot_requested son eventos de audiencia en tiempo de ejecución; scan nunca entrega detalles pasados de details.expires_at. Los bytes de la imagen de la captura de pantalla nunca están en este flujo. screen.archived y screen.unarchived son eventos de audiencia en tiempo de ejecución; no borran credenciales. screen.deleted es un evento de audiencia en tiempo de ejecución entregado cuando la identidad firmada restablecida marca la pantalla. Ningún evento en tiempo de ejecución autoriza borrar la identidad local. Solo un reinicio firmado exitoso iniciado por una acción local confirmada del player permite la rotación de identidad local. project.suspended y project.resumed son indicios de audiencia en tiempo de ejecución cuando los impactos prepagados restantes llegan a cero o se vuelven positivos. La audiencia de tiempo de ejecución es una lista blanca (docs/player-compatibility.md §7.1): screen.content_changed, screen.manifest_changed, screen.toast, screen.screenshot_requested, screen.archived, screen.unarchived, screen.deleted, screen.device_credential_revoked, project.suspended, project.resumed, player.reload, que llega a cada sesión de tiempo de ejecución, los comandos por pantalla player.reboot y player.display (docs/player-compatibility.md §6.5), player.play_page (§6.3.1) y player.identify (§6.3.2), nunca entregados después de details.expires_at, y screen.card_data_changed (resource {type: card_data, key}, details {revision} o {deleted: true}), dirigido solo a las pantallas cuyo contenido actual lee esos datos de tarjeta o esa clave de feed. Ningún otro tipo se publica en la transmisión. Los reproductores ignoran tipos de eventos desconocidos, incluido el tipo de mensaje predeterminado, y nombres de campos desconocidos, y avanzan el cursor desde cada id. La transmisión se abre con su propio reintento, calculado por conexión entre 3000 y 15000 ms para que las transmisiones caídas juntas no se reconecten juntas; un host en drenaje envía a cada transmisión su propio reintento entre 1000 y 30000 ms. El marco de problema en banda (evento: problem) no tiene id; sus datos son {code, detail, action?}, donde action está presente cuando el registro define uno, y el flujo se cierra (payment_required establece retry: 60000). El marco fleet player.reload no tiene id y nunca mueve el cursor. Ningún marco lleva más de 64 KiB de datos. | cadena (text/event-stream); encabezados: X-Accel-Buffering |
| 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 informe de ejecución
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/reports'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | Aceptado tras persistencia duradera. Un lote de telemetría se acepta o rechaza como unidad. Devuelve 202 solo después de que sus observaciones en bruto son duraderas y luego su marca de agua de flujo se ha movido; devuelve stream_id, sequence, accepted (conteo de informes) y duplicate. Un lote que cambia el estado más reciente de salud u observación o el espacio de fallo de página, o agrega eventos del proyecto, confirma su marca de agua con ese estado en una escritura de pantalla, y agrega sus eventos en la misma transacción. Un lote que no cambia ninguno de ellos, como un lote constante de reproducciones e informes de condición, mueve solo su marca de agua, mantenida en Valkey durante 25 horas; mientras Valkey no está disponible o se queda sin memoria, la escritura de pantalla la mantiene en su lugar. Un lote rechazado (repetición conflictiva, capacidad de flujo completa, autoridad retirada) no almacena nada, excepto un nuevo flujo que pierde el último lugar del flujo de la pantalla ante un nuevo flujo concurrente, que se rechaza después de almacenar sus observaciones en bruto. Un lote que no fue reconocido debido a un error de servidor o una conexión perdida puede haber almacenado algunas de sus observaciones sin procesar; reproducir los mismos bytes almacena cada observación faltante una vez, nunca almacena una dos veces, y luego reconoce. Una reproducción de un lote reconocido devuelve 202 con duplicado verdadero y no cambia nada. Una marca de agua mantenida en Valkey puede perderse o retrasarse en un failover, nunca avanzar, por lo que una secuencia más allá de la marca de agua del flujo se acepta como la siguiente del flujo sin rechazo por hueco, y una repetición cuya marca de agua se perdió se acepta de nuevo con duplicate false; sus reproducciones aún se almacenan una vez y los registros del Player se colapsan en sus identidades. Los informes individuales conservan su respuesta existente. Un informe de condición en tiempo de ejecución (cualquier otro código de informe, como player.page_skipped) se registra en el log del Player (GET /api/events?source=log), no en los eventos del proyecto, y se reconoce cuando la cola del log del Player lo acepta; no está en el flujo de eventos ni se entrega a webhooks. manifest.activated se confirma antes de esta respuesta y es idempotente para la revisión activa actual. playback.media_started, playback.video_started heredado y playback.application_started agregan de forma duradera una observación autenticada de pantalla (GET /api/playback/plays) antes de esta respuesta; las identidades de ítem, página y manifiesto reportadas no requieren membresía de contenido actual ni autorizan acceso al contenido. Los conteos diarios, metadatos opcionales y last_used_at de recursos propiedad del proyecto se actualizan por lotes recuperables y pueden retrasarse respecto a la observación en bruto. Las respuestas ordinarias de inicio de reproducción omiten encabezados opcionales de saldo de créditos. playback.page_failed reemplaza el último espacio de fallo de página de la pantalla y añade un evento duradero solo de proyecto en la misma transacción sin cambiar la revisión de pantalla o manifiesto. manifest.upgrade almacena el único espacio de actualización de manifiesto de última victoria de la pantalla detrás de sus cercas de revisión y añade un evento duradero solo de proyecto en la misma transacción solo cuando cambia el estado derivado; se acepta un informe preactivación obsoleto, superado o posterior a la activación sin cambio, y ningún informe promueve una concesión. application.event añade un evento duradero de proyecto antes de esta respuesta. | sin cuerpo; encabezados: RateLimit-Policy, RateLimit |
| 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) |
Poner captura de pantalla de ejecución
Sube el WebP fijo pendiente actual para la pantalla de la sesión. La ruta no nombra screen_id; la sesión de tiempo de ejecución emparejada lo vincula. El encabezado ScreenRig-Capture-Id debe ser el capture_id pendiente actual. Content-Type es exactamente image/webp. El cuerpo es WebP sin procesar, no vacío, con un máximo de 2097152 bytes.
El servidor valida la magia RIFF/WEBP, decodifica un fotograma fijo y almacena los bytes subidos sin cambios. WebP animado es invalid_request. capture_id faltante, desconocido, caducado o no actual es resource_conflict. Las sesiones no emparejadas están prohibidas. El crédito prepago restante no es una barrera y estos bytes no se cuentan en used_bytes.
Se reemplaza un espacio por pantalla. screen.screenshot_ready detalla nombre capture_id, bytes, ancho, alto y sha256; nunca incluyen píxeles ni clave de objeto.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Capture-Id | encabezado | requerido | |
| ScreenRig-Capture-Failure | encabezado | opcional | Reportar captura no disponible con un cuerpo vacío. Los Players envían unsupported_surface o capture_failed. Cualquier otro valor no vacío se registra como capture_failed, nunca se rechaza (docs/player-compatibility.md §1.1). Solo la captura pendiente actual puede fallar. No se almacenan píxeles ni imágenes parciales; screen.screenshot_failed contiene esta razón y el estado se vuelve no disponible. |
Plantilla y respuestas de solicitud
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'ScreenRig-Capture-Id: VALUE' --header 'Content-Type: image/webp' --data-binary '@request.bin' 'https://play.screenrig.ai/screen/screenshot'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 204 | Imagen fija WebP almacenada como la ranura actual. | sin cuerpo; encabezados: Cache-Control |
| 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) |
| 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) |
Resolver espacios publicitarios
Resuelve hasta 16 ocurrencias de página verificadas por el servidor. Un candidato nuevo con posible llenado se valora atómicamente, se verifica el presupuesto y se reserva contra la barrera de precios de la campaña. Un candidato nuevo sin posible llenado devuelve vacío sin crear una decisión o reserva.
Ninguna campaña elegible o asequible es un resultado vacío exitoso sin contenido ni débito; nunca es un desafío de pago. Los resultados vacíos pueden incluir una pista de no llenado con reloj de servidor que dura como máximo 60 segundos y termina en un límite de elegibilidad conocido anterior.
Las pistas se aplican a la misma pantalla, manifiesto, página, espacio y contexto de elegibilidad; nunca autorizan la reproducción. Una renovación de arrendamiento reutiliza la misma reserva y no avanza la rotación, y se niega mientras la campaña requiera reaceptación del precio.
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| manifest_revision (requerido, cadena) | |
| candidatos (requerido, arreglo) |
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/adslots/resolve'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Por resultados llenos o vacíos por candidato en orden de solicitud. | RuntimeAdslotResolveResponse (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | invalid_request - tamaño del lote, claves duplicadas o ventana de pronóstico inválida. | RuntimeProblem (application/problem+json) |
| 409 | resource_conflict: un candidato se reutilizó con un hash de solicitud diferente. | 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 |
| 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) |
Reportar eventos de espacio publicitario
Evidencia de reproducción autenticada. Los eventos se deduplican por pantalla e ID de evento. Una finalización válida consume su reserva retenida una vez al precio y tarifa reservados, acredita al vendedor bruto y debita la tarifa de servicio en una sola transacción. Un evento terminal no reproducción confirmado libera la retención una vez.
La finalización recibida después de la liberación no es facturable y nunca debita créditos nuevos. La finalización antes del inicio se mantiene pendiente de conciliación.
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| eventos (requerido, arreglo) |
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/adslots/events'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Por resultados de eventos. | RuntimeAdslotEventResponse (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 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 |
| 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) |
Poner observación de ejecución
Informa la superficie de reproducción que el reproductor emparejado usó para el último resolveLayout. La ruta no nombra screen_id; la sesión de tiempo de ejecución emparejada lo vincula. El cuerpo es JSON ScreenObservation: observed_at más una a doce superficies; un Player que maneja un muro de video informa una por salida, id = el nombre de la salida.
Los números son píxeles independientes del dispositivo y la relación de píxeles del dispositivo junto a esa superficie de diseño, no el tamaño del autor del lienzo ni el tamaño codificado de la captura de pantalla. Solo se verifican en rango y nunca se prueban como hardware o autorización. La última escritura gana y reemplaza todo el arreglo de superficies.
Una tupla de superficies idéntica (id, ancho, alto, pixel_ratio, presentación, rotación) no emite screen.surface_changed; un observed_at posterior en la misma tupla se ignora. Las sesiones públicas no emparejadas y anónimas están prohibidas. Las cookies nativas son rechazadas; el navegador no debe adoptar perfiles de encabezado. El crédito prepago restante no es una barrera.
La observación está ausente en GET /api/screens hasta el primer informe aceptado. ScreenPatch no puede escribirla. Una pantalla archivada responde con 409 screen_archived. Máximo 12 informes por minuto por sesión emparejada (runtime-observation): un 429 significa reintentar no antes de Retry-After.
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| observed_at (requerido, cadena) | formato: "date-time" |
| superficies (requerido, arreglo) | De una a doce superficies; un Player que controla un muro de video informa una por salida, id = el nombre de la salida. |
Plantilla y respuestas de solicitud
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/observation'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 204 | Observación almacenada como el arreglo actual de superficies. | 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) |
| 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 |
| 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) |
Poner estado de ejecución
Informa sobre la salud del dispositivo para la pantalla de la sesión emparejada. Envíe uno al inicio de la sesión y cada quince minutos, y uno inmediato cuando cambie la conexión o la energía del monitor.
Cada miembro es opcional y el cuerpo se lee con tolerancia (docs/player-compatibility.md §1.1): los miembros desconocidos se ignoran, un valor fuera de rango se descarta, y un display.power o network.kind desconocido se lee como desconocido; solo un miembro con tipo JSON incorrecto es 400 (un número fuera del rango float64 está fuera de rango: ese miembro se descarta).
El valor almacenado es el ScreenHealth saneado más server reported_at, reemplazando el informe anterior. Como máximo un informe por pantalla por minuto (runtime-health): un 429 significa descartar este informe y enviar el siguiente según el programa, nunca reintentar antes de Retry-After (al menos 1 segundo).
Un error 400 o de servidor no consume el minuto; todas las sesiones de una pantalla lo comparten. Requiere una sesión emparejada con health.write (una sesión emparejada creada antes de que existiera health.write es admitida por runtime.report); las sesiones no emparejadas y anónimas están prohibidas y una pantalla archivada responde 409 screen_archived.
Un informe de una sesión más antigua que la generación actual de acceso al contenido de la pantalla es rechazado con 401. Archivar y recuperar pantalla limpia Screen.health. Un backend sin esta ruta responde 404: continuar reproduciendo y dejar de reportar salud para esa sesión. Las transiciones agregan screen.health_changed solo para el proyecto (nunca en GET /screen/events).
La salud nunca es autorización.
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| uptime_s (opcional, entero) | Segundos desde que el dispositivo (SO) arrancó. mínimo: 0 |
| app_uptime_s (opcional, entero) | Segundos desde que el proceso Player comenzó. mínimo: 0 |
| memory (opcional, objeto) | |
| cpu (opcional, objeto) | |
| temperature_c (opcional, número) | Temperatura del SoC o panel en grados Celsius. mínimo: -50 máximo: 150 |
| display (opcional, objeto) | |
| red (opcional, objeto) | |
| battery (opcional, objeto) | La batería del dispositivo. Envíela solo cuando el dispositivo tenga una (BatteryManager de Android con EXTRA_PRESENT). Un cambio de fuente (enchufado o desenchufado) se informa de inmediato, como un cambio de monitor. |
| crashes_24h (opcional, entero) | Fallos del Player en las últimas 24 horas continuas. mínimo: 0 máximo: 1000000 |
| renderer_restarts_24h (opcional, entero) | Reinicios de renderer o vista web en las últimas 24 horas móviles. mínimo: 0 máximo: 1000000 |
Plantilla y respuestas de solicitud
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/health'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 204 | Informe de salud almacenado. | 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) |
| 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 |
| 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) |
Poner almacenamiento de ejecución
Informa sobre el almacenamiento nativo del reproductor, el plan de almacenamiento del reproductor y la contabilidad de bytes transferidos. La ruta no nombra screen_id; la sesión de tiempo de ejecución emparejada lo vincula. Las sesiones no emparejadas y anónimas están prohibidas. Se rechazan las cookies nativas; el navegador no debe adoptar perfiles de encabezado. Se ignoran miembros desconocidos (docs/player-compatibility.md §1.1).
El valor almacenado es el ScreenStorage del proyecto saneado más server received_at, no el cuerpo sin procesar. manifest_revision debe ser la revisión deseada o activa de la pantalla, o la respuesta es 409 resource_conflict y no se almacena nada. Los ids de página excluidos deben existir en esa revisión.
Una clase de ajuste idéntica no emite screen.storage_shortfall ni screen.storage_shortfall_cleared. Esos eventos son solo para el proyecto y no se entregan en GET /screen/events. El almacenamiento nunca es autorización ni admisión. ScreenPatch no puede escribirlo. Un informe con más de 24 horas desde received_at está obsoleto para los consumidores.
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| observed_at (requerido, cadena) | formato: "date-time" |
| volumen (requerido, ScreenStorageVolume) | |
| cache (requerido, ScreenStorageCache) | |
| durabilidad (requerido, cadena) | Permitido: "durable", "purgeable" |
| plan (requerido, ScreenStoragePlan) | |
| transfer_24h (requerido, ScreenStorageTransfer) |
Plantilla y respuestas de solicitud
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/storage'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 204 | Informe de almacenamiento guardado. | 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) |
| 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 | resource_conflict: manifest_revision no es la revisión deseada o activa de la pantalla. El informe no se almacena. | 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 |
| 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) |
Poner estado de tiempo de ejecución
Informa la ficha de estado que el Player emparejado muestra en pantalla: la condición de screenrig.overlay/v1 que gana su rango, o null cuando no se muestra ninguna ficha. La ruta no nombra screen_id; la sesión de tiempo de ejecución emparejada lo vincula.
El cuerpo es JSON RuntimeStatusWrite {observed_at, chip}; se ignoran miembros desconocidos (docs/player-compatibility.md §1.1). chip debe ser el id de una condición del catálogo del backend (packages/overlay/overlay.json, el archivo que los Players incorporan); el aviso de actualización y los mensajes de inicio no son fichas.
Si falta chip, el valor es de otro tipo o el id no figura en el catálogo, la respuesta es 400 invalid_request con errors[0].field chip, y no se guarda nada. El valor almacenado es ScreenStatus del proyecto: level e icon son los del catálogo para chip, nunca los del Player, y received_at es la hora de recepción del servidor. La última escritura gana y reemplaza todo el estado.
Un informe que no cambia chip, level ni icon es una operación nula: conserva los observed_at y received_at almacenados y no agrega nada. Un cambio agrega screen.status_changed solo para el proyecto, con details {chip, level, icon}, nunca entregado en GET /screen/events. Las sesiones públicas no emparejadas y anónimas están prohibidas.
Las cookies nativas son rechazadas; el navegador no debe adoptar perfiles de encabezado. El crédito prepago restante no es una barrera. El estado está ausente en GET /api/screens hasta el primer informe aceptado y se borra al restablecer la identidad, desvincular y archivar. ScreenPatch no puede escribirlo. Una pantalla archivada responde con 409 screen_archived.
Máximo 12 informes por minuto por sesión emparejada (runtime-status): un 429 significa reintentar no antes de Retry-After. Un backend sin esta ruta responde 404: continuar reproduciendo y dejar de reportar el estado de esa sesión. El estado nunca es autorización ni admisión. Las reglas del Player están en docs/player-compatibility.md §9.5.
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| observed_at (requerido, cadena) | Reloj del Player cuando el chip cambió por última vez o cuando inició la sesión. formato: "date-time" |
| chip (requerido, en línea) | El id de la condición de screenrig.overlay/v1 que muestra el Player (conditions[].id en packages/overlay/overlay.json), o null cuando no muestra ninguna ficha, como en una superficie suprimida (fatal, starting, pairing). Requerido. Se rechaza un id que el catálogo del backend no lista. |
Plantilla y respuestas de solicitud
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/status'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 204 | Estado almacenado o sin cambios. | 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) |
| 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 |
| 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) |
Poner etiqueta de pantalla de ejecución
Renombra la pantalla vinculada a la sesión de ejecución emparejada. Es el mismo cambio que PATCH /api/screens/{id} name: el servidor quita los espacios al inicio y al final de screen_label y requiere de 1 a 120 caracteres sin caracteres de control, de lo contrario invalid_request.
El cambio de nombre registra los mismos eventos de pantalla y, en una pantalla asignada, cambia la etiqueta screen_label del manifiesto y emite screen.manifest_changed al Player. La ruta y el cuerpo no nombran screen_id; la sesión de tiempo de ejecución emparejada lo vincula. No hay If-Match ni Idempotency-Key; gana la última escritura. La autenticación es la cookie de tiempo de ejecución o ScreenRig-Session, como GET /screen/chrome.
Las sesiones anónimas y no emparejadas no están autorizadas. Una pantalla archivada es screen_archived. El crédito prepago restante no es una barrera. Un Player que recibe 404 trata la ruta como no soportada y mantiene el nombre localmente (docs/player-compatibility.md §2.5).
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| screen_label (requerido, cadena) | minLength: 1 |
Plantilla y respuestas de solicitud
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/screen-label'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Pantalla renombrada. screen_label es el nombre almacenado. | RuntimeScreenLabel (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 |
| 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) |
Publicar resultado de comando de tiempo de ejecución
Un Player emparejado informa cómo terminó un comando que se le envió (docs/player-compatibility.md §6.5.1): done o failed, con un token de causa estático y un detalle breve opcional. El comando pasa a done o failed en Screen.commands con done_at, cause y detail, y se añade screen.command_result, solo del proyecto.
Solo un comando sent de la pantalla de la sesión admite un resultado: un id que la pantalla no lista, o uno que no está sent, es 404 not_found y el Player descarta el informe. Una repetición exacta del resultado registrado es 202 y no cambia nada; un resultado distinto para un comando terminado es 409 resource_conflict. Un resultado failed requiere cause.
La ruta y el cuerpo no nombran la pantalla; la sesión de tiempo de ejecución emparejada la vincula. La autenticación es la cookie de tiempo de ejecución o ScreenRig-Session. Las sesiones anónimas y no emparejadas son unauthorized; una pantalla archivada es screen_archived. El crédito prepagado restante no es una barrera.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| command_id | ruta | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| state (requerido, cadena) | Permitidos: "done", "failed" |
| cause (opcional, cadena) | Un token estático: obligatorio con failed (clear_failed, restart_failed, update_check_failed, download_failed, install_failed, no_update_channel), opcional con done (cleared, restarted, up_to_date, updated). pattern: "^[a-z0-9_]{1,40}$" |
| detail (opcional, cadena) | Una frase corta sin caracteres de control; nunca una URL con credenciales, un token ni una ruta privada. maxLength: 200 |
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/commands/COMMAND_ID/result'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | Almacenado, o una repetición exacta del resultado almacenado. | 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) |
| 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 |
| 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) |
Unirse a la sesión en vivo
Un Player que recibió player.live_publish se une a la sesión (docs/player-compatibility.md §6.10.2): obtiene ice_servers TURN de corta duración, el arrendamiento, los límites de vídeo que puede publicar y el período del latido. El live_id debe ser la sesión actual de la pantalla; si no, 410 live_session_ended (dejar de publicar y seguir reproduciendo).
La autenticación es la cookie de ejecución emparejada o ScreenRig-Session.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| live_id | ruta | requerido |
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/live/LIVE_ID/join'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | La sesión en la que publica el Player. | RuntimeLiveJoin (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) |
| 410 | 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 |
| 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) |
Oferta de la sesión en vivo
The Player sends its gathered sendonly offer: exactly one video m-section, ICE gathering complete or two seconds old, no separate candidates ever. The backend opens a fresh media relay session for it, replacing any earlier publisher of the session, and returns the relay's answer, which the Player applies with setRemoteDescription.
Ninguna sección m de vídeo, o dos, es invalid_request. Un fallo del relé es dependency_unavailable. 410 live_session_ended cuando el live_id no es la sesión actual de la pantalla.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| live_id | ruta | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| sdp (requerido, cadena) | Una sola sección m de vídeo sendonly; recopilación ICE completa o de dos segundos. |
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/live/LIVE_ID/offer'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | La respuesta del relé. | RuntimeLiveOffer (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) |
| 410 | 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 |
| 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) |
Latido de la sesión en vivo
The Player reports its connection state and what its encoder sends every 20 seconds. The answer carries the lease; a lapsed lease or max_until ends the session here with 410 live_session_ended, and the Player stops publishing. The report is the Player's own word and feeds publisher.connected on the project API.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| live_id | ruta | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| connection (requerido, cadena) | Permitidos: "new", "connecting", "connected", "disconnected", "failed", "closed" |
| video (opcional, object) |
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/live/LIVE_ID/heartbeat'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | La sesión está en vivo; lease_until y max_until son sus límites. | RuntimeLiveHeartbeatAnswer (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) |
| 410 | 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 |
| 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) |
Sesión en vivo detenida
The Player reports it stopped publishing. The reason is an open enum (stopped, lease_ended, superseded, consent_denied, consent_timeout, projection_stopped, capture_failed, encoder_unavailable, connection_failed, relay_refused); a reason this server does not know reads player_stopped. 204 always, also for a live_id that is not the screen's current session.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| live_id | ruta | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| razón (requerida, cadena) | stopped, lease_ended, superseded, consent_denied, consent_timeout, projection_stopped, capture_failed, encoder_unavailable, connection_failed or relay_refused. An open enum; an unknown reason reads player_stopped. |
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/live/LIVE_ID/stopped'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 204 | Registrado. | 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) |
| 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) |
| 410 | 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 |
| 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) |
Obtener listas de reproducción de pantalla de ejecución
Enumera las listas de reproducción que el menú de configuración en el dispositivo del Player vinculado ofrece para la pantalla: las listas de reproducción activas del proyecto de la pantalla que tienen una versión aprobada, ordenadas alfabéticamente por nombre sin distinguir mayúsculas, luego por id. Se devuelven como máximo 500; hay más si el proyecto tiene más listas de reproducción.
La sesión de tiempo de ejecución emparejada vincula el proyecto; la ruta no nombra ninguno. La autenticación es la cookie de tiempo de ejecución o ScreenRig-Session, como GET /screen/chrome. Las sesiones anónimas y no emparejadas no están autorizadas. Una pantalla archivada es screen_archived. Cache-Control es private, no-store.
Un Player que recibe 404 trata la ruta como no compatible y la reporta como cualquier otra falla al cargar la lista (docs/player-compatibility.md §2.6).
Plantilla y respuestas de solicitud
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/playlists'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Las listas de reproducción asignables del proyecto. | RuntimeScreenPlaylists (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 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 |
| 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) |
Poner lista de reproducción de pantalla de ejecución
Asigna una lista de reproducción a la pantalla vinculada a la sesión de tiempo de ejecución emparejada. Es la misma asignación que PATCH /api/screens/{id} playlist_id, hecha por la persona en el dispositivo: no se abre revisión.
La lista de reproducción debe pertenecer al proyecto de la pantalla y tener una versión aprobada (de lo contrario playlist_not_approved); una lista de reproducción que no existe en el proyecto es invalid_request. La asignación registra los mismos eventos de pantalla y emite screen.manifest_changed al Player.
Establece la playlist asignada a la pantalla; una toma activa o una entrada de programación de playlist coincidente aún decide qué se reproduce. Path y body no nombran screen_id; la sesión runtime emparejada lo vincula. Sin If-Match ni Idempotency-Key; gana la última escritura. Auth es la cookie runtime o ScreenRig-Session, como GET /screen/chrome.
Las sesiones anónimas y no emparejadas no están autorizadas. Una pantalla archivada es screen_archived. Un Player que recibe 404 trata la ruta como no soportada y la reporta como cualquier otro fallo al cambiar la playlist (docs/player-compatibility.md §2.6).
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| playlist_id (requerido, cadena) | minLength: 1 |
Plantilla y respuestas de solicitud
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/playlist'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Lista de reproducción asignada. playlist_id es la lista de reproducción asignada a la pantalla. | RuntimeScreenPlaylist (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 |
| 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) |
Desemparejar Runtime
Desvinculación solo con cookie. Archiva una pantalla vinculada por cookie que no tiene inscripción de clave pública del player, con archive_reason device_unpair. La credencial del dispositivo permanece vinculada: un navegador que aún la posee crea una sesión archivada (pantalla oscura), y desarchivar la reanuda sin necesidad de volver a vincular (docs/player-compatibility.md §5.1).
Una pantalla que ya está archivada, o ya no existe, es éxito. Las pantallas inscritas por identidad devuelven screen_archive_required; esos players solo se reinician vía POST /screen/native/identity/reset. La ruta y el cuerpo no nombran screen_id; la sesión de tiempo de ejecución emparejada lo vincula. Sin If-Match ni Idempotency-Key. El navegador 204 expira las cookies de runtime, dispositivo y host de emparejamiento.
Las llamadas nativas vinculadas a identidad nunca devuelven 204. Las sesiones anónimas o no vinculadas están prohibidas. El crédito prepago restante no es una barrera.
Plantilla y respuestas de solicitud
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/unpair'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 204 | Pantalla vinculada a cookie archivada con su credencial mantenida. Cookies de vinculación de navegador expiradas. | sin cuerpo; encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 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 |
| 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) |
Lanzar versión de aplicación
Emite el ticket de un solo uso para una versión de aplicación del manifiesto actual de la pantalla. launch_url es la página de índice del host de la versión con ticket primero y luego los params de la aplicación (los params de la primitiva, rellenados con los datos de esta pantalla, codificados en porcentaje, con un máximo de 4096 caracteres en conjunto), de modo que la aplicación los lee desde location.search.
Solo el Player web y los Players que lo ejecutan llaman a esta ruta; los Players Qt, Android, Apple y Windows cargan la aplicación desde su paquete local y no reciben params. El host de la versión los pasa a la página y añade su propio marcador de política.
Una pantalla a la que le falta un valor que lee un parámetro, o cuyos valores forman más del límite, no tiene esa aplicación en su manifiesto (diagnóstico screen_fact_missing o screen_fact_invalid), y se rechaza un lanzamiento para su versión.
Los params no están vinculados al ticket: una aplicación los trata como indicaciones no confiables y lee la identidad de la pantalla desde context.screen_id.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| manifest_revision | ruta | requerido | |
| release_id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifests/MANIFEST_REVISION/releases/RELEASE_ID/launch'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Ticket de lanzamiento de host de lanzamiento exacto de un solo uso de 30 segundos | ReleaseLaunch (application/json); encabezados: Referrer-Policy, RateLimit-Policy, RateLimit |
| 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) |
Resolver todos los selectores dinámicos de medios para un ciclo de lista de reproducción.
Utiliza la lista de reproducción asignada a la pantalla autenticada y su revisión de manifiesto. Devuelve una instantánea fija en orden de nombre de archivo; los Players mantienen el estado del cursor y la reproducción aleatoria entre ciclos. Las cargas y cambios de etiquetas nunca reescriben este manifiesto. Las coincidencias vacías son válidas.
Los medios seleccionados están autorizados por la concesión de tiempo de ejecución de la pantalla independientemente de la definición inmutable del manifiesto.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| manifest_revision | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/screen/manifests/MANIFEST_REVISION/selectors/resolve'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Instantánea del ciclo resuelto, incluyendo metadatos del ítem y plazos de seguridad media_end. | RuntimeSelectorSnapshot (application/json) |
| 401 | Sesión de tiempo de ejecución inválida o expirada | RuntimeProblem (application/problem+json) |
| 403 | Capacidad de tiempo de ejecución denegada | RuntimeProblem (application/problem+json) |
| 503 | Proyección de manifiesto pendiente o instantánea del selector degradada; mantenga el ciclo actual y reintente | 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) |
Obtener datos de tarjeta de ejecución
Devuelve un documento de datos de tarjeta o de feed: la clave de datos de tarjeta o feed de un primitivo de tarjeta en el manifiesto actual de la pantalla, o la clave de la condición visibility.data de una página. Una clave solo es legible mientras una concesión deseada, activa o de gracia de transición de la pantalla de la sesión la lista; conocer una clave nunca es suficiente.
Las claves de feed comienzan con feed: y leen el espacio de nombres del feed del sistema (screenrig.weather/v1 y otros esquemas de feed), igual que las claves de condiciones del clima que comienzan con feed.conditions.v1: (la condición {screen.weather} de una página, completada en el manifiesto de cada pantalla); cada otra clave lee los datos de la tarjeta del proyecto de la pantalla. El cuerpo es el documento en sí.
ETag es el sha256 de sus bytes y If-None-Match responde 304; mantenga el último documento válido para reproducción sin conexión y vuelva a obtenerlo en screen.card_data_changed para la clave. 404 significa que no hay documento almacenado aún; mantenga la tarjeta oculta.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| key | ruta | requerido | |
| If-None-Match | encabezado | opcional |
Plantilla y respuestas de solicitud
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/card-data/KEY'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | El documento | objeto (application/json); encabezados: ETag |
| 304 | No modificado | sin cuerpo |
| 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) |