OpenAPI YAMLOpenAPI JSONproblemas YAMLResumen de la API
Este grupo tiene 84 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.
Pantallas
Listar pantallas
La lista predeterminada devuelve pantallas pairing_pending y activas. Pase state=archived para listar solo pantallas archivadas. Pase tag para listar solo pantallas cuyos tags contengan exactamente esa etiqueta; las pantallas sin etiqueta se omiten cuando el filtro está presente.
Pase field, una vez por campo, como NAME:VALUE para listar solo las pantallas cuyos campos contienen todos los valores, y near como LAT,LON,KM para listar solo las pantallas ubicadas a KM kilómetros o menos del punto; se omiten las pantallas sin ubicación, y todos los filtros se combinan con state y tag.
Pase folder como un ID de carpeta de pantallas para listar solo las pantallas directamente dentro de ella (no las de sus subcarpetas), o root para las pantallas fuera de toda carpeta.
Las pantallas van de la más reciente a la más antigua, como máximo 500 por página. next_cursor es la posición de la última fila devuelta mientras quedan más filas; páselo de vuelta como after, con los mismos filtros, para la página siguiente. next_cursor es null en la última página. Un llamador limitado a pantallas (docs/screen-scope.md) lista solo las pantallas de su alcance.
Una solicitud que no nombra ningún proyecto omite cada proyecto donde el llamador está limitado a pantallas; nombre el proyecto para listarlo.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| estado | consulta | opcional | Omitir para pairing_pending y activo. Pase archived para listar solo pantallas archivadas. |
| etiqueta | consulta | opcional | Etiqueta exacta de pantalla. Las pantallas sin etiqueta se omiten cuando este filtro está presente. |
| field | consulta | opcional | NAME:VALUE, dividido en el primer signo de dos puntos: solo las pantallas cuyo campo NAME contiene exactamente VALUE. Repita el parámetro para varios campos; todos deben coincidir, y un nombre puede indicarse una sola vez. Uno con formato incorrecto o repetido devuelve invalid_request e indica field. |
| near | consulta | opcional | LAT,LON,KM en grados decimales y kilómetros, por ejemplo 47.6062,-122.3321,25: solo las pantallas cuya ubicación está a KM kilómetros o menos del punto. La latitud va de -90 a 90, la longitud de -180 a 180 y KM debe ser mayor que 0 y como máximo 20038. Se omiten las pantallas sin ubicación. Un valor con formato incorrecto devuelve invalid_request e indica near. |
| carpeta | consulta | opcional | Un ID de carpeta de pantallas mantiene solo las pantallas directamente dentro de esa carpeta, no las de sus subcarpetas; root mantiene solo las pantallas fuera de toda carpeta. Si se omite, lista todas las pantallas. |
| después | consulta | opcional | next_cursor de la página anterior de la misma lista, con los mismos filtros. Omitido comienza en la fila más reciente. Un valor que no sea tal cursor es invalid_request. |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Pantallas | ScreenList (application/json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Listar carpetas de pantallas
Lista todas las carpetas de pantallas del proyecto, como máximo 1000, ordenadas por nombre.
Las carpetas organizan las pantallas y las seleccionan: una hoja de audiencia de campaña {"folder": ID} coincide con las pantallas de esa carpeta y de cada carpeta que contiene, un selector de acción de flota by:folder actúa sobre las mismas pantallas, y el default_playlist_id de una carpeta es lo que muestran sus pantallas que no tienen una lista de reproducción propia. parent_id es null en la raíz del proyecto; construya el árbol a partir de parent_id. screens cuenta las pantallas en vivo directamente dentro de cada carpeta.
La carpeta de una pantalla es Screen.folder_id. Un llamador limitado a pantallas (docs/screen-scope.md) lista las carpetas dentro de su alcance y las carpetas que están encima, que son de solo lectura para que su árbol tenga raíz; las carpetas de arriba no llevan recuento de pantallas y las carpetas hermanas se ocultan. Una solicitud que no nombra ningún proyecto omite cada proyecto donde el llamador está limitado a pantallas.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screen-folders'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Carpetas de pantallas | ScreenFolderList (application/json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Crear carpeta de pantallas
Crea una carpeta de pantallas en la raíz del proyecto (parent_id nulo o ausente) o dentro de parent_id. Los nombres se recortan, tienen de 1 a 100 caracteres Unicode sin controles, no son "." ni ".." y son únicos entre las carpetas del mismo nivel (resource_conflict).
Una organización tiene como máximo 1000 carpetas en todos sus proyectos (quota_exceeded) anidadas a lo sumo 10 niveles (invalid_request). default_playlist_id, cuando se establece, debe nombrar una lista de reproducción aprobada (playlist_not_approved). Emite screen.folder_created.
Un llamador limitado a pantallas (docs/screen-scope.md) crea una carpeta solo dentro de una carpeta de su alcance; la raíz del proyecto o cualquier otro padre es outside_screen_scope. Crear una carpeta dentro de una carpeta protegida es una revisión protected_change (202 pending_review) decidida por un segundo aprobador.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| nombre (requerido, cadena) | Recortado; de 1 a 100 caracteres Unicode, sin controles, distinto de . y .., único entre las carpetas del mismo nivel. minLength: 1 maxLength: 100 |
| parent_id (opcional, en línea) | La carpeta en la que crearla; null o ausente para la raíz del proyecto. |
| default_playlist_id (opcional, cadena) | Una lista de reproducción aprobada para las pantallas de la carpeta que no tienen una propia. minLength: 1 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screen-folders'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Carpeta creada. | ScreenFolder (application/json); encabezados: ETag |
| 202 | La escritura se convirtió en una revisión y espera la aprobación de una persona (docs/reviews.md), con acceso Proponer, o con cualquier nivel de acceso cuando alcanza una pantalla de una carpeta de pantallas protegida, donde la decide un segundo aprobador (docs/screen-scope.md). Una persona aprueba, rechaza o solicita cambios en el panel, en review.url. Una repetición de Idempotency-Key responde con el mismo cuerpo. | ReviewPending (application/json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener carpeta de pantallas
Un llamador limitado a pantallas (docs/screen-scope.md) lee las carpetas de su alcance y las carpetas que están encima; cualquier otra carpeta, y un id desconocido, es outside_screen_scope.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screen-folders/RESOURCE_ID'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Una carpeta de pantallas. | ScreenFolder (application/json); encabezados: ETag |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Actualizar carpeta de pantallas
Cambia el nombre de una carpeta (name), la mueve con todo lo que contiene (parent_id, null para la raíz del proyecto) o establece la lista de reproducción predeterminada que muestran sus pantallas que no tienen una propia (default_playlist_id, null la borra). Una carpeta no puede moverse dentro de sí misma ni dentro de una carpeta contenida en ella, y el movimiento debe mantener todas las carpetas dentro de 10 niveles (invalid_request).
Un movimiento o un cambio de la predeterminada vuelve a resolver las pantallas de dentro en unos 15 segundos, y los niveles de la respuesta nombran las campañas y las predeterminadas de carpeta que esas pantallas ganan o pierden. Un cambio avanza la revisión de la carpeta y emite screen.folder_updated; los mismos valores no hacen nada.
If-Match protege opcionalmente la revisión. protected true protege la carpeta y cada carpeta que hay dentro, y false lo borra; envíelo solo (de lo contrario invalid_request). Solo lo define una persona que puede aprobar: un agente, un cliente de servicio o un miembro que no puede aprobar recibe approver_required.
Un cambio añade screen.folder_protection_changed (detalles folder_id, protected). Quitar la protección, y un movimiento o un cambio de lista de reproducción predeterminada en una carpeta que contiene pantallas protegidas, es una revisión protected_change decidida por un segundo aprobador (202 pending_review).
Un llamador limitado a pantallas (docs/screen-scope.md) cambia solo carpetas dentro de su alcance: parent_id también debe nombrar una (la raíz es outside_screen_scope), y protected no le corresponde cambiarlo en una carpeta que su alcance nombra. protected true corresponde a las carpetas protegidas, que incluye el plan Enterprise; un proyecto cuyo plan no lo incluye se rechaza con feature_not_in_plan (402).
La protección establecida sigue reteniendo los cambios para un segundo aprobador, y pedir quitarla es una revisión en todos los planes.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| nombre (opcional, cadena) | Recortado; de 1 a 100 caracteres Unicode, sin controles, distinto de . y .., único entre las carpetas del mismo nivel. minLength: 1 maxLength: 100 |
| parent_id (opcional, en línea) | Mueve la carpeta dentro de esta; null para la raíz del proyecto. |
| default_playlist_id (opcional, en línea) | Una lista de reproducción aprobada para las pantallas de la carpeta que no tienen una propia; null la borra. |
| protected (opcional, booleano) | Protege la carpeta y cada carpeta que hay dentro (docs/screen-scope.md). Solo lo define una persona que puede aprobar. Envíelo solo: con cualquier otro miembro la solicitud es invalid_request. Quitarlo de una carpeta protegida es en sí un cambio protegido, una revisión que decide un segundo aprobador (202 pending_review). |
Plantilla y respuestas de solicitud
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screen-folders/RESOURCE_ID'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Carpeta actualizada. | ScreenFolder (application/json); encabezados: ETag |
| 202 | La escritura se convirtió en una revisión y espera la aprobación de una persona (docs/reviews.md), con acceso Proponer, o con cualquier nivel de acceso cuando alcanza una pantalla de una carpeta de pantallas protegida, donde la decide un segundo aprobador (docs/screen-scope.md). Una persona aprueba, rechaza o solicita cambios en el panel, en review.url. Una repetición de Idempotency-Key responde con el mismo cuerpo. | ReviewPending (application/json) |
| 402 | feature_not_in_plan — Las carpetas protegidas forman parte del plan Enterprise; el problema nombra la función, el plan que tiene la cuenta y required_plan. | Problema (application/problem+json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Eliminar carpeta de pantallas
Elimina una carpeta. Nada de lo que contiene se elimina: sus pantallas y carpetas suben al padre de la carpeta eliminada (la raíz del proyecto si no tenía padre), cada carpeta movida avanza su revisión y esas pantallas se vuelven a resolver.
Se rechaza con resource_conflict mientras una audiencia de campaña nombre la carpeta, para que ninguna programación pierda sus pantallas en silencio: cambie o elimine primero esas campañas. Responde con los niveles que sus pantallas ganaron o perdieron. Emite screen.folder_deleted. If-Match protege opcionalmente la revisión.
Un llamador limitado a pantallas (docs/screen-scope.md) elimina solo una carpeta dentro de su alcance que su alcance no nombra directamente (outside_screen_scope); las pantallas que contiene suben al padre. Eliminar una carpeta protegida, o una que contiene pantallas protegidas, es una revisión protected_change (202 pending_review) decidida por un segundo aprobador.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screen-folders/RESOURCE_ID'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Eliminado; su contenido ahora está en su padre. levels nombra las listas de reproducción predeterminadas de carpeta que sus pantallas ganaron o perdieron. | ScreenFolderDeleteResult (application/json) |
| 202 | La escritura se convirtió en una revisión y espera la aprobación de una persona (docs/reviews.md), con acceso Proponer, o con cualquier nivel de acceso cuando alcanza una pantalla de una carpeta de pantallas protegida, donde la decide un segundo aprobador (docs/screen-scope.md). Una persona aprueba, rechaza o solicita cambios en el panel, en review.url. Una repetición de Idempotency-Key responde con el mismo cuerpo. | ReviewPending (application/json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Mover pantallas
Mueve pantallas (screen_ids) y carpetas (folder_ids) a una carpeta (folder_id), o a la raíz del proyecto cuando folder_id es null, en una sola solicitud de todo o nada de como máximo 1000 ids. Todos los ids deben existir (not_found). Una carpeta no puede moverse dentro de sí misma ni dentro de una carpeta contenida en ella, y el movimiento debe mantener todas las carpetas dentro de 10 niveles (invalid_request).
Los elementos que ya están en el destino se dejan como están; cada pantalla y carpeta movida avanza su revisión. Las pantallas movidas vuelven a resolver su lista de reproducción en unos 15 segundos: levels nombra las campañas cuya audiencia de carpeta pasan a integrar o dejan de integrar y las listas de reproducción predeterminadas de carpeta que ganan o pierden.
Emite screen.moved, cuyos detalles llevan los conteos (screens, folders) y dónde estaba cada elemento movido: moves [{screen_id, from}] (from es el id de la carpeta, vacío para la raíz) y folder_moves [{folder_id, from_parent}], como máximo 1000 de cada uno, para que un historial pueda devolverlos con esta ruta.
Un llamador limitado a pantallas (docs/screen-scope.md) mueve pantallas y carpetas dentro de su alcance a una carpeta de su alcance; cualquier id o destino fuera de él, y la raíz del proyecto, rechazan todo el movimiento (outside_screen_scope), también cuando una pantalla sale del alcance entre la comprobación y la escritura.
Un movimiento hacia dentro o fuera de una carpeta protegida es una revisión protected_change decidida por un segundo aprobador (202 pending_review).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| folder_id (requerido, en línea) | Carpeta de destino; null para la raíz del proyecto. |
| screen_ids (opcional, array) | |
| folder_ids (opcional, arreglo) |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/move'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Cuántas pantallas y carpetas se movieron, y los niveles que las pantallas movidas ganan o pierden. | ScreenMoveResult (application/json) |
| 202 | La escritura se convirtió en una revisión y espera la aprobación de una persona (docs/reviews.md), con acceso Proponer, o con cualquier nivel de acceso cuando alcanza una pantalla de una carpeta de pantallas protegida, donde la decide un segundo aprobador (docs/screen-scope.md). Una persona aprueba, rechaza o solicita cambios en el panel, en review.url. Una repetición de Idempotency-Key responde con el mismo cuerpo. | ReviewPending (application/json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener calendario de horario
Responde qué reproducen las pantallas de un sujeto durante [from, to) y por qué, para el calendario de Horario del panel: exactamente uno de screen_id, folder_id (las pantallas de la carpeta y de cada carpeta dentro de ella), tag o campaign_id (las pantallas de su audiencia).
Las pantallas cuyas pilas tienen entradas idénticas (los mismos niveles, predeterminado, zona horaria y número de pantallas) comparten un grupo con una línea de tiempo, de modo que un sujeto grande cuesta decenas de líneas de tiempo; un grupo lista hasta 500 de sus pantallas y una respuesta, como máximo 200 grupos (truncated).
Cada grupo lleva su pila, de mayor a menor (takeover, las campañas que alcanzan las pantallas, sus propias entradas de horario, luego la lista de reproducción predeterminada o la de la carpeta más cercana), los tramos de cada nivel (se reproduce en cada pantalla a la que apunta, parcial con las pantallas en las que se reproduce, superado, o condicional mientras espera una interacción o una condición de datos que solo un Player observa), lo que muestra cada pantalla (on_screen; la región principal de una página completa) y conflictos (dos campañas de una misma prioridad vigentes a la vez; un nivel que rige pero nunca se reproduce). from y to son instantes RFC 3339, con to posterior a from y como máximo 93 días de diferencia; se truncan al minuto.
Las reglas se leen en la zona horaria de cada grupo, igual que las leen el barrido y cada Player; todo nivel se juzga reproducible. Un llamador limitado a pantallas (docs/screen-scope.md) debe enviar un screen_id o un folder_id dentro de su alcance; una etiqueta, un campaign_id o ningún asunto es outside_screen_scope.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| desde | consulta | requerido | |
| a | consulta | requerido | |
| screen_id | consulta | opcional | |
| folder_id | consulta | opcional | |
| etiqueta | consulta | opcional | |
| campaign_id | consulta | opcional |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/schedule/calendar?from=FROM&to=TO'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | El calendario del sujeto. | ScheduleCalendar (application/json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Emparejar pantalla
Reclama una sesión de emparejamiento de Player global para la flota con seis caracteres. Reintentos con la misma Idempotency-Key devuelven el resultado original duradero sin consumir cuota nuevamente.
La sesión del panel lo reclama en su proyecto actual con el mismo cuerpo, Idempotency-Key, presupuestos y problemas, salvo que su not_found para un código desconocido o ya reclamado no nombra ningún comando de la CLI; es un cambio de estado, así que sigue las reglas de mutación del panel, se rechaza una sesión sombra sin modo de escritura del personal, y los eventos que añade la reclamación nombran al usuario del panel. folder_id nombra la carpeta en la que queda la pantalla.
Un llamador limitado a pantallas (docs/screen-scope.md) debe enviar una carpeta dentro de su alcance y empareja solo como persona que puede aprobar (outside_screen_scope, approver_required).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| Idempotency-Key | encabezado | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| código (requerido, cadena) | patrón: "^[23456789ABCDEFGHJKMNPQRSTUVWXYZ]{6}$" |
| etiqueta (opcional, cadena) | minLength: 1 maxLength: 120 |
| folder_id (opcional, cadena) | La carpeta de pantallas en la que queda la pantalla; si se omite, queda en la raíz del proyecto. Un llamador limitado a pantallas debe enviar una carpeta dentro de su alcance (de lo contrario outside_screen_scope). Una carpeta que el proyecto no contiene es invalid_request para un llamador de todo el proyecto. Parte de la solicitud idempotente: otro folder_id con la misma Idempotency-Key es idempotency_mismatch. minLength: 1 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/pair'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Reclamo duradero de pantalla pairing_pending. | PairingClaim (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 413 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 500 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Provisionar pantalla
Aprovisionamiento opcional de una pantalla nueva, solo en navegador. Siempre crea una pantalla nueva en pairing_pending; como máximo cinco esperan a vincularse a la vez (quota_exceeded). Los reintentos exactos vuelven a entregar el mismo token de fragmento durante diez minutos. El emparejamiento de seis caracteres sigue siendo el flujo predeterminado y el único de recuperación. folder_id nombra la carpeta en la que queda la pantalla.
Un llamador limitado a pantallas (docs/screen-scope.md) debe enviar una carpeta dentro de su alcance (de lo contrario outside_screen_scope).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| Idempotency-Key | encabezado | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| etiqueta (opcional, cadena) | minLength: 1 maxLength: 120 |
| folder_id (opcional, cadena) | La carpeta de pantallas en la que queda la pantalla, como en PairScreen. minLength: 1 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/provision'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Nuevo enlace de aprovisionamiento para navegador. | ScreenProvisioning (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 410 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 413 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 500 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Aplicar acciones de pantalla
Aplica una acción a una flota seleccionada sin límite de conteo de pantallas. Seleccione screen_ids únicos o una etiqueta que coincida con pantallas activas en orden de creación. La selección resuelta se fija antes de cualquier mutación, se almacena en fragmentos limitados y se mantiene durante veinticuatro horas bajo Idempotency-Key.
Cada paso utiliza su ruta de mutación de pantalla única, preservando revisiones, eventos, señales de tiempo de ejecución y límites por pantalla. Una respuesta contiene una página limitada de resultados; coincidentes, exitosos y fallidos describen esa página. HTTP 202 incluye total, offset y next_cursor. Continúe con el mismo selector, acción y Idempotency-Key, pasando next_cursor como after.
Respete Retry-After cuando esté presente, incluso una página con cero resultados. La respuesta refleja Idempotency-Key, incluyendo una clave generada cuando el llamante la omitió; conserve esta clave para continuaciones. HTTP 200 finaliza la selección. Las páginas respondidas se reproducen exactamente, incluyendo fallos por pantalla; los pasos interrumpidos se reproducen sin repetir sus efectos.
Las acciones grandes se regulan según los presupuestos existentes de 600 por minuto por organización para recarga, toast, toma de control, programación de listas de reproducción, reinicio, pantalla y programación de pantalla; el agotamiento del presupuesto de la organización pausa la acción en lugar de rechazar la flota. El agotamiento por pantalla falla solo esa pantalla.
Un paso assign, takeover o set_playlist_schedule que vincula una lista de reproducción con formato a una pantalla cuyo muro tiene otra forma falla solo para esa pantalla con 409 playlist_format_mismatch. Las asignaciones y los cambios de etiquetas no tienen presupuesto de mensajes.
Una asignación cuya lista de reproducción tiene un src de iframe o parámetros de aplicación que leen un token de pantalla que le falta a alguna pantalla de la página añade una advertencia screen_fact_missing a esa página (warnings, PlaylistWarning). El fallo parcial es un resultado normal. Todas las páginas y reintentos bajo una misma clave son una sola acción medida.
Las solicitudes usan una carga útil de bytes limitada; use una etiqueta para una selección mayor que la carga útil de transporte. Un selector o acción malformados se rechazan antes de tocar cualquier pantalla.
Un llamador limitado a pantallas (docs/screen-scope.md) selecciona por screen_ids o por carpeta, cada pantalla dentro de su alcance; un selector de etiqueta, una pantalla fuera del alcance o una desconocida rechaza toda la acción (outside_screen_scope) antes de que se fije o se proponga nada.
Assign, takeover, takeover_clear, set_playlist_schedule y clear_playlist_schedule que alcanzan una pantalla protegida se convierte en una revisión que decide un segundo aprobador (202 pending_review) en todos los niveles de acceso; set_tags, add_tags, remove_tags, toast, display, display_clear, set_display_schedule y clear_display_schedule en una pantalla protegida son protected_target (409).
Una acción set_playlist_schedule con una entrada pausada (un borrador) corresponde al control de cambios de la programación, que incluye el plan Enterprise; un proyecto cuyo plan no lo incluye se rechaza con feature_not_in_plan (402).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| Screenrig-Review-Note | encabezado | opcional | Nota opcional del proponente en una escritura de clase revisión, enviada como UTF-8 codificado en porcentaje (lo que escribe encodeURIComponent de JavaScript). El servidor la decodifica en porcentaje (una escape inválido es 400 invalid_request); la nota decodificada es texto plano, máximo 280 caracteres tras recortar, sin caracteres de control (de lo contrario 400 invalid_request). Almacenado en la revisión cuando la escritura se convierte en una; ignorado cuando se aplica en vivo. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
| después | consulta | opcional | next_cursor de la página de resultados anterior. Reutilice la Idempotency-Key original y el cuerpo de la solicitud. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| selector (requerido, ScreenActionSelector) | |
| acción (requerida, ScreenAction) | Una acción de flota, discriminada por tipo. Cada miembro lleva solo sus propios parámetros; un miembro de otro tipo es un campo desconocido e invalid_request. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/actions'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Resultados por pantalla. El éxito parcial es una respuesta normal. | ScreenActionResult (application/json); encabezados: Idempotency-Key, Cache-Control, RateLimit-Policy, RateLimit |
| 202 | Quedan más pantallas (continúe con next_cursor y la misma Idempotency-Key y el mismo cuerpo, respetando Retry-After), o, con estado pending_review, la acción se convirtió en una revisión con acceso Proponer (docs/reviews.md), o con cualquier nivel de acceso porque alcanza una pantalla de una carpeta de pantallas protegida (docs/screen-scope.md). Solo asignar, takeover, takeover_clear, set_playlist_schedule y clear_playlist_schedule se convierten en revisiones; cualquier otra acción es insufficient_access para Propose. | inline (application/json); encabezados: Idempotency-Key, Retry-After, Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 402 | feature_not_in_plan — set_reboot_schedule con enabled true (reinicios programados) y set_playlist_schedule con un bloqueo de displays (muros de video) forman parte de Plus; las acciones de borrado y los comandos puntuales están abiertos. payment_required — el proyecto no tiene crédito restante. El problema nombra la función, el plan del proyecto y required_plan. | Problema (application/problem+json) |
| 403 | insufficient_access, outside_screen_scope cuando un llamador limitado a pantallas selecciona fuera de su alcance, o approver_required para un miembro limitado a pantallas que no puede aprobar. | Problema (application/problem+json) |
| 409 | playlist_format_mismatch y los demás conflictos de la acción, o protected_target cuando set_tags, add_tags, remove_tags, toast, display, display_clear, set_display_schedule o clear_display_schedule alcanza una pantalla de una carpeta de pantallas protegida. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener pantalla
Devuelve pantallas pairing_pending, activas y archivadas. Las pantallas eliminadas no se encuentran.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Pantalla | Pantalla (application/json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Actualizar pantalla
Actualiza el name, playlist_id, timezone, wall, tags, fields, location, log_level, toast_level, display o kiosk de la pantalla. Un cambio de tags responde levels: las campañas a las que la pantalla entra o de las que sale, con el alcance de cada campaña antes y después. wall fija el muro de vídeo de la pantalla (un objeto) o lo borra (null).
Definir uno requiere un Player que haya declarado la capacidad de host display.wall; de lo contrario, 409 wall_unsupported.
Cambiarlo reemite la revisión del manifiesto y agrega screen.updated con details.wall (el objeto wall, o null una vez borrado). fields se combina con los valores propios de la pantalla (una cadena define un campo, null lo elimina, un fields con valor null borra todos los campos) y location define dónde está la pantalla (null la borra).
Cambiar cualquiera de los dos reemite la revisión del manifiesto de una pantalla que muestra una lista de reproducción, de modo que sus colocaciones de tarjetas vuelven a expandir sus tokens {screen.…}, y agrega screen.updated con details.fields (el objeto nuevo completo, {} una vez borrado) o details.location (el objeto nuevo, o null una vez borrado).
Un nombre o valor que la gramática rechaza, o un campo número treinta y tres, da invalid_request que lo nombra. log_level (debug, info, warn, error) y toast_level (info, alert, error) fijan el nivel más bajo que el Player genera o muestra, y null borra cada uno; cualquier otro valor da invalid_request.
Cambiar cualquiera de los dos regenera la revisión del manifiesto, que los lleva como miembro raíz verbosity. display define o borra los ajustes de oscurecimiento por inactividad y de brillo del monitor: display.idle {after_s, wake} oscurece la pantalla tras after_s segundos (de 30 a 86400) sin un toque ni una tecla o, cuando wake incluye presence, sin nadie frente a la pantalla, y un evento de activación (touch, presence o ambos, cada uno una sola vez) la enciende de inmediato; display.brightness {mode} es auto (el sensor de luz del dispositivo ajusta el brillo) o fixed (el valor predeterminado, el brillo del operador).
Un miembro que usted envía lo reemplaza, null lo borra, un miembro que omite se conserva, y un display con valor null borra ambos. kiosk {lock} true fija el Player a la pantalla (fijación de pantalla de Android) y false o null lo libera. El horario y la anulación de pantalla conservan sus propias rutas; un miembro display que nombre schedule o override es invalid_request.
Un valor fuera de rango o de un tipo incorrecto da invalid_request, que nombra la ruta (display.idle.after_s).
Cambiar cualquiera de ellos regenera la revisión del manifiesto de una pantalla que muestra una lista de reproducción y cambia el ETag del manifiesto de todas las pantallas; el manifiesto lleva display.idle y display.brightness en el miembro raíz display y el bloqueo como miembro raíz kiosk, y se agrega screen.manifest_changed; al leer la pantalla se obtienen como Screen.display.idle, Screen.display.brightness y Screen.kiosk.
El backend guarda lo que usted envía sea cual sea el Player: un Player aplica un ajuste solo cuando sus capacidades del host declaran display_power.idle, brightness.auto o kiosk_lock, y los Players más antiguos los ignoran. Asignar una lista de reproducción cuyo formato no coincide con el muro de la pantalla da 409 playlist_format_mismatch.
Con acceso Propose, un patch de playlist_id solo se convierte en una revisión (202 pending_review); cualquier otro campo, incluidos wall, fields, location, display y kiosk, da insufficient_access. Una lista de reproducción sin versión aprobada es playlist_not_approved.
Cuando la lista de reproducción que la pantalla muestra entonces tiene un src de iframe o parámetros de aplicación que leen un token de pantalla que a la pantalla le falta, la respuesta incluye una advertencia screen_fact_missing (warnings, PlaylistWarning) y el manifiesto de la pantalla omite esa primitiva.
En una pantalla protegida, playlist_id requiere la revisión de una segunda persona con autoridad de aprobación (202 pending_review) en cualquier nivel de acceso y se envía por separado (invalid_request junto con name); tags, fields, location, timezone, wall y display devuelven protected_target (409), también junto con playlist_id. Cambiar el nombre sigue siendo inmediato. Vaciar playlist_id (null) en una pantalla archivada devuelve 409 screen_archived.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| Screenrig-Review-Note | encabezado | opcional | Nota opcional del proponente en una escritura de clase revisión, enviada como UTF-8 codificado en porcentaje (lo que escribe encodeURIComponent de JavaScript). El servidor la decodifica en porcentaje (una escape inválido es 400 invalid_request); la nota decodificada es texto plano, máximo 280 caracteres tras recortar, sin caracteres de control (de lo contrario 400 invalid_request). Almacenado en la revisión cuando la escritura se convierte en una; ignorado cuando se aplica en vivo. |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| nombre (opcional, cadena) | minLength: 1 maxLength: 120 |
| playlist_id (opcional, en línea) | La predeterminada de la pantalla: un id de lista de reproducción la asigna; null la quita; omitirla la conserva. Las tomas de control, las campañas, las programaciones y las predeterminadas heredadas de carpetas mantienen la prioridad. Sin contenido efectivo, el Player emparejado muestra su pantalla de espera. |
| zona horaria (opcional, cadena) | Identificador de zona horaria IANA, por ejemplo America/Los_Angeles. Es la zona en la que se evalúa cada regla de visibilidad de página en esta pantalla. Cambiarla renueva la revisión del manifiesto. Una pantalla asignada a una lista de reproducción que usa visibilidad de página debe tener una. minLength: 1 maxLength: 64 |
| wall (opcional, en línea) | El muro de video de la pantalla; null lo borra. Configurar uno requiere un reproductor que haya declarado la capacidad display.wall del host, de lo contrario 409 wall_unsupported. Cambiarlo renueva la revisión del manifiesto. |
| etiquetas (opcional, ScreenTags) | Etiquetas de selector de flota, de 0 a 16 etiquetas únicas exactas, cada una que coincide con la gramática de etiquetas de medios. En ScreenPatch el arreglo reemplaza todo el conjunto y un arreglo vacío lo borra; una etiqueta duplicada o malformada es invalid_request. Cambiar etiquetas aumenta la revisión de pantalla (If-Match la protege) y añade screen.updated con details.tags; nunca cambia la revisión del manifiesto. Las etiquetas nunca están en el manifiesto en tiempo de ejecución ni en la autorización. |
| fields (opcional, inline) | Se combina con los valores propios de la pantalla, como un número de tienda o una región: una cadena define un campo, null lo elimina, y un fields con valor null borra todos los campos. Los nombres tienen de 1 a 32 letras minúsculas, dígitos o guiones bajos; los valores, de 1 a 200 caracteres tras quitar los espacios en los extremos; una pantalla lleva como máximo 32 campos. Cambiar los campos reemite la revisión del manifiesto de una pantalla que muestra una lista de reproducción. Las colocaciones de tarjetas los leen mediante tokens {screen.field.NAME}. |
| location (opcional, inline) | Dónde está la pantalla; null la borra. Cambiarla reemite la revisión del manifiesto de una pantalla que muestra una lista de reproducción. Las colocaciones de tarjetas la leen mediante el token {screen.location}. |
| log_level (opcional, en línea) | El nivel de registro más bajo que genera el Player de la pantalla: no escribe ninguna línea por debajo, y las líneas de error siempre se generan; null lo borra (el valor predeterminado del Player). Cambiarlo regenera la revisión del manifiesto, que lo lleva como verbosity.logLevel. |
| toast_level (opcional, en línea) | El nivel de toast más bajo que muestra el Player de la pantalla: no muestra ningún toast por debajo, y los toasts de error siempre se muestran; null lo borra (se muestran todos los toasts). Cambiarlo regenera la revisión del manifiesto, que lo lleva como verbosity.toastLevel. |
| display (opcional, en línea) | Los ajustes de oscurecimiento por inactividad y de brillo del monitor (display.idle, display.brightness). Un miembro que usted envía lo reemplaza, null lo borra, un miembro que omite se conserva; un display con valor null borra ambos. Cambiar cualquiera de los dos regenera la revisión del manifiesto de una pantalla que muestra una lista de reproducción, y el manifiesto los lleva en el miembro raíz display. En una pantalla protegida es protected_target. |
| kiosk (opcional, en línea) | El bloqueo de kiosco (kiosk.lock). lock true fija el Player a la pantalla; false o null lo libera. Cambiarlo regenera la revisión del manifiesto de una pantalla que muestra una lista de reproducción, y el manifiesto lo lleva como miembro raíz kiosk. |
Plantilla y respuestas de solicitud
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | La escritura se convirtió en una revisión y espera la aprobación de una persona (docs/reviews.md), con acceso Proponer, o con cualquier nivel de acceso cuando alcanza una pantalla de una carpeta de pantallas protegida, donde la decide un segundo aprobador (docs/screen-scope.md). Una persona aprueba, rechaza o solicita cambios en el panel, en review.url. Una repetición de Idempotency-Key responde con el mismo cuerpo. | ReviewPending (application/json) |
| 200 | Pantalla | Pantalla (application/json) |
| 402 | feature_not_in_plan — Los muros de video forman parte de Plus: establecer un muro distinto del propio de la pantalla los necesita, null lo borra en todos los planes. El problema nombra la función, el plan del proyecto y required_plan. | Problema (application/problem+json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| 409 | protected_target - el cambio alcanza una pantalla de una carpeta de pantallas protegida y no tiene una vía de revisión (docs/screen-scope.md). Quite la protección de la carpeta mediante una revisión, haga el cambio y proteja la carpeta de nuevo. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Eliminar pantalla
Elimina suavemente una pantalla elegible y revoca inmediatamente sus credenciales de cookie y permisos en tiempo de ejecución. Las lecturas ordinarias luego devuelven not_found; la fila marcada se conserva al menos 90 días antes de la limpieza. If-Match protege la revisión y Idempotency-Key reproduce el resultado.
Una pantalla nativa vinculada a identidad devuelve screen_archive_required: use archive para conservar esa vinculación; una pantalla vinculada a identidad que ya está archivada sigue archivada (el mismo problema, indicándolo). Esta ruta no concede permiso administrativo de emergencia para liberar la inscripción nativa. Una pantalla de una carpeta de pantallas protegida es protected_target (409).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 204 | Pantalla eliminada suavemente; su lápida se conserva al menos 90 días. | sin cuerpo |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | screen_archive_required para una pantalla nativa vinculada a identidad, o protected_target cuando la pantalla está en una carpeta de pantallas protegida (docs/screen-scope.md). | Problema (application/problem+json) |
| 412 | revision_conflict: If-Match está obsoleto; current_revision del error contiene la revisión actual. | Problema (application/problem+json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Parche de etiquetas de pantalla
Una persona conectada establece las etiquetas de una pantalla. tags es el conjunto completo nuevo: un arreglo vacío lo borra, y una etiqueta malformada o repetida es invalid_request en tags[i].
Es el cambio de etiqueta que updateScreen hace, en la sesión del panel: la revisión de la pantalla avanza en uno, screen.updated lleva details.tags y a la persona como actor, y la revisión del manifiesto nunca cambia. Una pantalla pairing_pending, activa o archivada lo acepta.
El cuerpo no tiene ningún otro miembro: una sesión cambia el nombre de una pantalla con patchScreenName y le asigna su lista de reproducción con patchScreenPlaylist, y no puede cambiar su zona horaria. If-Match lleva la revisión de la pantalla y es obligatorio (invalid_request si falta, revision_conflict si está desactualizado).
Solo la sesión del panel; los agentes cambian las etiquetas con updateScreen o con una acción de flota set_tags, add_tags o remove_tags. listScreens con tag encuentra la pantalla por sus nuevas etiquetas. En una pantalla protegida el cambio es protected_target (409).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| id | ruta | requerido | |
| If-Match | encabezado | requerido | La revisión actual de la pantalla, entre comillas o sin ellas (el ETag de la última lectura). Una revisión obsoleta es revision_conflict con current_revision. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| etiquetas (requerido, ScreenTags) | Etiquetas de selector de flota, de 0 a 16 etiquetas únicas exactas, cada una que coincide con la gramática de etiquetas de medios. En ScreenPatch el arreglo reemplaza todo el conjunto y un arreglo vacío lo borra; una etiqueta duplicada o malformada es invalid_request. Cambiar etiquetas aumenta la revisión de pantalla (If-Match la protege) y añade screen.updated con details.tags; nunca cambia la revisión del manifiesto. Las etiquetas nunca están en el manifiesto en tiempo de ejecución ni en la autorización. |
Plantilla y respuestas de solicitud
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/tags'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | La pantalla tal como está almacenada ahora; ETag lleva su revisión. | Pantalla (application/json); encabezados: ETag |
| 412 | revision_conflict: If-Match está obsoleto; current_revision del error contiene la revisión actual. | Problema (application/problem+json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Parche de campos de pantalla
Una persona con sesión iniciada cambia los campos de una pantalla con el merge patch de updateScreen: una cadena establece un campo, null lo quita, y un valor null en fields borra todos los campos. Un nombre o valor rechazado, o un campo número 33, es invalid_request en fields o fields.NAME.
La revisión de la pantalla aumenta en uno, una pantalla que muestra una lista de reproducción recibe una nueva revisión del manifiesto, y el evento lleva details.fields y a la persona como su actor. El cuerpo no tiene ningún otro miembro. If-Match lleva la revisión de la pantalla y es obligatorio (invalid_request si falta, revision_conflict si está desactualizado).
Solo la sesión del panel; los agentes usan PATCH /api/screens/{id} (updateScreen). En una pantalla protegida el cambio es protected_target (409).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| id | ruta | requerido | |
| If-Match | encabezado | requerido | La revisión actual de la pantalla, entre comillas o sin ellas (el ETag de la última lectura). Una revisión obsoleta es revision_conflict con current_revision. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| fields (obligatorio, inline) | Se combina con los valores propios de la pantalla, como un número de tienda o una región: una cadena define un campo, null lo elimina, y un fields con valor null borra todos los campos. Los nombres tienen de 1 a 32 letras minúsculas, dígitos o guiones bajos; los valores, de 1 a 200 caracteres tras quitar los espacios en los extremos; una pantalla lleva como máximo 32 campos. |
Plantilla y respuestas de solicitud
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/fields'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | La pantalla tal como está almacenada ahora; ETag lleva su revisión. | Pantalla (application/json); encabezados: ETag |
| 412 | revision_conflict: If-Match está obsoleto; current_revision del error contiene la revisión actual. | Problema (application/problem+json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Parche de ubicación de pantalla
Una persona con sesión iniciada establece o borra la ubicación de una pantalla con location de updateScreen: un objeto con latitude, longitude y, opcionalmente, name y address reemplaza toda la ubicación, y null la borra. Un miembro ausente o de tipo incorrecto, una coordenada fuera de rango, un nombre de más de 40 caracteres o una dirección de más de 200 es invalid_request en location.MEMBER.
La revisión de la pantalla aumenta en uno, una pantalla que muestra una lista de reproducción recibe una nueva revisión del manifiesto, y el evento lleva details.location y a la persona como su actor. El cuerpo no tiene ningún otro miembro. If-Match lleva la revisión de la pantalla y es obligatorio (invalid_request si falta, revision_conflict si está desactualizado).
Solo la sesión del panel; los agentes usan PATCH /api/screens/{id} (updateScreen). En una pantalla protegida el cambio es protected_target (409).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| id | ruta | requerido | |
| If-Match | encabezado | requerido | La revisión actual de la pantalla, entre comillas o sin ellas (el ETag de la última lectura). Una revisión obsoleta es revision_conflict con current_revision. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| location (obligatorio, inline) | Dónde está la pantalla: el objeto reemplaza toda la ubicación y null la borra. |
Plantilla y respuestas de solicitud
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/location'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | La pantalla tal como está almacenada ahora; ETag lleva su revisión. | Pantalla (application/json); encabezados: ETag |
| 412 | revision_conflict: If-Match está obsoleto; current_revision del error contiene la revisión actual. | Problema (application/problem+json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Modificar la verbosidad de una pantalla
Una persona con la sesión iniciada fija o borra el nivel de registro y el nivel de toast de una pantalla con log_level (debug, info, warn, error) y toast_level (info, alert, error) de updateScreen: una cadena fija el nivel, null lo borra, y un miembro omitido se queda como está. Cualquier otro valor da invalid_request en log_level o toast_level.
La revisión de la pantalla avanza una unidad, una pantalla que muestra una lista de reproducción recibe una nueva revisión del manifiesto, y el Player lee los niveles del miembro verbosity del manifiesto. El cuerpo nombra al menos uno de los dos miembros y ningún otro. If-Match lleva la revisión de la pantalla y es obligatorio (invalid_request si falta, revision_conflict si está obsoleta).
Solo la sesión del panel; los agentes usan PATCH /api/screens/{id} (updateScreen).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| id | ruta | requerido | |
| If-Match | encabezado | requerido | La revisión actual de la pantalla, entre comillas o sin ellas (el ETag de la última lectura). Una revisión obsoleta es revision_conflict con current_revision. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| log_level (opcional, en línea) | El nivel de registro más bajo que genera el Player de la pantalla; las líneas de error siempre se generan. null lo borra (el valor predeterminado del Player). Cambiarlo regenera la revisión del manifiesto. |
| toast_level (opcional, en línea) | El nivel de toast más bajo que muestra el Player de la pantalla; los toasts de error siempre se muestran. null lo borra (se muestran todos los toasts). Cambiarlo regenera la revisión del manifiesto. |
Plantilla y respuestas de solicitud
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/verbosity'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | La pantalla tal como está almacenada ahora; ETag lleva su revisión. | Pantalla (application/json); encabezados: ETag |
| 412 | revision_conflict: If-Match está obsoleto; current_revision del error contiene la revisión actual. | Problema (application/problem+json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Parche de configuración del dispositivo de pantalla
Una persona con sesión iniciada define o borra los ajustes de oscurecimiento por inactividad y de brillo de una pantalla y su bloqueo de kiosco con los miembros display y kiosk de updateScreen: display.idle {after_s 30 a 86400, wake touch, presence o ambos}, display.brightness {mode auto o fixed} y kiosk.lock.
Un miembro que usted envía lo reemplaza, null lo borra, y un miembro omitido se queda como está; un display con valor null borra ambos. Un valor fuera de rango o de un tipo incorrecto da invalid_request, que nombra la ruta (display.idle.after_s).
La revisión de la pantalla avanza una unidad, una pantalla que muestra una lista de reproducción recibe una nueva revisión del manifiesto, y el Player lee los ajustes de los miembros del manifiesto display (idle, brightness) y kiosk. El cuerpo nombra al menos uno de display y kiosk y ningún otro miembro.
If-Match lleva la revisión de la pantalla y es obligatorio (invalid_request si falta, revision_conflict si está obsoleta). En una pantalla protegida, un cambio en display es protected_target (409). Solo para la sesión del panel; los agentes usan PATCH /api/screens/{id} (updateScreen).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| id | ruta | requerido | |
| If-Match | encabezado | requerido | La revisión actual de la pantalla, entre comillas o sin ellas (el ETag de la última lectura). Una revisión obsoleta es revision_conflict con current_revision. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| display (opcional, en línea) | display.idle y display.brightness, como el display de updateScreen: un miembro que usted envía lo reemplaza, null lo borra, un miembro que omite se conserva; un display con valor null borra ambos. Cambiar cualquiera de los dos regenera la revisión del manifiesto de una pantalla que muestra una lista de reproducción. En una pantalla protegida es protected_target. |
| kiosk (opcional, en línea) | kiosk.lock, como el kiosk de updateScreen: lock true fija el Player a la pantalla, false o null lo libera. |
Plantilla y respuestas de solicitud
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/device-settings'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | La pantalla tal como está almacenada ahora; ETag lleva su revisión. | Pantalla (application/json); encabezados: ETag |
| 412 | revision_conflict: If-Match está obsoleto; current_revision del error contiene la revisión actual. | Problema (application/problem+json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Modificar nombre de pantalla
Una persona con sesión iniciada cambia el nombre de una pantalla con el name de updateScreen. El nombre se recorta y debe tener de 1 a 120 caracteres sin caracteres de control; de lo contrario, invalid_request en name (igual que si falta el nombre o es null).
La revisión de la pantalla avanza en uno y el evento es screen.manifest_changed, dirigido a la pantalla, con la persona como actor; la revisión del manifiesto se mantiene, así que la reproducción no se ve afectada y los Players actualizan el nombre a partir del ETag modificado. Un cambio de nombre al mismo nombre sigue avanzando la revisión y añade screen.updated. El cuerpo no tiene ningún otro miembro.
If-Match lleva la revisión de la pantalla y es obligatorio (invalid_request si falta, revision_conflict si está desactualizado). Solo para la sesión del panel; los agentes usan PATCH /api/screens/{id} (updateScreen).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| id | ruta | requerido | |
| If-Match | encabezado | requerido | La revisión actual de la pantalla, entre comillas o sin ellas (el ETag de la última lectura). Una revisión obsoleta es revision_conflict con current_revision. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| nombre (requerido, cadena) | El nombre de la pantalla, recortado; de 1 a 120 caracteres tras recortar, sin caracteres de control. minLength: 1 maxLength: 120 |
Plantilla y respuestas de solicitud
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/name'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | La pantalla tal como está almacenada ahora; ETag lleva su revisión. | Pantalla (application/json); encabezados: ETag |
| 412 | revision_conflict: If-Match está obsoleto; current_revision del error contiene la revisión actual. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Parche de la lista de reproducción de la pantalla
Una persona con sesión iniciada asigna la lista de reproducción de la pantalla con la asignación de updateScreen: la lista debe pertenecer al proyecto y tener una versión aprobada (playlist_not_approved), y una lista con formato necesita una pantalla cuyo muro tenga la misma forma (409 playlist_format_mismatch).
The screen revision moves by one and the manifest is reissued from the new playlist; while a takeover, a campaign or a schedule entry is effective the playlist becomes the default behind it. Events carry the person as their actor.
The write is live, so only the project owner or a member who can approve makes it (approver_required); a staff session needs its write lease. The body has no other member. If-Match carries the screen revision and is required (invalid_request when absent, revision_conflict when stale).
Solo la sesión del panel; los agentes usan PATCH /api/screens/{id} (updateScreen). En una pantalla protegida, la asignación de un aprobador es una revisión que decide un segundo aprobador (202 pending_review).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| id | ruta | requerido | |
| If-Match | encabezado | requerido | La revisión actual de la pantalla, entre comillas o sin ellas (el ETag de la última lectura). Una revisión obsoleta es revision_conflict con current_revision. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| playlist_id (obligatorio, en línea) | La lista de reproducción predeterminada de la pantalla; null quita su asignación propia. Una toma de control, una campaña, una entrada de programación o una predeterminada heredada de una carpeta aún puede mostrar contenido; si no, el Player emparejado muestra su pantalla de espera. |
Plantilla y respuestas de solicitud
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/playlist'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | La pantalla tal como está almacenada ahora; ETag lleva su revisión. | Pantalla (application/json); encabezados: ETag |
| 412 | revision_conflict: If-Match está obsoleto; current_revision del error contiene la revisión actual. | Problema (application/problem+json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| 202 | La escritura se convirtió en una revisión y espera la aprobación de una persona (docs/reviews.md), con acceso Proponer, o con cualquier nivel de acceso cuando alcanza una pantalla de una carpeta de pantallas protegida, donde la decide un segundo aprobador (docs/screen-scope.md). Una persona aprueba, rechaza o solicita cambios en el panel, en review.url. Una repetición de Idempotency-Key responde con el mismo cuerpo. | ReviewPending (application/json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Rotar ID público de pantalla
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/public-id/rotate'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Credencial de URL pública rotada; se preserva la inscripción de clave pública del reproductor. Cada sesión de ejecución se invalida por la nueva content_access_generation y las concesiones deseadas y activas en vivo se reemiten en esa generación para su revisión de manifiesto sin cambios, por lo que un reproductor emparejado que renueva su sesión sigue autorizando el contenido que ya muestra. | Pantalla (application/json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener enlace de pantalla
El enlace de la pantalla, la URL de Player que abre esta pantalla en un navegador que no conserva almacenamiento, como una fuente de navegador de vMix u OBS. La url es una credencial: por debajo de Manage efectivo está vacía y url_redacted es true. Necesita la capacidad screens propiamente dicha. screen_link_not_found cuando la pantalla no tiene ninguno.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/link'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | El enlace de la pantalla. | ScreenLink (application/json); encabezados: Cache-Control |
| 404 | not_found para una pantalla fuera del proyecto; screen_link_not_found para una pantalla sin enlace. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Crear enlace de pantalla
Emite el enlace de la pantalla y devuelve su url, reemplazando cualquier enlace que la pantalla tenga (replaced indica cuál). La pantalla debe estar activa y vinculada una vez con su código (resource_conflict mientras no tiene un Player vinculado, screen_archived si está archivada).
Un reemplazo incrementa el content_access_generation de la pantalla y reemite sus concesiones activas, como una rotación de ID público, de modo que toda sesión que abrió el enlace anterior termina de inmediato; los Players de la pantalla vinculados a una clave emiten una sesión nueva por sí solos. El primer enlace no incrementa nada. Un enlace no es una vinculación de dispositivo: las claves de la pantalla no se tocan.
Añade screen.link_changed (details.action created o replaced). If-Match es opcional. La url es una credencial: ábrala en un solo lugar.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/link'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | El nuevo enlace de la pantalla. | ScreenLink (application/json); encabezados: ETag, Cache-Control |
| 409 | resource_conflict (aún no hay Player vinculado) o screen_archived. | Problema (application/problem+json) |
| 412 | revision_conflict: If-Match está obsoleto; current_revision del error contiene la revisión actual. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Eliminar enlace de pantalla
Desactiva el enlace de la pantalla. La url anterior deja de funcionar de inmediato y toda sesión que abrió termina, como en un reemplazo. Tiene éxito, sin cambiar nada, cuando la pantalla no tiene enlace. Añade screen.link_changed (details.action deleted) cuando existía un enlace. If-Match es opcional.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/link'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 204 | Eliminado, o no había ninguno. | sin cuerpo |
| 412 | revision_conflict. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Confirmar recuperación de pantalla
Confirma una recuperación de pantalla pendiente. Un inicio de emparejamiento nativo que presentó un duid host o serie que coincide exactamente con una pantalla en un proyecto, bajo una clave pública vinculada diferente, registra una oferta en esa pantalla (Screen.recovery_pending, evento de proyecto screen.recovery_offered).
El objeto host es una pista, nunca una credencial: nada se vuelve a enlazar hasta que el proyecto propietario llama a esta ruta. Un DUID es legible por cualquier aplicación en el panel, así que una oferta es una superficie de phishing.
Se mitiga con liveness (no hay oferta mientras la clave vinculada mostró actividad en los últimos diez minutos), un límite de tres ofertas por pantalla por hora móvil, y esta confirmación del mismo proyecto; recovery_pending.host y el evento llevan la plataforma, modelo, firmware y fabricante del dispositivo que ofrece para que el operador pueda compararlos con el monitor frente a él antes de confirmar.
La confirmación completa el emparejamiento nativo pendiente en la pantalla EXISTENTE: el dispositivo de emparejamiento recibe pairing.claimed como de costumbre y prueba la posesión con pairing.complete, la nueva clave se convierte en la identidad de la pantalla y la clave anterior se retira con una ventana de gracia de quince minutos durante la cual sus sesiones en tiempo de ejecución siguen funcionando y aún puede emitir, después de lo cual se rechaza.
Se conservan listas de reproducción, etiqueta, zona horaria, horarios e historial. Solo el mismo proyecto; la pantalla de otro proyecto es not_found. If-Match es opcional. Emite screen.recovered. recovery_not_offered cuando no hay nada pendiente, recovery_expired cuando la sesión de emparejamiento expiró, recovery_ambiguous cuando el identificador está adjunto en más de un lugar.
Las respuestas de problema nunca repiten identificadores de dispositivo.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para crear o sobrescribir una clave; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/recovery/confirm'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Pantalla recuperada en la clave del dispositivo emparejado; la respuesta lleva el ETag actual. | Pantalla (application/json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 410 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Reemplazar pantalla
Mueve el dispositivo emparejado como otra pantalla del proyecto a esta y archiva esa pantalla, de modo que esta pantalla conserva su nombre, etiquetas, zona horaria, lista de reproducción, programaciones, toma de control, programación de pantalla y su anulación, pared de video, comentarios e historial en el hardware nuevo.
La clave pública del dispositivo (o la credencial del navegador) ahora abre esta pantalla, que adopta el host y el Player del reemplazo; su salud, estado, almacenamiento, observación y comandos en cola empiezan de nuevo. La clave que tenía esta pantalla se retira con la ventana de gracia de recuperación: aún puede emitir durante quince minutos y luego se rechaza (key_retired). Nada se desvincula.
La pantalla reemplazada se archiva con archive_reason replaced y no conserva vinculación ni host. Ambas pantallas avanzan content_access_generation, por lo que termina toda sesión que cualquiera de las dos tuviera; el dispositivo recibe un player.reload dirigido a la pantalla que dejó (details.reason replaced, válido durante 24 horas) y emite una sesión nueva como esta pantalla.
Ambas pantallas deben estar activas y tener un Player emparejado (una pantalla pairing_pending o un reemplazo sin emparejar es resource_conflict, una archivada es screen_archived); with debe nombrar otra pantalla del proyecto (invalid_request; la pantalla de otro proyecto es not_found); una pantalla con una pared de video necesita un Player de reemplazo que haya declarado display.wall (wall_unsupported).
If-Match es opcional y comprueba la revisión de esta pantalla. Emite el evento de proyecto screen.replaced (details.from_screen_id) y ningún screen.archived. Un reintento exacto con Idempotency-Key devuelve esta misma respuesta durante veinticuatro horas.
Un llamador limitado a pantallas (docs/screen-scope.md) necesita que la pantalla y with estén dentro de su alcance (outside_screen_scope; no se archiva nada). Un reemplazo donde cualquiera de las dos pantallas es protegida es protected_target.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para crear o sobrescribir una clave; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| with (requerido, cadena) | El id de la pantalla, del mismo proyecto, cuyo dispositivo emparejado se hace cargo de la pantalla de la ruta. Debe ser otra pantalla activa con un Player emparejado; se archiva con archive_reason replaced. minLength: 1 maxLength: 256 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/replace'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | El dispositivo ahora abre esta pantalla; la respuesta es esta pantalla con su nueva revisión y el ETag actual. | Pantalla (application/json) |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | resource_conflict, screen_archived, wall_unsupported, o protected_target cuando cualquiera de las dos pantallas está en una carpeta de pantallas protegida. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Archivar pantalla
Oculta la pantalla de la lista predeterminada y muestra en la pantalla física el estado «Pantalla archivada». No desvincula la clave pública del reproductor. Libera cuota de screen_count. Cancela los comandos pendientes reboot, clear_cache, restart_app y update de la pantalla; un reload pendiente sigue entregándose. Una pantalla en una carpeta de pantallas protegida devuelve protected_target (409).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/archive'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Pantalla archivada. | Pantalla (application/json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | protected_target cuando la pantalla está en una carpeta de pantallas protegida (docs/screen-scope.md; quite la protección de la carpeta mediante una revisión, haga el cambio, protéjala de nuevo), o los demás conflictos de la operación. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Desarchivar pantalla
Restaura una pantalla archivada a la lista predeterminada y vuelve a emitir un manifiesto normal. Debe pasar la admisión de pantalla. No cambia la clave pública vinculada.
El manifiesto se emite nuevamente, por lo que la lista de reproducción de la pantalla se verifica como una asignación; una lista de reproducción que hace referencia a contenido faltante o no listo responde con resource_conflict nombrando la lista de reproducción, y la pantalla permanece archivada hasta que se corrige la lista de reproducción.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/unarchive'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Pantalla desarchivada. | Pantalla (application/json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 413 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Recargar pantalla
Solicita al Player de la pantalla indicada, activa o archivada, que recargue (docs/player-compatibility.md §6.3). El cuerpo opcional establece expires_in_s, cuánto tiempo sigue siendo ejecutable la recarga (de 60 a 86400 segundos, predeterminado 86400, 24 horas); un valor fuera de rango es invalid_request y nombra expires_in_s.
A una pantalla en línea se le envía de inmediato el evento duradero por pantalla player.reload (details.reason project, un reload_id nuevo, spread_s 0, expires_at) y la recarga se registra en Screen.commands como sent.
Una pantalla sin conexión mantiene la recarga como queued sin ningún evento; cuando el backend aplica la próxima transición de la pantalla a en línea antes de expires_at, se añade el evento, con el mismo reload_id y expires_at, y el comando pasa a sent. Una recarga más reciente reemplaza a una anterior que sigue en cola.
Una recarga en cola cuyo expires_at ya pasó aparece como expired, y POST /api/screens/{id}/commands/{command_id}/cancel cancela una que sigue en cola. El flujo SSE de tiempo de ejecución transmite el evento a cada sesión de tiempo de ejecución. Un Player ignora una recarga que llega dentro de los diez minutos posteriores a la última que ejecutó.
Un Player web recarga en su próximo límite de página; un Player nativo vuelve a emitir, vuelve a obtener su manifiesto y verifica si hay una actualización. La revisión de la pantalla no cambia. If-Match e Idempotency-Key son opcionales, como al archivar; un reintento exacto con Idempotency-Key devuelve el cuerpo original durante veinticuatro horas.
Una pantalla pairing_pending aún no tiene Player y responde resource_conflict. Los mensajes de pantalla están exentos del medidor de API de 1 crédito.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| expires_in_s (opcional, entero) | Cuánto tiempo sigue siendo ejecutable el comando, en segundos desde la solicitud. Un comando en cola se envía solo antes de que expire; un Player ignora uno después de expires_at. predeterminado: 86400 mínimo: 60 máximo: 86400 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/reload'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | Aceptado. state es sent cuando la recarga llegó al Player de la pantalla en línea, y queued cuando espera a que la pantalla se ponga en línea. La recarga es ejecutable hasta expires_at. El ETag es la revisión de pantalla sin cambios. | ScreenReloadAccepted (application/json); encabezados: Cache-Control, ETag, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener programación de lista de reproducción de pantalla
Devuelve la programación de la lista de reproducción evaluada por el servidor de la pantalla: entradas en orden de prioridad (vacío cuando la pantalla no tiene), updated_at y la effective_playlist que producen actualmente. El ETag es la revisión de la pantalla. Las pantallas pairing_pending, activas y archivadas son legibles; la pantalla de otro proyecto es not_found.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Programación de la lista de reproducción. | ScreenPlaylistScheduleView (application/json); encabezados: ETag |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Establecer programación de lista de reproducción del schermo
Reemplaza la programación de lista de reproducción de la pantalla. El servidor la evalúa, nunca el Player: la primera entrada cuya regla coincida con la hora civil de la pantalla (ventanas screenrig.schedule/v1 y from/until, en la zona horaria de la pantalla, incluyendo transiciones de horario de verano y ventanas que cruzan medianoche) es la lista efectiva; cuando ninguna coincide, lo es playlist_id asignado.
Una toma aún gana sobre cada entrada. La pantalla debe tener una zona horaria y una playlist_id predeterminada asignada (invalid_request de lo contrario), para que siempre haya algo a qué recurrir.
Cada lista de reproducción referenciada se valida contra la pantalla exactamente como una asignación (propiedad, referencias listas, la visibilidad de la página necesita zona horaria, y una lista con formato necesita una pantalla cuya pared tenga la misma forma, sino 409 playlist_format_mismatch), así que una lista que la pantalla rechazaría se rechaza aquí; la verificación escribe el documento de la lista, por lo que un borrado concurrente de lista genera conflicto en lugar de carrera.
Si una lista de reproducción programada luego no puede mostrarse (por ejemplo, su contenido ya no se resuelve), sus entradas se omiten en la evaluación y se añade screen.playlist_unavailable (advertencia, detalles playlist_id, entry_ids, código).
Cuando la lista de reproducción efectiva cambia, el manifiesto se vuelve a generar a partir de ella y se señala al Player con screen.manifest_changed, como en una asignación, y se añade screen.playlist_switched. La revisión de la pantalla se incrementa (If-Match la protege) y se añade screen.updated con details.playlist_schedule_entries.
Una pantalla archivada responde screen_archived; su programación, toma y predeterminado permanecen referenciados (bloquean la eliminación de lista de reproducción) y se resuelven de nuevo cuando se desarchiva. Límites de tasa: screen-control-org 600, screen-control-screen 20 y screen-control-ip 60 por minuto, compartidos con DELETE y las rutas de toma.
En una pantalla protegida, la programación es una revisión que decide un segundo aprobador (202 pending_review) en todos los niveles de acceso. Una entrada nueva con paused true (un borrador) corresponde al control de cambios de la programación, que incluye el plan Enterprise; un proyecto cuyo plan no lo incluye se rechaza con feature_not_in_plan (402).
Las entradas ya guardadas pueden seguir pausadas, y pausar una entrada guardada está abierto en todos los planes.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| Screenrig-Review-Note | encabezado | opcional | Nota opcional del proponente en una escritura de clase revisión, enviada como UTF-8 codificado en porcentaje (lo que escribe encodeURIComponent de JavaScript). El servidor la decodifica en porcentaje (una escape inválido es 400 invalid_request); la nota decodificada es texto plano, máximo 280 caracteres tras recortar, sin caracteres de control (de lo contrario 400 invalid_request). Almacenado en la revisión cuando la escritura se convierte en una; ignorado cuando se aplica en vivo. |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| entradas (requerido, arreglo) | Orden de prioridad: gana la primera entrada coincidente. DELETE borra la programación. |
Plantilla y respuestas de solicitud
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | La escritura se convirtió en una revisión bajo Proponer acceso y espera la aprobación de una persona (docs/reviews.md). Una repetición de Idempotency-Key responde con el mismo cuerpo. | ReviewPending (application/json); headers: RateLimit-Policy, RateLimit |
| 200 | Pantalla con la programación almacenada y su effective_playlist. El ETag es la nueva revisión. | Pantalla (application/json); encabezados: ETag, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 402 | feature_not_in_plan — El control de cambios de la programación forma parte del plan Enterprise; el problema nombra la función, el plan que tiene la cuenta y required_plan. Una entrada que bloquea una lista de reproducción en el monitor 2 o posteriores de un muro de video (displays), que no sea la entrada guardada de la pantalla, forma parte de Plus. El problema nombra la función, el plan del proyecto y required_plan. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Borrar programación de lista de reproducción
Elimina la programación de lista de reproducción de la pantalla; pasa a regir la toma de control o, en su defecto, una campaña vigente o, en su defecto, la lista de reproducción asignada, con la misma señalización del manifiesto que PUT. Una pantalla sin programación responde 200 sin cambios (sin incremento de revisión ni evento).
En una pantalla protegida, quitar la programación es una revisión que decide un segundo aprobador (202 pending_review) en todos los niveles de acceso.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| Screenrig-Review-Note | encabezado | opcional | Nota opcional del proponente en una escritura de clase revisión, enviada como UTF-8 codificado en porcentaje (lo que escribe encodeURIComponent de JavaScript). El servidor la decodifica en porcentaje (una escape inválido es 400 invalid_request); la nota decodificada es texto plano, máximo 280 caracteres tras recortar, sin caracteres de control (de lo contrario 400 invalid_request). Almacenado en la revisión cuando la escritura se convierte en una; ignorado cuando se aplica en vivo. |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | La escritura se convirtió en una revisión bajo Proponer acceso y espera la aprobación de una persona (docs/reviews.md). Una repetición de Idempotency-Key responde con el mismo cuerpo. | ReviewPending (application/json); headers: RateLimit-Policy, RateLimit |
| 200 | Pantalla sin programación de lista de reproducción. | Pantalla (application/json); encabezados: ETag, RateLimit-Policy, RateLimit |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Vista previa de programación de lista de reproducción de pantalla
Qué cambiaría reemplazar la programación de lista de reproducción de la pantalla por entries, sin realizarlo.
Las entradas se comprueban como las comprueba PUT (gramática, la zona horaria y los displays de la pantalla, una lista de reproducción predeterminada, y cada lista de reproducción como asignación: existe, tiene una versión aprobada, encaja con la pared de video de la pantalla y la región que cubre, y sus referencias se resuelven), de modo que una vista previa rechaza lo que rechaza PUT.
La respuesta dice si la pantalla ganaría o perdería niveles de su programación en su pila (una entrada pausada no está en ninguna pila, así que publicar una la gana), y el calendario de programación de la pantalla tal como está (before) y como quedaría (after) de from a to (por defecto: una semana desde ahora; como máximo 93 días). Acceso de lectura: no se escribe nada.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| entradas (requerido, arreglo) | |
| from (opcional, string) | Inicio de los calendarios; por defecto ahora. formato: "date-time" |
| to (opcional, cadena) | Fin de los calendarios; por defecto una semana después de from, como máximo 93 días después. formato: "date-time" |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule/preview'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | La vista previa. | SchedulePreview (application/json) |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Listar revisiones de programación de lista de reproducción de pantalla
Las revisiones de programación de lista de reproducción de la pantalla, de la más reciente a la más antigua: la lista entries completa tal como se almacenó después de cada escritura (un PUT, un DELETE, una restauración, una importación de programación), con el tipo de cambio y quién lo hizo. Una revisión se numera por la revisión de la pantalla en el momento de la escritura, por lo que la numeración tiene huecos donde la pantalla cambió de otro modo.
Una pantalla cuyo historial aún no tiene fila lista su programación tal como está, con change baseline. Las revisiones se van con la purga de la pantalla. Como máximo 50 por página; next_cursor mientras queden más, null en la última página.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| después | consulta | opcional | next_cursor de la página anterior de la misma lista, con los mismos filtros. Omitido comienza en la fila más reciente. Un valor que no sea tal cursor es invalid_request. |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule/revisions'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Las revisiones de programación de la pantalla, de la más reciente a la más antigua. | ScreenScheduleRevisionList (application/json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Restaurar revisión de programación de lista de reproducción de pantalla
Vuelve a poner las entradas de una revisión anterior como programación de la pantalla: la misma escritura que PUT /api/screens/{id}/playlist-schedule con esas entradas (o DELETE cuando esa revisión no tenía ninguna), comprobada como se comprueban ahora (una lista de reproducción eliminada desde entonces la rechaza), de modo que con acceso Proponer la restauración se convierte en la misma revisión screen_change en que se convierte el PUT.
If-Match es obligatorio y nombra la revisión actual de la pantalla. Las revisiones anteriores se conservan tal como estaban.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| revisión | ruta | requerido | Una revisión del registro, tal como la numera su lista de revisiones. |
| Screenrig-Review-Note | encabezado | opcional | Nota opcional del proponente en una escritura de clase revisión, enviada como UTF-8 codificado en porcentaje (lo que escribe encodeURIComponent de JavaScript). El servidor la decodifica en porcentaje (una escape inválido es 400 invalid_request); la nota decodificada es texto plano, máximo 280 caracteres tras recortar, sin caracteres de control (de lo contrario 400 invalid_request). Almacenado en la revisión cuando la escritura se convierte en una; ignorado cuando se aplica en vivo. |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule/revisions/REVISION/restore'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | La escritura se convirtió en una revisión bajo Proponer acceso y espera la aprobación de una persona (docs/reviews.md). Una repetición de Idempotency-Key responde con el mismo cuerpo. | ReviewPending (application/json); headers: RateLimit-Policy, RateLimit |
| 200 | Pantalla con la programación restaurada y su effective_playlist. El ETag es la nueva revisión. | Pantalla (application/json); encabezados: ETag, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Establecer toma de control del schermo
Toma el control de la pantalla con una lista de reproducción que tiene prioridad sobre las campañas, su programación de listas de reproducción y su lista de reproducción asignada, hasta until (RFC 3339, estrictamente en el futuro y como máximo dentro de 7 días) o, cuando until es null o se omite, hasta que se borre la toma de control. reason es opcional, de 120 caracteres como máximo.
La pantalla debe tener un playlist_id predeterminado asignado (de lo contrario, invalid_request). Una toma de control reemplaza a una anterior (screen.takeover_ended con reason replaced, o expired cuando la anterior ya había terminado).
La lista de reproducción se valida como una asignación, incluido su formato (una lista de reproducción con formato necesita una pantalla cuyo videowall tenga la misma forma; de lo contrario, 409 playlist_format_mismatch). Una toma de control cuya lista de reproducción deja de poder mostrarse termina (screen.takeover_ended con reason playlist_deleted o playlist_unavailable).
Agrega screen.takeover_started y, cuando cambia la lista de reproducción vigente, screen.playlist_switched junto con screen.manifest_changed del Player. Cuando se alcanza until, el worker de límites termina la toma de control en un plazo de 60 segundos (screen.takeover_ended con reason expired). La revisión de la pantalla se incrementa (If-Match la protege).
Una pantalla archivada responde screen_archived; desarchivar vuelve a resolver primero, así que una toma de control que terminó mientras estaba archivada termina entonces. Se aplican los mismos límites de frecuencia de control de pantalla que en las rutas de programación. En una pantalla protegida, una toma de control es una revisión que decide un segundo aprobador (202 pending_review) en todos los niveles de acceso.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| Screenrig-Review-Note | encabezado | opcional | Nota opcional del proponente en una escritura de clase revisión, enviada como UTF-8 codificado en porcentaje (lo que escribe encodeURIComponent de JavaScript). El servidor la decodifica en porcentaje (una escape inválido es 400 invalid_request); la nota decodificada es texto plano, máximo 280 caracteres tras recortar, sin caracteres de control (de lo contrario 400 invalid_request). Almacenado en la revisión cuando la escritura se convierte en una; ignorado cuando se aplica en vivo. |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| playlist_id (requerido, cadena) | minLength: 1 |
| hasta (opcional, en línea) | Estríctamente en el futuro y a lo sumo 7 días adelante. Nulo u omitido mantiene la toma hasta que se borre. |
| razón (opcional, cadena) | Nota del operador llevada en la toma de control y sus eventos. Sin caracteres de control. maxLength: 120 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/takeover'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | La escritura se convirtió en una revisión bajo Proponer acceso y espera la aprobación de una persona (docs/reviews.md). Una repetición de Idempotency-Key responde con el mismo cuerpo. | ReviewPending (application/json); headers: RateLimit-Policy, RateLimit |
| 200 | Pantalla con la toma de control y su effective_playlist. El ETag es la nueva revisión. | Pantalla (application/json); encabezados: ETag, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Borrar toma de pantalla
Finaliza la toma de control (screen.takeover_ended con razón cleared); la programación, o la lista de reproducción asignada, se vuelve efectiva con la misma señalización del manifiesto. Una pantalla sin toma de control responde 200 sin cambios (sin aumento de revisión, sin evento).
También se elimina la toma de control de una pantalla archivada: permanece archivada, su Player no recibe ninguna señal y, al desarchivarla, se determina la lista de reproducción efectiva. En una pantalla protegida, eliminar una toma de control requiere la revisión de una segunda persona con autoridad de aprobación (202 pending_review) en cualquier nivel de acceso.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| Screenrig-Review-Note | encabezado | opcional | Nota opcional del proponente en una escritura de clase revisión, enviada como UTF-8 codificado en porcentaje (lo que escribe encodeURIComponent de JavaScript). El servidor la decodifica en porcentaje (una escape inválido es 400 invalid_request); la nota decodificada es texto plano, máximo 280 caracteres tras recortar, sin caracteres de control (de lo contrario 400 invalid_request). Almacenado en la revisión cuando la escritura se convierte en una; ignorado cuando se aplica en vivo. |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/takeover'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | La escritura se convirtió en una revisión bajo Proponer acceso y espera la aprobación de una persona (docs/reviews.md). Una repetición de Idempotency-Key responde con el mismo cuerpo. | ReviewPending (application/json); headers: RateLimit-Policy, RateLimit |
| 200 | Pantalla sin toma de control. | Pantalla (application/json); encabezados: ETag, RateLimit-Policy, RateLimit |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Iniciar uso compartido de pestañas
Muestra pestañas del navegador en pantallas. Crea una lista temporal con una página iframe de lienzo completo de 1920x1080 por pestaña y toma el control de cada pantalla destino (motivo «Shared browser tab») hasta until, como máximo 24 horas después (por defecto).
Los destinos son la unión de screen_ids, cada pantalla activa en folder_ids y sus subcarpetas, y cada pantalla activa con alguna de tags; se incluyen las pantallas sin conexión y muestran el recurso al volver.
Un solicitante limitado a pantallas (docs/screen-scope.md) solo alcanza las de su ámbito: se omite una pantalla fuera de él (outside_screen_scope); el resto de la solicitud sigue las mismas reglas.
Una pestaña permanece hasta que termina el uso compartido; varias avanzan tras el duration_s de cada una. reload_s recarga cada página. qr añade un código QR de la dirección abajo a la derecha, de aproximadamente el 14 % de la altura del lienzo. cookies contiene el inicio de sesión del remitente: se sellan en reposo, nunca se devuelven en lecturas, eventos, auditorías ni revisiones y solo se sirven en el manifiesto de ejecución de una pantalla que muestra el recurso (el miembro cookies del iframe); un Player que no pueda configurarlas las ignora, igual que el Player web y los contenedores que delegan en él.
Un destino que no se puede controlar (carpeta protegida, sin lista predeterminada, archivado, no encontrado, formato incompatible, fuera del ámbito o limitado) aparece en skipped sin fallar la solicitud. Este recurso sustituye uno anterior en la pantalla; la lista anterior se elimina cuando ninguna pantalla la muestra.
Si no se controla ningún destino, se elimina la lista temporal y se responde con el problema del destino único, o con 409 resource_conflict indicando los motivos. warnings enumera direcciones de pestañas que el backend no pudo insertar (embedding_blocked: X-Frame-Options o frame-ancestors rechaza la aplicación web Player), comprobadas una vez por dirección con 3 segundos de presupuesto; nunca bloquea el uso compartido.
Los límites de control de pantallas se aplican por pantalla destino (organización y pantalla), y el límite IP una vez por solicitud. Cada llamada crea un recurso compartido; un Idempotency-Key no reproduce nada. El cambio es inmediato: se rechaza con insufficient_access bajo acceso Propose y, en el canal del panel, con approver_required para miembros que no pueden aprobar revisiones.
En el canal del panel se usa el proyecto actual de la sesión (no_project si no hay ninguno). La solicitud puede proceder del panel o de una extensión Chrome o Firefox (chrome-extension://ID, moz-extension://UUID), con Sec-Fetch-Site ausente, same-origin o none; un encabezado X-ScreenRig-CSRF presente debe coincidir con csrf_token de GET /api/session.
Solo esta ruta, DELETE /api/tab-shares/{id}, POST /api/playlists/{id}/pages y POST /api/screens/{id}/screenshot aceptan un origen de extensión.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| screen_ids (opcional, array) | Pantallas por id. Los duplicados se unifican. |
| folder_ids (opcional, arreglo) | Carpetas de pantallas; cada una incluye todas sus subcarpetas. |
| tags (opcional, array) | Una pantalla con cualquiera de las etiquetas. |
| tabs (requerido, array) | |
| cookies (opcional, array) | Cookies del remitente para las páginas, hasta 64 KiB codificados. Secretas; véase POST /api/tab-shares. |
| reload_s (opcional, integer) | 0 (nunca, por defecto) o de 60 a 86400: frecuencia de recarga del iframe de cada página. |
| until (opcional, string) | Estrictamente en el futuro y como máximo dentro de 24 horas; 24 horas desde ahora si se omite. Fin del control en cada destino y caducidad de la lista temporal. format: "date-time" |
| qr (opcional, boolean) | Cuando es true, cada página lleva un código QR de su dirección abajo a la derecha. Por defecto false. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/tab-shares'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | El recurso compartido. Se tomó el control de al menos una pantalla. | TabShare (application/json); encabezados: RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener uso compartido de pestañas
Lee un recurso compartido: su final y las pantallas cuya lista de control sigue siendo la suya (no se incluyen pantallas controladas después por alguien o archivadas). 404 not_found si terminó, caducó o nunca existió. Un solicitante limitado a pantallas solo ve las de su ámbito. Las lecturas no tienen reglas de origen de extensión.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/tab-shares/RESOURCE_ID'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | El recurso compartido y las pantallas que aún lo muestran. | TabShareState (application/json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Detener uso compartido de pestañas
Termina un recurso compartido: libera el control de cada pantalla cuya lista sigue siendo la del recurso (screen.takeover_ended con motivo cleared; se activa la programación o, en su defecto, la lista asignada con la misma señalización de manifiesto) y elimina la lista. Permitido en pantallas de carpetas protegidas.
Una pantalla controlada después por otra persona no se modifica. 404 not_found si el recurso compartido ya terminó; el cliente lo trata como terminado. Cada solicitud consume una unidad de cada límite de control de pantalla. Un solicitante limitado a pantallas solo libera las de su ámbito. Los canales, reglas de acceso y reglas de origen de extensión son los de POST /api/tab-shares.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/tab-shares/RESOURCE_ID'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Las pantallas cuyo control se liberó. | TabShareStopped (application/json); encabezados: RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Reproducir página de pantalla
Solicita al reproductor de la pantalla que inicie una página de la lista de reproducción que está reproduciendo ahora, para que una captura de pantalla tomada a continuación muestre esa página sin esperar la rotación (docs/player-compatibility.md §6.3.1).
La página debe ser una página de la lista de reproducción vigente de la pantalla, aquella a partir de la cual se genera su manifiesto: una toma de control activa; si no, una campaña vigente; si no, la entrada vigente de la programación de listas de reproducción; si no, la lista de reproducción asignada. De lo contrario, 409 page_not_on_screen, cuyo detail nombra esa lista de reproducción.
La pista del host de la pantalla debe declarar la capacidad play_page, de lo contrario 409 play_page_unsupported y no se envía nada; actualice el reproductor. La pantalla debe estar activa; una pantalla archivada responde screen_archived y una pairing_pending responde resource_conflict.
Agrega el comando de tiempo de ejecución por pantalla player.play_page (detalles page_id, playlist_id, manifest_revision, expires_at sesenta segundos después; nunca se entrega después de expires_at). El Player inicia la página desde su comienzo como si la rotación la hubiera alcanzado y continúa la rotación desde allí. La revisión de la pantalla no cambia.
La Idempotency-Key es obligatoria, como para toast; un reintento exacto devuelve el cuerpo original durante veinticuatro horas. Una solicitud rechazada, una fallida y una repetición exacta no gastan presupuesto de límite de frecuencia. Los mensajes de pantalla están exentos del medidor API de 1 crédito. Una pantalla de una carpeta de pantallas protegida es protected_target (409).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| Idempotency-Key | encabezado | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| page_id (requerido, cadena) | El id de una página de la lista de reproducción que la pantalla está reproduciendo ahora (un id en las páginas de esa lista). minLength: 1 maxLength: 128 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/play-page'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | Aceptado. El comando es ejecutable hasta expires_at. Un reintento idempotente exacto devuelve este mismo cuerpo. | ScreenPlayPageAccepted (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | protected_target cuando la pantalla está en una carpeta de pantallas protegida (docs/screen-scope.md; quite la protección de la carpeta mediante una revisión, haga el cambio, protéjala de nuevo), o los demás conflictos de la operación. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Identificar pantalla
Solicita al Player de la pantalla que muestre el nombre de la pantalla sobre su contenido durante duration_ms (de 2000 a 600000, predeterminado 60000), para que una persona frente a varios monitores pueda distinguir cuál corresponde a un registro (docs/player-compatibility.md §6.3.2).
Añade el comando de tiempo de ejecución por pantalla player.identify (details identify_id, label, screen_id, duration_ms, at, expires_at sesenta segundos después de at; nunca se entrega después de expires_at).
El Player dibuja una superposición a pantalla completa sobre su contenido, con el nombre muy grande y el id de la pantalla pequeño debajo, durante duration_ms desde la recepción; la reproducción continúa por debajo y un identify más reciente reemplaza la superposición.
La pista del host de la pantalla debe declarar la capacidad identify, de lo contrario 409 identify_unsupported y no se envía nada; actualice el Player o muestre el nombre con un toast. La pantalla debe estar activa; una pantalla archivada responde screen_archived y una pairing_pending responde resource_conflict. La revisión de la pantalla no cambia.
El cuerpo y la Idempotency-Key son opcionales; un reintento exacto devuelve el cuerpo original durante veinticuatro horas. Una solicitud rechazada, una fallida y una repetición exacta no gastan presupuesto de límite de tasa. Los mensajes de pantalla están exentos del medidor de API de 1 crédito.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| duration_ms (opcional, entero) | Cuánto tiempo permanece visible la superposición, en milisegundos desde que el Player la recibe. Si se omite, el valor predeterminado es 60000. predeterminado: 60000 mínimo: 2000 máximo: 600000 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/identify'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | Aceptado. El comando es ejecutable hasta expires_at. Un reintento idempotente exacto devuelve este mismo cuerpo. | ScreenIdentifyAccepted (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Suspender pantalla
Suspende la pantalla: su Player muestra message en lugar de su contenido (docs/player-compatibility.md §6.9). El mensaje tiene de 1 a 280 caracteres tras recortar; el salto de línea es el único carácter de control aceptado.
Nada más cambia: la lista de reproducción, la programación, la toma de control, el control de pantalla y cualquier otro ajuste permanecen y siguen evolucionando, y resume muestra lo que la pantalla estaría mostrando ahora. Screen.suspension lleva message y since. Suspender una pantalla ya suspendida reemplaza el mensaje y mantiene since.
El manifiesto de tiempo de ejecución de una pantalla suspendida tiene pages [] y un miembro suspension, y una revisión de manifiesto propia, con o sin una lista de reproducción asignada; se le indica al Player que lo vuelva a obtener de inmediato. Añade screen.suspended, solo de proyecto (details message). Una pantalla archivada responde screen_archived. If-Match e Idempotency-Key son opcionales, como al archivar.
Una pantalla de una carpeta de pantallas protegida es protected_target (409).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| message (obligatorio, cadena) | El aviso que muestra la pantalla, de 1 a 280 caracteres tras recortar. El salto de línea es el único carácter de control aceptado; un Player ajusta el texto y conserva los saltos de línea. minLength: 1 maxLength: 280 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/suspend'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Pantalla suspendida. El ETag es la nueva revisión de la pantalla. | Pantalla (application/json); encabezados: ETag |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | protected_target cuando la pantalla está en una carpeta de pantallas protegida (docs/screen-scope.md; quite la protección de la carpeta mediante una revisión, haga el cambio, protéjala de nuevo), o los demás conflictos de la operación. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Reanudar pantalla
Termina la suspensión de la pantalla: su Player vuelve a mostrar el contenido propio de la pantalla, a partir del manifiesto que se serviría ahora a la pantalla (docs/player-compatibility.md §6.9). Se le indica al Player que vuelva a obtenerlo de inmediato. Añade screen.resumed, solo de proyecto. Reanudar una pantalla que no está suspendida responde 200 con la pantalla sin cambios: sin aumento de revisión y sin evento.
Una pantalla archivada responde screen_archived. Sin cuerpo. If-Match e Idempotency-Key son opcionales, como al archivar.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/resume'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Pantalla reanudada, o no suspendida. El ETag es la revisión de la pantalla. | Pantalla (application/json); encabezados: ETag |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Reiniciar pantalla
Solicita al Player de la pantalla que reinicie el dispositivo (docs/player-compatibility.md §6.5). El cuerpo opcional establece expires_in_s, cuánto tiempo sigue siendo ejecutable el reinicio (de 60 a 86400 segundos, predeterminado 86400, 24 horas); un valor fuera de rango es invalid_request y nombra expires_in_s. Siempre añade screen.reboot_requested, solo de proyecto.
A una pantalla en línea se le envía de inmediato el comando de tiempo de ejecución por pantalla player.reboot (details reboot_id, reason project, at, expires_at; nunca se entrega después de expires_at) y el reinicio se registra en Screen.commands como sent.
Una pantalla sin conexión mantiene el reinicio como queued sin ningún evento; cuando el backend aplica la próxima transición de la pantalla a en línea antes de expires_at, se añade el evento, con el mismo reboot_id y expires_at, y el comando pasa a sent. Un reinicio sent pasa a done cuando un informe de salud que lleva uptime_s sitúa el arranque después de su envío.
Un reinicio más reciente reemplaza a uno anterior que sigue en cola. Un reinicio en cola cuyo expires_at ya pasó aparece como expired, y POST /api/screens/{id}/commands/{command_id}/cancel cancela uno que sigue en cola. La pantalla debe estar activa; una pantalla archivada responde screen_archived y una pairing_pending responde resource_conflict.
La pista del host de la pantalla debe declarar la capacidad reboot, de lo contrario 409 reboot_unsupported y no se registra nada. La revisión de la pantalla no cambia. If-Match e Idempotency-Key son opcionales; un reintento exacto devuelve el mismo cuerpo durante veinticuatro horas.
Máximo 2 por pantalla cada 10 minutos; una solicitud rechazada (reboot_unsupported, not_found, un conflicto), una fallida y una repetición exacta de Idempotency-Key no gastan nada.
Desde el momento en que se envía el reinicio hasta que un informe de salud prueba que terminó o pasan diez minutos, la pantalla no genera ningún aviso ni alerta screen_offline, display_disconnected o crashing; una condición que sigue vigente entonces se abre con normalidad. La programación de reinicio (PUT /api/screens/{id}/reboot-schedule) emite el mismo reinicio con source schedule.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| expires_in_s (opcional, entero) | Cuánto tiempo sigue siendo ejecutable el comando, en segundos desde la solicitud. Un comando en cola se envía solo antes de que expire; un Player ignora uno después de expires_at. predeterminado: 86400 mínimo: 60 máximo: 86400 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/reboot'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | Aceptado. state es sent cuando el reinicio llegó al Player de la pantalla en línea, y queued cuando espera a que la pantalla se ponga en línea. El reinicio es ejecutable hasta expires_at. El ETag es la revisión de pantalla sin cambios. | ScreenRebootAccepted (application/json); encabezados: Cache-Control, ETag, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Borrar caché de pantalla
Pide al Player de la pantalla que borre sus cachés (docs/player-compatibility.md §6.5.1). El Player elimina sus medios descargados, paquetes de aplicación y cachés de datos, conserva su vinculación, identidad y ajustes, y luego obtiene de nuevo el manifiesto y el contenido.
El cuerpo opcional establece expires_in_s, cuánto tiempo sigue siendo ejecutable el comando (60 a 86400 segundos, predeterminado 86400, 24 horas); un valor fuera de rango es invalid_request que nombra expires_in_s. Siempre añade screen.command_requested, solo del proyecto.
A una pantalla en línea se le envía de inmediato el comando de tiempo de ejecución por pantalla player.clear_cache (detalles command_id, command, reason project, at, expires_at; nunca se entrega después de expires_at) y el comando se registra en Screen.commands como sent.
Una pantalla sin conexión mantiene el comando como queued sin ningún evento; cuando el backend aplica la próxima transición de la pantalla a en línea antes de expires_at, se añade el evento, con el mismo command_id y expires_at, y el comando pasa a sent.
El Player informa cómo terminó: el comando pasa a done o failed en Screen.commands con la causa que informó el Player (cause, detail), y se añade screen.command_result, solo del proyecto. Un comando sent sin informe permanece sent.
Un comando más reciente del mismo tipo reemplaza a uno que sigue en cola, y POST /api/screens/{id}/commands/{command_id}/cancel cancela uno que sigue en cola. La pantalla debe estar activa; una pantalla archivada responde screen_archived y una pairing_pending responde resource_conflict.
La sugerencia de host de la pantalla debe declarar la capacidad clear_cache, de lo contrario 409 command_unsupported y no se registra nada. La revisión de la pantalla no cambia. If-Match e Idempotency-Key son opcionales; un reintento exacto devuelve el mismo cuerpo durante veinticuatro horas.
Como máximo 2 por pantalla cada 10 minutos entre clear-cache, restart-app y update; una solicitud rechazada (command_unsupported, not_found, un conflicto), una fallida y una repetición exacta de Idempotency-Key no consumen nada.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| expires_in_s (opcional, entero) | Cuánto tiempo sigue siendo ejecutable el comando, en segundos desde la solicitud. Un comando en cola se envía solo antes de que expire; un Player ignora uno después de expires_at. predeterminado: 86400 mínimo: 60 máximo: 86400 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/clear-cache'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | Aceptado. state es sent cuando el comando llegó al Player de la pantalla en línea, y queued cuando espera a que la pantalla se ponga en línea. El comando es ejecutable hasta expires_at. El ETag es la revisión de pantalla sin cambios. | ScreenMaintenanceAccepted (application/json); encabezados: Cache-Control, ETag, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Reiniciar aplicación de pantalla
Pide al Player de la pantalla que reinicie su aplicación, no el dispositivo (docs/player-compatibility.md §6.5.1). El proceso del Player se reinicia e informa desde el nuevo proceso. El cuerpo opcional establece expires_in_s, cuánto tiempo sigue siendo ejecutable el comando (60 a 86400 segundos, predeterminado 86400, 24 horas); un valor fuera de rango es invalid_request que nombra expires_in_s.
Siempre añade screen.command_requested, solo del proyecto. A una pantalla en línea se le envía de inmediato el comando de tiempo de ejecución por pantalla player.restart_app (detalles command_id, command, reason project, at, expires_at; nunca se entrega después de expires_at) y el comando se registra en Screen.commands como sent.
Una pantalla sin conexión mantiene el comando como queued sin ningún evento; cuando el backend aplica la próxima transición de la pantalla a en línea antes de expires_at, se añade el evento, con el mismo command_id y expires_at, y el comando pasa a sent.
El Player informa cómo terminó: el comando pasa a done o failed en Screen.commands con la causa que informó el Player (cause, detail), y se añade screen.command_result, solo del proyecto. Un comando sent sin informe permanece sent.
Un comando más reciente del mismo tipo reemplaza a uno que sigue en cola, y POST /api/screens/{id}/commands/{command_id}/cancel cancela uno que sigue en cola. La pantalla debe estar activa; una pantalla archivada responde screen_archived y una pairing_pending responde resource_conflict.
La sugerencia de host de la pantalla debe declarar la capacidad restart_app, de lo contrario 409 command_unsupported y no se registra nada. La revisión de la pantalla no cambia. If-Match e Idempotency-Key son opcionales; un reintento exacto devuelve el mismo cuerpo durante veinticuatro horas.
Como máximo 2 por pantalla cada 10 minutos entre clear-cache, restart-app y update; una solicitud rechazada (command_unsupported, not_found, un conflicto), una fallida y una repetición exacta de Idempotency-Key no consumen nada.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| expires_in_s (opcional, entero) | Cuánto tiempo sigue siendo ejecutable el comando, en segundos desde la solicitud. Un comando en cola se envía solo antes de que expire; un Player ignora uno después de expires_at. predeterminado: 86400 mínimo: 60 máximo: 86400 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/restart-app'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | Aceptado. state es sent cuando el comando llegó al Player de la pantalla en línea, y queued cuando espera a que la pantalla se ponga en línea. El comando es ejecutable hasta expires_at. El ETag es la revisión de pantalla sin cambios. | ScreenMaintenanceAccepted (application/json); encabezados: Cache-Control, ETag, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Actualizar Player de pantalla
Pide al Player de la pantalla que busque ahora la versión más reciente del Player y la instale (docs/player- compatibility.md §6.5.1). La causa del resultado es up_to_date cuando ya se ejecuta la versión más reciente y updated cuando se instaló una versión; una instalación administrada por la tienda o por el dispositivo no declara la capacidad update.
El cuerpo opcional establece expires_in_s, cuánto tiempo sigue siendo ejecutable el comando (60 a 86400 segundos, predeterminado 86400, 24 horas); un valor fuera de rango es invalid_request que nombra expires_in_s. Siempre añade screen.command_requested, solo del proyecto.
A una pantalla en línea se le envía de inmediato el comando de tiempo de ejecución por pantalla player.update (detalles command_id, command, reason project, at, expires_at; nunca se entrega después de expires_at) y el comando se registra en Screen.commands como sent.
Una pantalla sin conexión mantiene el comando como queued sin ningún evento; cuando el backend aplica la próxima transición de la pantalla a en línea antes de expires_at, se añade el evento, con el mismo command_id y expires_at, y el comando pasa a sent.
El Player informa cómo terminó: el comando pasa a done o failed en Screen.commands con la causa que informó el Player (cause, detail), y se añade screen.command_result, solo del proyecto. Un comando sent sin informe permanece sent.
Un comando más reciente del mismo tipo reemplaza a uno que sigue en cola, y POST /api/screens/{id}/commands/{command_id}/cancel cancela uno que sigue en cola. La pantalla debe estar activa; una pantalla archivada responde screen_archived y una pairing_pending responde resource_conflict.
La sugerencia de host de la pantalla debe declarar la capacidad update, de lo contrario 409 command_unsupported y no se registra nada. La revisión de la pantalla no cambia. If-Match e Idempotency-Key son opcionales; un reintento exacto devuelve el mismo cuerpo durante veinticuatro horas.
Como máximo 2 por pantalla cada 10 minutos entre clear-cache, restart-app y update; una solicitud rechazada (command_unsupported, not_found, un conflicto), una fallida y una repetición exacta de Idempotency-Key no consumen nada.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| expires_in_s (opcional, entero) | Cuánto tiempo sigue siendo ejecutable el comando, en segundos desde la solicitud. Un comando en cola se envía solo antes de que expire; un Player ignora uno después de expires_at. predeterminado: 86400 mínimo: 60 máximo: 86400 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/update'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | Aceptado. state es sent cuando el comando llegó al Player de la pantalla en línea, y queued cuando espera a que la pantalla se ponga en línea. El comando es ejecutable hasta expires_at. El ETag es la revisión de pantalla sin cambios. | ScreenMaintenanceAccepted (application/json); encabezados: Cache-Control, ETag, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Listar comandos de pantalla
Lista todos los reinicios y recargas solicitados a una pantalla activa o archivada, de lo más reciente a lo más antiguo: los comandos que contiene Screen.commands (los 10 más recientes) y todos los anteriores, con el estado que alcanzó cada uno. Un comando en cola pasado expires_at figura como expired. Un comando que seguía en cola cuando se reemplazó el dispositivo de la pantalla figura como cancelled.
Cancele una que siga en cola con POST /api/screens/{id}/commands/{command_id}/cancel.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| cursor | consulta | opcional | El next_cursor de la página anterior. |
| límite | consulta | opcional |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/commands'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Una página de los comandos de la pantalla. | ScreenCommandPage (application/json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Cancelar comando de pantalla
Cancela un reinicio o una recarga que sigue en cola para la pantalla, de modo que nunca se envía (docs/player-compatibility.md §6.3, §6.5). command_id es un id de Screen.commands, o el reboot_id o reload_id de la respuesta 202. Solo se puede cancelar un comando cuyo estado es queued; pasa a cancelled.
Un comando ya enviado (sent, done) responde 409 resource_conflict "The command was already sent."; uno que ya no está en cola (expired, cancelled, superseded) responde 409 resource_conflict "The command is no longer queued."; un id que la pantalla no lista responde 404 not_found. La lista de la pantalla conserva sus 10 comandos más recientes.
La revisión de la pantalla no cambia. If-Match e Idempotency-Key son opcionales; un reintento exacto devuelve la misma pantalla durante veinticuatro horas.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| command_id | ruta | requerido | El id de uno de los comandos de la pantalla: el id de Screen.commands, el reboot_id o reload_id de la respuesta 202. |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/commands/COMMAND_ID/cancel'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | La pantalla, con el comando cancelado. El ETag es la revisión de pantalla sin cambios. | Pantalla (application/json); encabezados: ETag |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Establecer pantalla del schermo
Solicita encender o apagar la pantalla ahora: una anulación manual del horario de pantalla (docs/player-compatibility.md §6.5). power está encendido o apagado. until (RFC 3339, estrictamente futuro, máximo 7 días adelante) lo termina; sin until termina en el siguiente límite del horario si está habilitado, de lo contrario se mantiene hasta ser reemplazado.
Almacena la anulación (Screen.display.override), vuelve a emitir el manifiesto (su miembro display lleva la anulación para que un Player sin conexión la conserve), añade el comando de tiempo de ejecución player.display (detalles override_id, power, until, at, expires_at) y el screen.display_changed solo para el proyecto, y aumenta la revisión de la pantalla (If-Match lo protege). La pantalla debe estar activa.
Lo que el Player logró se informa en su salud display.power (Screen.display.reported). El éxito guarda la intención sin esperar un informe; Screen.display.override_status compara las observaciones posteriores y Screen.display.control nombra el método de control anunciado.
Un Player con solo velo retira su superposición ante una solicitud de encendido, sin un comando de activación de hardware.
Sin until y sin un límite de programación dentro de los próximos ocho días (sin programación habilitada, o ninguna que cambie), la anulación se mantiene hasta DELETE /api/screens/{id}/display o un reemplazo; un PUT o DELETE posterior de display-schedule, o un cambio de zona horaria, reajustan una anulación sin until al nuevo límite siguiente.
Una solicitud rechazada o fallida, y una repetición exacta de Idempotency-Key, no gastan presupuesto. Una pantalla de una carpeta de pantallas protegida es protected_target (409).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| potencia (requerido, cadena) | Permitido: "on", "off" |
| hasta (opcional, en línea) | Estríctamente futuro, a lo sumo 7 días adelante. Omitido o nulo: hasta el siguiente límite del horario de pantalla, o hasta que se reemplace. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/display'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Pantalla con su estado de pantalla. | Pantalla (application/json); encabezados: ETag, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | protected_target cuando la pantalla está en una carpeta de pantallas protegida (docs/screen-scope.md; quite la protección de la carpeta mediante una revisión, haga el cambio, protéjala de nuevo), o los demás conflictos de la operación. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Borrar pantalla
Finaliza la anulación manual de pantalla para que vuelva a aplicarse la programación de pantalla (de lo contrario activada). Vuelve a emitir el manifiesto (su miembro display elimina la anulación; el Player sigue screen.manifest_changed), añade screen.display_changed con el cambio override_cleared y aumenta la revisión. Una pantalla sin anulación activa responde 200 sin cambios.
Una pantalla de una carpeta de pantallas protegida es protected_target (409).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/display'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Pantalla con su estado de pantalla. | Pantalla (application/json); encabezados: ETag, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | protected_target cuando la pantalla está en una carpeta de pantallas protegida (docs/screen-scope.md; quite la protección de la carpeta mediante una revisión, haga el cambio, protéjala de nuevo), o los demás conflictos de la operación. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener programación de pantalla para monitor
Devuelve display_schedule (nulo si no hay) y el estado de visualización de la pantalla. El ETag es la revisión de la pantalla.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/display-schedule'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Horario de pantalla. | ScreenDisplayScheduleView (application/json); encabezados: ETag |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Establecer programación de pantalla del schermo
Reemplaza la programación de pantalla: habilitado y de 1 a 16 ventanas screenrig.schedule/v1 (días, inicio/fin HH:MM, fin <= inicio cruza medianoche propiedad del día de inicio, día completo sin bordes) cuando la pantalla está ENCENDIDA; fuera de cada ventana el Player pone la pantalla en espera.
Evaluado en el dispositivo en la zona horaria de la pantalla (requerido, invalid_request de lo contrario), para que siga funcionando sin conexión: lo lleva el miembro display del manifiesto. enabled false mantiene las ventanas y deja la pantalla encendida. Vuelve a emitir el manifiesto, añade screen.display_changed, aumenta la revisión (If-Match lo protege). La pantalla debe estar pairing_pending o activa.
Una pantalla sin manifiesto todavía (nunca emitido, o sin lista de reproducción) guarda la programación y su primer manifiesto la lleva; una pantalla sin lista de reproducción la aplica una vez que se le asigna una. Una anulación sin until se vuelve a acotar al siguiente límite de la nueva programación. Una pantalla de una carpeta de pantallas protegida es protected_target (409).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| habilitado (requerido, booleano) | |
| windows (requerido, arreglo) | EN Windows. |
Plantilla y respuestas de solicitud
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/display-schedule'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Pantalla con su estado de pantalla. | Pantalla (application/json); encabezados: ETag, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | protected_target cuando la pantalla está en una carpeta de pantallas protegida (docs/screen-scope.md; quite la protección de la carpeta mediante una revisión, haga el cambio, protéjala de nuevo), o los demás conflictos de la operación. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Borrar programación de pantalla
Quita la programación de pantalla (la pantalla sigue encendida salvo que se anule). Borrar una inexistente responde 200 sin cambios. Una pantalla de una carpeta de pantallas protegida es protected_target (409).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/display-schedule'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Pantalla con su estado de pantalla. | Pantalla (application/json); encabezados: ETag, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | protected_target cuando la pantalla está en una carpeta de pantallas protegida (docs/screen-scope.md; quite la protección de la carpeta mediante una revisión, haga el cambio, protéjala de nuevo), o los demás conflictos de la operación. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope como en OutsideScreenScope, o approver_required - un miembro limitado a pantallas que no puede aprobar revisiones no cambia lo que reproduce una pantalla ni cuándo (docs/screen-scope.md). | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener programación de reinicio de pantalla
Devuelve reboot_schedule (null cuando no hay ninguna) y next_reboot_at, el inicio de la siguiente ventana en la que el backend reinicia la pantalla (null cuando no hay ninguna). El ETag es la revisión de la pantalla.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/reboot-schedule'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Programación de reinicio. | ScreenRebootScheduleView (application/json); headers: ETag |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Definir programación de reinicio de pantalla
Reemplaza la programación de reinicio: enabled y de 1 a 16 ventanas screenrig.schedule/v1 (days, start/end HH:MM, end <= start cruza la medianoche y pertenece al día de inicio, día completo sin extremos), cada una de 5 minutos a 24 horas.
Al inicio de cada ventana en la zona horaria de la pantalla (obligatoria, de lo contrario invalid_request) el backend emite el mismo reinicio que POST /api/screens/{id}/reboot, con source schedule en Screen.commands, screen.reboot_requested y los detalles de player.reboot.
Un inicio dentro de un salto por cambio de hora de primavera se ejecuta en el primer minuto válido de la ventana; una ventana sin ningún minuto válido ese día, porque queda totalmente dentro del salto, se omite con screen.reboot_skipped reason window_missed (next_reboot_at muestra el minuto en que termina el salto). Una repetición por cambio de hora de otoño se ejecuta una vez por ventana y fecha local.
A una pantalla en línea se le envía el reinicio de inmediato; una sin conexión lo mantiene en cola solo hasta que termina su ventana (expires_at), de modo que un reinicio tardío nunca cae fuera de ella. Una repetición nunca reemplaza un reinicio solicitado por una persona que aún espera a la pantalla: se omite con screen.reboot_skipped reason reboot_pending.
Un cambio de zona horaria cancela los reinicios programados que aún esperan y mueve next_reboot_at a la nueva zona.
Un reinicio, programado o solicitado, no genera ninguna alerta screen_offline, display_disconnected o crashing durante diez minutos después de enviarse, y un aviso de alguna de ellas que vence en ese tiempo espera hasta que termina el período más su tiempo de espera (un aviso crashing se omite como planned_reboot). enabled false conserva las ventanas y no reinicia nada.
Las ventanas de tiempo que no dejan ningún hueco, de modo que ningún inicio sigue, son invalid_request. La indicación de host de la pantalla debe declarar la capacidad reboot, de lo contrario 409 reboot_unsupported y no se guarda nada; una pantalla que la pierde más tarde omite cada ventana con screen.reboot_skipped y conserva su programación.
Añade screen.reboot_schedule_changed, incrementa la revisión (If-Match la protege) y nunca vuelve a emitir el manifiesto. La pantalla debe estar activa.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| habilitado (requerido, booleano) | |
| windows (requerido, arreglo) | Ventanas de reinicio: el backend reinicia la pantalla al inicio de cada una, en la zona horaria de la pantalla. Cada una dura de 5 minutos a 24 horas. |
Plantilla y respuestas de solicitud
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/reboot-schedule'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Pantalla con su programación de reinicio y next_reboot_at. | Pantalla (application/json); encabezados: ETag, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 402 | feature_not_in_plan — Los reinicios programados forman parte de Plus; enabled true los necesita, enabled false y DELETE no. El problema nombra la función, el plan del proyecto y required_plan. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Borrar programación de reinicio de pantalla
Quita la programación de reinicio y next_reboot_at; un reinicio ya emitido no se cancela (POST /api/screens/{id}/commands/{command_id}/cancel cancela uno que siga en cola). Borrar cuando no hay ninguna responde 200 sin cambios.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://screenrig.ai/api/screens/RESOURCE_ID/reboot-schedule'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Pantalla sin programación de reinicio. | Pantalla (application/json); encabezados: ETag, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Toast posterior a pantalla
Publica un toast transitorio de chrome de escenario a la pantalla nombrada. Un toast no es un primitivo: no ocupa un espacio en el lienzo, no tiene capa y nunca participa en la preparación ni en la transición cruzada. El tipo de evento duradero es screen.toast en el flujo SSE de tiempo de ejecución existente. El escaneo en tiempo de ejecución nunca entrega un toast después de expires_at, por lo que un cursor persistente no puede reproducirlo después.
Los colores de nivel son parte del chrome del reproductor y no son campos de la API. El texto tiene entre 1 y 120 caracteres, el salto de línea es el único salto aceptado, y se aceptan como máximo tres líneas; un Player muestra un toast en una línea, un salto de línea como espacio.
Se rechazan materiales reconocibles de credenciales de ScreenRig y otros caracteres de control. duration_ms por defecto es 60000 y debe estar entre 2000 y 60000 inclusive. Un reintento exacto con Idempotency-Key devuelve el expires_at original por veinticuatro horas. Último gana: no hay cola ni verbo cancelar. Los mensajes de pantalla están exentos del medidor API de 1 crédito.
Una pantalla de una carpeta de pantallas protegida es protected_target (409).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| Idempotency-Key | encabezado | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| nivel (requerido, cadena) | Token de severidad cerrado. El chrome del Player elige el relleno; la API nunca lleva un color. Permitidos: "error", "alerta", "info" |
| texto (requerido, cadena) | De 1 a 120 caracteres. El salto de línea es el único salto de línea aceptado. Máximo tres líneas; un Player muestra el toast en una línea, un salto de línea como espacio. Se rechazan otros caracteres de control y material reconocible de credenciales de ScreenRig. minLength: 1 maxLength: 120 |
| duration_ms (opcional, entero) | Duración visible en milisegundos. Los valores omitidos por defecto son 60000. predeterminado: 60000 mínimo: 2000 máximo: 60000 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/toast'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | Aceptado. El toast es duradero hasta expires_at. Un reintento idempotente exacto devuelve esta misma expiración. | ScreenToastAccepted (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | protected_target cuando la pantalla está en una carpeta de pantallas protegida (docs/screen-scope.md; quite la protección de la carpeta mediante una revisión, haga el cambio, protéjala de nuevo), o los demás conflictos de la operación. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Pronóstico de almacenamiento de pantalla
Prueba de ajuste previa a la asignación: responde si una lista de reproducción cabría en la pantalla nombrada antes de asignarla, con la misma selección de objetivo que Screen.storage_forecast (la última capacidad reportada de la pantalla, solo plan A.3, sin predicción de transición, nada tratado como local).
No escribe nada: no asignación, no revisión de pantalla, no evento, y el modelo de lectura storage_forecast de la pantalla queda intacto. El portador del proyecto es autoritativo; una pantalla o playlist de otro proyecto es not_found. fit es desconocido cuando la pantalla no tiene reporte de almacenamiento, o cuando las referencias de contenido de la playlist no están listas, y ambos conteos de bytes son nulos entonces.
Una playlist_revision opcional rechaza una playlist que cambió desde que el llamador la leyó con revision_conflict. Un informe con más de 24 horas está obsoleto pero aún se usa para pronósticos, igual que Screen.storage_forecast.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| playlist_id (requerido, cadena) | minLength: 1 |
| playlist_revision (opcional, entero) | Revisión opcional esperada de la lista de reproducción. Una revisión almacenada diferente es revision_conflict y no se devuelve pronóstico. mínimo: 1 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/storage-forecast'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Pronóstico en simulación. fit unknown significa que no hay datos para pronosticar; los conteos de bytes y received_at son nulos. | ScreenStorageForecastDryRun (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 412 | revision_conflict: playlist_revision no es la revisión actual de la lista de reproducción; no se devuelve pronóstico. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Explicar campañas de pantalla
Por qué cada campaña del proyecto se reproduce o no en esta pantalla, en orden de precedencia, con la lista de reproducción efectiva de la pantalla. items y effective_playlist son el estado actual de la pantalla.
Con at (y opcionalmente to), at es el mismo resolutor que ejecuta el barrido de límites, consultado sobre ese instante, con un veredicto para la toma de control, cada campaña y cada entrada del horario (won, outranked, not_started, ended, outside_hours, off), la lista de reproducción en ese instante y lo que la respuesta no juzga.
Con to también, at.timeline lista los tramos entre at y to en los que la lista de reproducción no cambia. El horario, la toma de control y las campañas se leen tal como están ahora.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| en | consulta | opcional | El instante que explicar, ya sea RFC 3339 con zona (2026-03-08T09:30:00Z o 2026-03-08T01:30:00-08:00) o una hora del reloj propio de la pantalla (2026-03-08T09:30, con segundos opcionales). Una hora de reloj que el horario de verano omite o repite se rechaza con invalid_request nombrando at, y una repetida nombra los dos instantes entre los que elegir. Por defecto, ahora cuando solo se da to. |
| a | consulta | opcional | Fin de la línea de tiempo de cambios que empieza en at, en las mismas dos formas que at. Posterior a at, sin límite de distancia; una respuesta lista como máximo 500 tramos, y ocho días sin cambios cuentan como uno; timeline_truncated indica que se detuvo antes de llegar a to. |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/campaigns'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | El estado de cada campaña en la pantalla. | ScreenCampaigns (application/json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener captura de pantalla
Devuelve el WebP listo actual para la pantalla nombrada. El capture_id opcional debe coincidir con ese espacio listo. Un capture_id nombrado que expiró sin carga es screenshot_unavailable. Un capture_id nombrado reemplazado por una solicitud posterior es resource_conflict. Los bytes de la imagen nunca son una URL firmada ni una clave de objeto. No se acepta rango.
Los mensajes de pantalla están exentos del medidor API de 1 crédito. El ETag es el SHA-256 fuerte del WebP almacenado. Una respuesta de sesión del panel es privada, sin caché, y un If-None-Match del panel que coincide con la imagen actual, verificado después de resolver pantalla y captura en el proyecto de la sesión, devuelve 304 sin abrir los bytes almacenados.
Una respuesta bearer de proyecto permanece privada, no-store.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| capture_id | consulta | opcional | |
| If-None-Match | encabezado | opcional | ETag fuerte de una captura de pantalla que esta ruta devolvió. Respetado para una sesión de dashboard. |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/screenshot'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Imagen fija WebP lista actual. | cadena (image/webp); encabezados: Content-Type, Content-Length, ETag, X-ScreenRig-Capture-ID, X-ScreenRig-Captured-At, Cache-Control, Content-Disposition |
| 304 | Solo sesión del panel. El ETag de la imagen actual coincide con If-None-Match. No se produce cuerpo y no se lee el almacenamiento de objetos. Los encabezados de captura nombran la captura actual, que puede diferir de la respuesta almacenada cuando una captura posterior codificada a los mismos bytes. | sin cuerpo; encabezados: ETag, Cache-Control, X-ScreenRig-Capture-ID, X-ScreenRig-Captured-At |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Solicitar captura de pantalla
Solicita una captura fija de pantalla del nombre de pantalla activa. Gana el último: una nueva solicitud reemplaza cualquier capture_id en curso y no genera 409. La ranura lista actual se mantiene hasta que una carga posterior tenga éxito. capture_id es un prefijo opcional de entorno, luego shot_ y un sufijo aleatorio. expires_at es treinta segundos después de aceptar.
El tipo de evento duradero es screen.screenshot_requested en el flujo SSE de tiempo de ejecución existente; el escaneo de tiempo de ejecución nunca lo entrega después de expires_at. Los detalles del evento incluyen nombre capture_id, expires_at, max_width_divisor 2, max_height_divisor 2, formato image/webp, calidad 80 y max_bytes 2097152. Los bytes de imagen nunca aparecen en SSE.
El crédito prepago restante no es un bloqueo, y esta ruta de mensaje de pantalla está exenta del medidor API de 1 crédito. Un reintento con Idempotency-Key exacta devuelve el capture_id original y expires_at por veinticuatro horas.
En el canal del panel, la solicitud puede venir de una extensión Chrome o Firefox como POST /api/tab-shares para confirmar una pestaña compartida (GET /api/screens/{id}/screenshot/status y GET /api/screens/{id}/screenshot no requieren reglas de origen).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| Idempotency-Key | encabezado | requerido |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Idempotency-Key: REQUEST_ID' 'https://screenrig.ai/api/screens/RESOURCE_ID/screenshot'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | Aceptado. La solicitud es duradera hasta expires_at. Un reintento idempotente exacto devuelve este mismo capture_id y expiración. | ScreenScreenshotAccepted (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener estado de captura de pantalla
Devuelve la máquina de estados de captura de pantalla para la pantalla nombrada cuando existe para este proyecto. idle no tiene solicitud ni espacio listo. pending es el capture_id actual antes de expires_at sin carga. ready significa que la última carga exitosa coincide con el capture_id actual. timed_out significa que el id actual alcanzó expires_at sin carga.
El tiempo de espera es perezoso: el primer GET de estado o el siguiente POST después del vencimiento lo registra y añade screen.screenshot_failed una vez con la razón expirado. Una solicitud con tiempo agotado no elimina una ranura lista anterior. Los mensajes de pantalla están exentos del medidor API de 1 crédito.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/screenshot/status'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Estado de la captura de pantalla para la pantalla de este proyecto. | ScreenScreenshotStatus (application/json); encabezados: Cache-Control |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener la sesión en vivo de la pantalla
Returns the screen's live session after lazy expiry: idle when it has none, requested while the Player has been asked to publish, publishing once the media relay holds its video, ended with ended_reason (stopped, expired, consent_denied, consent_timeout, capture_failed, connection_failed or player_stopped; an open enum) for ten minutes after it ended. publisher.connected is true only while the Player's last report, at most 45 seconds old, said it is connected; it is the Player's own word, not proof of picture. 404 feature_unavailable when the server has no media relay configured.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/live'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | La sesión en vivo de la pantalla. | LiveSession (application/json); encabezados: Cache-Control |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Iniciar la sesión en vivo de la pantalla
Starts live view of the named screen, or renews the one it has (docs/player-compatibility.md §6.10): sub-second video of what the screen plays, from the Player through a media relay to the dashboard. A screen has one live session, shared by every viewer.
Its lease runs duration_s from now (30 to 300, default 300) and a start or renewal sets lease_until to the later of its current end and that instant, never past max_until, five minutes after the session began. The session ends by itself at the latest then: nothing renews or restarts it, and a new session needs a new start.
Termina antes cuando el arrendamiento vence sin renovación, con DELETE o cuando el Player la termina; el Player deja de publicar unos 20 segundos después de que acabe el arrendamiento.
With live_id the request only renews that session: when it is not the screen's live session (it ended, or the screen started another) the answer is 409 live_unavailable naming ended_reason, and no session starts or is extended.
Una sesión nueva agrega el comando de ejecución por pantalla player.live_publish (detalles live_id, at, expires_at sesenta segundos después, max_until; nunca se entrega después de expires_at); una renovación lo envía de nuevo solo si el Player nunca se unió y el último comando caducó.
The screen must be active and online and its host hint must declare the live_view capability: 409 live_unsupported (update the Player, or use a screenshot), 409 live_unavailable (offline), screen_archived. 404 feature_unavailable when the server has no media relay configured. 201 is a new session, 200 a renewed one; both return the LiveSession with a viewer_url that opens the dashboard viewer.
El estado requested dura hasta que el Player publica: consulte GET hasta que publisher.connected. La vista en vivo es gratuita y está exenta del contador de API de 1 crédito, como una captura de pantalla.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| duration_s (opcional, entero) | Cuánto dura el arrendamiento a partir de ahora, en segundos. Una sesión dura como máximo cinco minutos, sea cual sea el arrendamiento. default: 300 minimum: 30 maximum: 300 |
| live_id (opcional, cadena) | Renew this session only. When it is not the screen's live session, the answer is live_unavailable (the detail names ended_reason) and nothing starts or is extended. Without it, a start begins a session when the screen has none. pattern: "^lv_[a-z2-7]{26}$" |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/live'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Una sesión en vivo nueva; se pidió al Player que publicara. | LiveSession (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 200 | La sesión en vivo de la pantalla, renovada. | LiveSession (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Detener la sesión en vivo de la pantalla
Ends the screen's live session (ended_reason stopped), appends player.live_stop (details live_id, at, expires_at sixty seconds later), and closes its tracks on the media relay. 204 also when the screen has no live session. A Player that misses the command stops at its next heartbeat. 404 feature_unavailable when the server has no media relay configured.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/live'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 204 | Detenida, o no había nada que detener. | sin cuerpo; encabezados: Cache-Control |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Crear un espectador en vivo de la pantalla
Abre un espectador de la sesión en vivo de la pantalla: una sesión nueva del relé de medios que se suscribe al vídeo del Player, y la oferta WebRTC del relé.
Apply offer with setRemoteDescription on an RTCPeerConnection built with ice_servers (short-lived credentials), create the answer, wait for ICE gathering to complete or two seconds, then PUT the answer to /api/screens/{id}/live/viewers/{viewer_id} within two minutes.
Candidates travel inside the SDP; there is no separate candidate call. 409 live_not_ready while the session is requested, 409 live_unavailable when the screen has no live session or it ended (the detail names ended_reason). 404 feature_unavailable when the server has no media relay configured.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/live/viewers'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Un espectador y la oferta del relé. | LiveViewer (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Responder a un espectador en vivo de la pantalla
Applies the viewer's WebRTC answer to the relay's offer. A viewer answers once, within two minutes of its offer; an unknown, expired, already answered or another screen's viewer_id is 404 not_found. 204 once the relay accepts the answer; media then flows from the relay to the viewer. 404 feature_unavailable when the server has no media relay configured.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| viewer_id | ruta | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| answer (requerido, SessionDescription) |
Plantilla y respuestas de solicitud
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/live/viewers/VIEWER_ID'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 204 | El relé aceptó la respuesta. | sin cuerpo; encabezados: Cache-Control |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Iniciar los fotogramas en vivo de la pantalla
Starts JPEG frames of the screen's live session, for an agent that has HTTPS and no WebRTC: the media relay decodes the Player's published video and delivers one JPEG about every second, and GET /api/screens/{id}/live/frame returns the latest.
La sesión debe estar publicando (409 live_not_ready hasta entonces, 409 live_unavailable cuando no hay ninguna o terminó; inicie una con POST /api/screens/{id}/live).
Frames are started once per session: asking again answers the same adapter's progress, and a Player that reconnects ends its frames, so ask again. state is starting until the first frame arrives, streaming while frames arrive, and silent when the adapter is older than fifteen seconds and none has arrived in that time (last_frame_at, when present, says when frames last came).
The frames end with the session. 404 feature_unavailable when the server has no media relay or no frames origin configured. Live frames are free and exempt from the 1-credit API meter, like a screenshot. They are what the Player's encoder sent, scaled and lossy; they do not replace a screenshot as proof of layout.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/live/frames'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 202 | El adaptador de fotogramas y hasta dónde ha llegado. | LiveFrames (application/json); encabezados: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener el fotograma en vivo de la pantalla
Devuelve el último fotograma JPEG de la sesión en vivo de la pantalla.
Without after it returns the latest frame there is; with after (the ScreenRig-Captured-At of the frame you already have) it returns the first frame captured later, waiting up to five seconds for one, so a loop that passes each answer's ScreenRig-Captured-At back as after receives every new frame once.
ScreenRig-Captured-At indica cuándo recibió el backend el fotograma.
When no new frame comes in time the answer is 409 live_not_ready with Retry-After: 1; 409 resource_conflict answers a session whose frames were not started (POST /api/screens/{id}/live/frames first, and again after the Player reconnects); 409 live_unavailable answers a session that has ended or whose adapter is silent.
Frames are relay-decoded JPEGs of the live stream, at most 1280 by 720: they show what the Player encoded and sent, not a screenshot. They end with the session (max_until at the latest). 404 feature_unavailable when the server has no media relay or no frames origin configured. Free and exempt from the 1-credit API meter.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| después | consulta | opcional | Devuelve un fotograma capturado después de este instante (RFC 3339, como en ScreenRig-Captured-At). |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/live/frame'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | El fotograma. | string (image/jpeg); encabezados: Content-Type, Content-Length, ETag, Cache-Control, ScreenRig-Live-Id, ScreenRig-Captured-At, ScreenRig-Frame-Width, ScreenRig-Frame-Height, RateLimit-Policy, RateLimit |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 409 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. 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. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Conectar los fotogramas en vivo
The media relay's frame adapter connects here with a WebSocket upgrade; no client, agent or Player calls it. The token is the credential: POST /api/screens/{id}/live/frames hands it to the relay inside the adapter's endpoint and stores only its SHA-256.
Each binary message the relay sends is one protobuf Packet (field 1 sequenceNumber, field 2 timestamp, field 5 payload) whose payload is one whole JPEG of at most 2 MiB; anything else is skipped. The backend keeps the latest frame for fifteen seconds. One connection per token: a newer one replaces the older.
The connection is closed with 1000 when the live session ends, and a token of an ended session is refused with 401 before the upgrade. 404 feature_unavailable when the server has no frames origin configured.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| token | consulta | requerido | El token del adaptador, de 43 caracteres. |
Plantilla y respuestas de solicitud
curl --request GET 'https://api.screenrig.ai/live/frames?token=TOKEN'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 101 | Cambio de protocolo a WebSocket. | sin cuerpo |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener historial de salud de pantalla
La salud que una pantalla reportó a lo largo del tiempo. resolution=raw (predeterminado) devuelve cada informe aceptado en orden temporal, con forma de Screen.health sin obsoletos; resolution=hour devuelve un resumen por hora UTC (informes, temperatura máxima y promedio, carga máxima y proporción de memoria, señal Wi-Fi más débil, si la pantalla estuvo desconectada, recuentos máximos de fallos y reinicios del renderizador). from (inclusive) y to (exclusivo) predeterminan las últimas 24 horas; el rango es como máximo 31 días para raw y 93 días para hour.
Una página contiene como máximo limit filas (por defecto 100, máximo 500) con next_cursor, null al final. El historial se conserva según la retención de eventos del plan. Los informes en bruto llegan a esta vista en segundos, los resúmenes horarios en unos 5 minutos. Una pantalla de otro proyecto es not_found. Screen.health, el informe más reciente, no cambia.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| formato | consulta | opcional | json (por defecto) devuelve el informe como JSON. csv, xlsx y pdf devuelven las mismas filas como archivo adjunto (cada página de un informe paginado, hasta 50000 filas). |
| desde | consulta | opcional | Límite inferior inclusivo en el tiempo del informe. Por defecto, 24 horas antes de to. |
| a | consulta | opcional | Límite superior exclusivo en el tiempo del informe. Por defecto es ahora. |
| resolución | consulta | opcional | raw devuelve cada informe; hour devuelve un resumen por hora UTC. |
| límite | consulta | opcional | Tamaño de página. |
| cursor | consulta | opcional | next_cursor de la página anterior, con los mismos filtros. Opaco. |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/health/history'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Una página de informes o resúmenes horarios. | ScreenHealthHistory (application/json); encabezados: Cache-Control |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener tiempo activo de pantalla
Disponibilidad diaria de una pantalla durante días UTC inclusivos (day_to por defecto es hoy y day_from 29 días antes, máximo 366 días). Cada fila contiene los segundos online y offline registrados ese día, disponibilidad (online sobre tiempo registrado, nulo si no se registró nada) y cobertura (la proporción del día con estado registrado).
El tiempo sin estado registrado nunca se cuenta como tiempo de inactividad: solo reduce la cobertura. El intervalo abierto actual de la pantalla se incluye hasta ahora y marca sus días en vivo. Los días sin registros no tienen fila. El estado sin conexión se registra después de que la pantalla ha estado inalcanzable durante 60 segundos. Una pantalla de otro proyecto es not_found.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| formato | consulta | opcional | json (por defecto) devuelve el informe como JSON. csv, xlsx y pdf devuelven las mismas filas como archivo adjunto (cada página de un informe paginado, hasta 50000 filas). |
| day_from | consulta | opcional | Primer día UTC, inclusive. Por defecto 29 días antes de day_to. Con day_to abarca como máximo 366 días. |
| day_to | consulta | opcional | Último día UTC, inclusive. Por defecto hoy (UTC). |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/uptime'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Filas diarias de tiempo activo, las más antiguas primero. | ScreenUptime (application/json); encabezados: Cache-Control |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener presencia de pantalla
Las transiciones en línea y fuera de línea de la pantalla, las más recientes primero, desde sus eventos screen.online y screen.offline según lo que almacene la línea de registro. since (inclusive) y until (exclusivo) delimitan el tiempo del evento; until por defecto es ahora y since hasta 30 días antes, como máximo 366 días. Las transiciones se conservan según la retención de eventos del plan.
Una página contiene como máximo limit transiciones (por defecto 100, máximo 500) con next_cursor, null al final; devuélvalo como antes. Una transición offline que el servidor detectó solo cuando la pantalla se reconectó lleva detected_on_reconnect, y su at es cuando terminó el arrendamiento de presencia. Offline se registra después de que la pantalla ha estado inalcanzable por 60 segundos.
Una pantalla de otro proyecto es not_found.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| desde | consulta | opcional | Límite inferior inclusivo en el tiempo del evento de transición. Por defecto, 30 días antes de until. |
| hasta | consulta | opcional | Límite superior exclusivo en el tiempo del evento de transición. Por defecto es ahora. until - since es máximo 366 días. |
| límite | consulta | opcional | Tamaño de página. Un valor fuera de 1-500 se rechaza con invalid_request nombrando limit. |
| before | consulta | opcional | next_cursor de la página anterior, con el mismo since y until. |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/presence'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Transiciones de presencia, las más recientes primero. | ScreenPresenceHistory (application/json); encabezados: Cache-Control |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 404 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener Health Trend
La salud de la flota del proyecto por hora UTC: cuántas pantallas reportaron, y cuántas de ellas estaban calientes (a 80 °C o más), tenían un monitor desconectado o estaban fallando (3 o más fallos en 24 horas). from (inclusive) y to (exclusive) por defecto son las últimas 24 horas, máximo 93 días; una página contiene a lo sumo limit filas (por defecto 100, máximo 500) con next_cursor, nulo al final.
Las horas van por detrás de los informes hasta unos 5 minutos. Se rechaza a un llamador limitado a pantallas (outside_screen_scope); GET /api/screens/{id}/health/history es la forma por pantalla.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| formato | consulta | opcional | json (por defecto) devuelve el informe como JSON. csv, xlsx y pdf devuelven las mismas filas como archivo adjunto (cada página de un informe paginado, hasta 50000 filas). |
| desde | consulta | opcional | Límite inferior inclusivo en el tiempo del informe. Por defecto, 24 horas antes de to. |
| a | consulta | opcional | Límite superior exclusivo en el tiempo del informe. Por defecto es ahora. |
| límite | consulta | opcional | Tamaño de página. |
| cursor | consulta | opcional | next_cursor de la página anterior, con los mismos filtros. Opaco. |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/health/trend'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Una página de estado de salud de la flota por hora. | HealthTrend (application/json); encabezados: Cache-Control |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener tiempo activo de proyecto
Disponibilidad diaria de las pantallas del proyecto durante días UTC inclusivos (por defecto y rango como GET /api/screens/{id}/uptime). Cada fila suma los segundos online y offline de las pantallas con estado registrado ese día; la cobertura es la proporción del día de esas pantallas con estado registrado.
Los intervalos se cuentan cuando terminan, así que la fila de hoy abarca los intervalos que han terminado hasta ahora; el recuento en línea en vivo está en el resumen del panel. Se rechaza a un llamador limitado a pantallas (outside_screen_scope); GET /api/screens/{id}/uptime es la forma por pantalla.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| formato | consulta | opcional | json (por defecto) devuelve el informe como JSON. csv, xlsx y pdf devuelven las mismas filas como archivo adjunto (cada página de un informe paginado, hasta 50000 filas). |
| day_from | consulta | opcional | Primer día UTC, inclusive. Por defecto 29 días antes de day_to. Con day_to abarca como máximo 366 días. |
| day_to | consulta | opcional | Último día UTC, inclusive. Por defecto hoy (UTC). |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/uptime/daily'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Filas diarias de tiempo activo, las más antiguas primero. | ProjectUptime (application/json); headers: Cache-Control |
| 400 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 401 | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Listar enlaces de flota
Enumera los enlaces de flota del proyecto, del más antiguo al más reciente (máximo 50). Debajo de Manage efectivo cada URL está vacía y url_redacted es true, ya que la URL crea pantallas.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/fleet-links'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Los enlaces de flota del proyecto. | FleetLinkList (application/json); encabezados: Cache-Control |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Crear enlace de flota
Crea un enlace de flota: una URL de Player (https://play.<domain>/player/#fleet=<secret>) que convierte cada dispositivo que la abre en su propia pantalla en este proyecto, sin código de vinculación. Colóquelo en un administrador de dispositivos, como una app quiosco de Google Admin console.
Cada nueva pantalla recibe las etiquetas, los campos y la lista de reproducción del enlace, y una etiqueta del dispositivo (su ID de activo de administrador, luego la ubicación), de lo contrario la siguiente etiqueta predeterminada. Un reproductor que ya tiene una pantalla nunca crea otra: su clave mantiene la identidad de la pantalla a través de recargas y reinicios.
Después de un restablecimiento de fábrica o reinstalación, un dispositivo que reporte el número de serie o DUID de una pantalla creada por un enlace de flota de este proyecto recupera esa pantalla (screen.recovered) en lugar de crear una nueva, una vez que la clave antigua ha estado inactiva durante diez minutos.
El secreto viaja en el fragmento de la URL, que los navegadores nunca envían a un servidor. max_screens limita las pantallas que crea el enlace y expires_at termina el enlace en ese momento, igual que desactivarlo. Una organización tiene como máximo 50 enlaces de flota en todos sus proyectos (fleet_link_limit_reached). Agrega fleet_link.created.
Un reintento exacto con la misma Idempotency-Key devuelve esta misma respuesta por veinticuatro horas.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| etiqueta (requerida, cadena) | minLength: 1 maxLength: 80 |
| habilitado (opcional, booleano) | Por defecto es verdadero. |
| etiquetas (opcional, ScreenTags) | Etiquetas de selector de flota, de 0 a 16 etiquetas únicas exactas, cada una que coincide con la gramática de etiquetas de medios. En ScreenPatch el arreglo reemplaza todo el conjunto y un arreglo vacío lo borra; una etiqueta duplicada o malformada es invalid_request. Cambiar etiquetas aumenta la revisión de pantalla (If-Match la protege) y añade screen.updated con details.tags; nunca cambia la revisión del manifiesto. Las etiquetas nunca están en el manifiesto en tiempo de ejecución ni en la autorización. |
| fields (opcional, objeto) | Campos con los que empieza cada pantalla que crea el enlace; las ubicaciones de tarjetas los leen mediante {screen.field.NAME}. |
| playlist_id (opcional, cadena) | |
| max_screens (opcional, entero) | mínimo: 1 máximo: 10000 |
| expires_at (opcional, cadena) | Cuándo vence el enlace (RFC 3339); una vez vencido, un enlace no crea ni recupera pantallas. Si se omite, nunca vence. Un instante que ya pasó se acepta y el enlace vence de inmediato. format: "date-time" |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/fleet-links'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Creado, con su URL. | FleetLink (application/json); encabezados: Cache-Control |
| 400 | invalid_request, incluyendo un playlist_id desconocido o una etiqueta o un campo malformados. | Problema (application/problem+json) |
| 409 | fleet_link_limit_reached o idempotency_mismatch. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Obtener enlace de flota
Un enlace de flota. Debajo, la url efectiva de Manage está vacía y url_redacted es true.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/fleet-links/RESOURCE_ID'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Un enlace de flota. | FleetLink (application/json); encabezados: ETag, Cache-Control |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Actualizar enlace de flota
Cambia cualquiera de label, enabled, tags, fields, playlist_id, max_screens y expires_at; null borra fields, playlist_id, max_screens o expires_at. Un enlace deshabilitado o expirado no crea ni recupera pantallas; un dispositivo que lo abre muestra en su lugar su código de vinculación. Los cambios se aplican a las pantallas que el enlace cree a partir de ahora, nunca a las pantallas que ya creó.
Añade fleet_link.updated. If-Match protege la revisión.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| etiqueta (opcional, cadena) | minLength: 1 maxLength: 80 |
| habilitado (opcional, booleano) | |
| etiquetas (opcional, ScreenTags) | Etiquetas de selector de flota, de 0 a 16 etiquetas únicas exactas, cada una que coincide con la gramática de etiquetas de medios. En ScreenPatch el arreglo reemplaza todo el conjunto y un arreglo vacío lo borra; una etiqueta duplicada o malformada es invalid_request. Cambiar etiquetas aumenta la revisión de pantalla (If-Match la protege) y añade screen.updated con details.tags; nunca cambia la revisión del manifiesto. Las etiquetas nunca están en el manifiesto en tiempo de ejecución ni en la autorización. |
| fields (opcional, objeto) | reemplaza todo el preajuste; {} o null lo borra. |
| playlist_id (opcional, cadena) | null borra la lista de reproducción. |
| max_screens (opcional, entero) | null elimina el límite. mínimo: 1 máximo: 10000 |
| expires_at (opcional, cadena) | null elimina el vencimiento. format: "date-time" |
Plantilla y respuestas de solicitud
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/fleet-links/RESOURCE_ID'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Enlace de flota actualizado. | FleetLink (application/json); encabezados: ETag |
| 400 | invalid_request. | Problema (application/problem+json) |
| 412 | revision_conflict: If-Match está obsoleto; current_revision del error contiene la revisión actual. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Eliminar enlace de flota
Elimina el enlace de flota. Su URL deja de funcionar de inmediato; las pantallas que creó permanecen, con sus listas de reproducción, etiquetas y campos. Añade fleet_link.deleted. If-Match protege la revisión.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/fleet-links/RESOURCE_ID'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 204 | Eliminado. | sin cuerpo |
| 412 | revision_conflict. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |
Rotar Fleet Link
Reemplaza el secreto del enlace y devuelve la nueva URL. La URL antigua deja de funcionar de inmediato; las pantallas ya creadas siguen reproduciendo, ya que un Player emparejado nunca presenta el enlace de nuevo. Añade fleet_link.updated con details.rotated true. If-Match protege la revisión.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/fleet-links/RESOURCE_ID/rotate'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | El enlace de la flota con su nueva URL. | FleetLink (application/json); encabezados: ETag, Cache-Control |
| 412 | revision_conflict. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. 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. | Problema (application/problem+json) |