Referência da API

API de Telas

Telas

Referência HTTP. Gerada a partir do contrato backend. Navegue pelos endpoints abaixo ou baixe o OpenAPI.

Este grupo tem 84 operações, geradas a partir de api/openapi.yaml. Filtre por caminho, ação ou autenticação. Cada endpoint lista suas entradas; expanda-o para ver um modelo de solicitação e os códigos de resposta. Os modelos precisam de seus próprios valores e de um corpo válido conforme o esquema.

Substitua os espaços reservados em maiúsculas pelos seus valores. Para uma solicitação JSON, salve um corpo que corresponda ao esquema em request.json. Exemplos de cookies usam um jar local de cookies de uma sessão autenticada.

Telas

GET/api/screens

Listar telas

A lista padrão retorna telas pairing_pending e ativas. Passe state=archived para listar apenas telas arquivadas. Passe tag para listar apenas telas cujas tags contenham exatamente essa tag; telas sem tag são omitidas quando o filtro está presente.

Passe field, uma vez por campo, como NAME:VALUE para listar apenas as telas cujos campos têm todos os valores, e near como LAT,LON,KM para listar apenas as telas localizadas a até KM quilômetros do ponto; telas sem localização são omitidas, e todo filtro se combina com state e tag.

Passe folder como um ID de pasta de telas para listar apenas as telas diretamente dentro dela (não as de suas subpastas), ou root para as telas fora de qualquer pasta.

As telas vêm das mais novas para as mais antigas, no máximo 500 por página. next_cursor é a posição da última linha retornada enquanto restam mais linhas; passe-o de volta como after, com os mesmos filtros, para a página seguinte. next_cursor é null na última página. Um chamador limitado a telas (docs/screen-scope.md) lista apenas as telas do seu escopo.

Uma requisição que não nomeia um projeto deixa de fora cada projeto em que o chamador é limitado a telas; nomeie o projeto para listá-lo.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
listScreens

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
estadoconsultaopcionalOmitir para pairing_pending e ativo. Passe archived para listar somente telas arquivadas.
tagconsultaopcionalTag exata da tela. Telas sem tag são omitidas quando este filtro está presente.
fieldconsultaopcional

NAME:VALUE, separado no primeiro dois-pontos: apenas telas cujo campo NAME contém exatamente VALUE. Repita o parâmetro para vários campos; todos precisam corresponder, e cada nome pode ser informado uma única vez. Um valor malformado ou repetido retorna invalid_request citando field.

nearconsultaopcional

LAT,LON,KM em graus decimais e quilômetros, por exemplo 47.6062,-122.3321,25: apenas telas cuja localização fica a até KM quilômetros do ponto. A latitude vai de -90 a 90, a longitude de -180 a 180 e KM é maior que 0 e no máximo 20038. Telas sem localização são omitidas. Um valor malformado retorna invalid_request citando near.

pastaconsultaopcionalUm ID de pasta de telas mantém apenas as telas diretamente dentro dessa pasta, não as de suas subpastas; root mantém apenas as telas fora de qualquer pasta. Omitir lista todas as telas.
depoisconsultaopcionalnext_cursor da página anterior da mesma lista, com os mesmos filtros. Omitido começa na linha mais recente. Um valor que não seja esse cursor é invalid_request.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens'

Respostas

StatusSignificadoCorpo e cabeçalhos
200TelasScreenList (application/json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screen-folders

Listar pastas de telas

Lista todas as pastas de telas do projeto, no máximo 1000, ordenadas por nome.

Pastas organizam telas e as segmentam: uma folha de público-alvo de campanha {"folder": ID} corresponde às telas dessa pasta e de toda pasta dentro dela, um seletor de ação de frota by:folder atua sobre as mesmas telas, e o default_playlist_id de uma pasta é o que suas telas sem playlist própria exibem. parent_id é nulo na raiz do projeto; construa a árvore a partir de parent_id. screens conta as telas ativas diretamente dentro de cada pasta.

A pasta de uma tela é Screen.folder_id. Um chamador limitado a telas (docs/screen-scope.md) lista as pastas dentro do seu escopo e as pastas acima delas, que são somente leitura para que a sua árvore tenha uma raiz; as pastas acima não trazem contagem de telas e as pastas irmãs ficam ocultas. Uma requisição que não nomeia um projeto deixa de fora cada projeto em que o chamador é limitado a telas.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
listScreenFolders

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screen-folders'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Pastas de telasScreenFolderList (application/json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screen-folders

Criar pasta de telas

Cria uma pasta de telas na raiz do projeto (parent_id nulo ou ausente) ou dentro de parent_id. Nomes são aparados, têm de 1 a 100 caracteres Unicode sem controles, não são "." nem "..", e são únicos entre seus irmãos (resource_conflict).

Uma organização tem no máximo 1000 pastas em todos os seus projetos (quota_exceeded) aninhadas no máximo 10 níveis (invalid_request). default_playlist_id, quando definido, deve nomear uma playlist aprovada (playlist_not_approved). Emite screen.folder_created.

Um chamador limitado a telas (docs/screen-scope.md) só cria uma pasta dentro de uma pasta do seu escopo; a raiz do projeto ou qualquer outro pai é outside_screen_scope. Criar uma pasta dentro de uma pasta protegida é uma revisão protected_change (202 pending_review) decidida por um segundo aprovador.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
ScreenFolderCreate
ID da operação
createScreenFolder

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
nome (obrigatório, string)Aparado; 1 a 100 caracteres Unicode, sem controles, não . nem .., único entre seus irmãos. minLength: 1 maxLength: 100
parent_id (opcional, embutido)A pasta para criá-la; null ou ausente para a raiz do projeto.
default_playlist_id (opcional, string)Uma playlist aprovada para as telas da pasta que não têm uma própria. minLength: 1
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Pasta criada.ScreenFolder (application/json); cabeçalhos: ETag
202

A escrita virou uma revisão e aguarda a aprovação de uma pessoa (docs/reviews.md), sob acesso Propor, ou em qualquer nível de acesso quando alcança uma tela em uma pasta de telas protegida, em que um segundo aprovador a decide (docs/screen-scope.md). Uma pessoa aprova, rejeita ou pede alterações no dashboard em review.url.

Uma repetição com Idempotency-Key responde com o mesmo corpo.

ReviewPending (application/json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screen-folders/{id}

Obter pasta de telas

Um chamador limitado a telas (docs/screen-scope.md) lê as pastas do seu escopo e as pastas acima delas; qualquer outra pasta, e um id desconhecido, é outside_screen_scope.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getScreenFolder

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screen-folders/RESOURCE_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Uma pasta de telas.ScreenFolder (application/json); cabeçalhos: ETag
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
PATCH/api/screen-folders/{id}

Atualizar pasta de telas

Renomeia uma pasta (name), a move com tudo dentro (parent_id, null para a raiz do projeto) ou define a playlist padrão que suas telas sem playlist própria exibem (default_playlist_id, null a remove). Uma pasta não pode se mover para dentro de si mesma ou de uma pasta dentro dela, e a movimentação deve manter todas as pastas dentro de 10 níveis (invalid_request).

Uma movimentação ou uma mudança do padrão reavalia as telas dentro da pasta em cerca de 15 segundos, e os níveis da resposta nomeiam as campanhas e os padrões de pasta que essas telas ganham ou perdem. Uma alteração avança a revisão da pasta e emite screen.folder_updated; os mesmos valores são uma operação sem efeito.

If-Match protege opcionalmente a versão. protected true protege a pasta e todas as pastas dentro dela, e false remove a proteção; envie-o sozinho (caso contrário, invalid_request). Somente uma pessoa que pode aprovar o define: um agente, um cliente de serviço ou um membro que não pode aprovar recebe approver_required.

Uma alteração acrescenta screen.folder_protection_changed (detalhes folder_id, protected). Remover a proteção, e uma movimentação ou mudança da playlist padrão em uma pasta que contém telas protegidas, é uma revisão protected_change (202 pending_review) decidida por um segundo aprovador.

Um chamador limitado a telas (docs/screen-scope.md) só altera pastas dentro do seu escopo: parent_id também deve nomear uma (a raiz é outside_screen_scope), e protected não pode ser alterado por ele em uma pasta que o seu escopo nomeia. protected true é o recurso de pastas protegidas, que o plano Enterprise inclui; um projeto cujo plano não o inclui é recusado com feature_not_in_plan (402).

Uma proteção definida continua retendo as alterações para um segundo aprovador, e pedir para removê-la é uma revisão em todos os planos.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
ScreenFolderPatch
ID da operação
updateScreenFolder

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
nome (opcional, string)Aparado; 1 a 100 caracteres Unicode, sem controles, não . nem .., único entre seus irmãos. minLength: 1 maxLength: 100
parent_id (opcional, embutido)Mover a pasta para dentro desta; null para a raiz do projeto.
default_playlist_id (opcional, inline)Uma playlist aprovada para as telas da pasta que não têm uma própria; null a remove.
protected (opcional, boolean)

Protege a pasta e todas as pastas dentro dela (docs/screen-scope.md). Somente uma pessoa que pode aprovar o define. Envie-o sozinho: com qualquer outro campo a requisição é invalid_request. Removê-lo de uma pasta protegida é, em si, uma alteração protegida, uma revisão decidida por um segundo aprovador (202 pending_review).

Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Pasta atualizada.ScreenFolder (application/json); cabeçalhos: ETag
202

A escrita virou uma revisão e aguarda a aprovação de uma pessoa (docs/reviews.md), sob acesso Propor, ou em qualquer nível de acesso quando alcança uma tela em uma pasta de telas protegida, em que um segundo aprovador a decide (docs/screen-scope.md). Uma pessoa aprova, rejeita ou pede alterações no dashboard em review.url.

Uma repetição com Idempotency-Key responde com o mesmo corpo.

ReviewPending (application/json)
402feature_not_in_plan — As pastas protegidas fazem parte do plano Enterprise; o problema nomeia o recurso, o plano em que a conta está e required_plan.Problema (application/problem+json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
EXCLUIR/api/screen-folders/{id}

Excluir pasta de telas

Exclui uma pasta. Nada dentro dela é excluído: suas telas e pastas sobem para o pai da pasta excluída (a raiz do projeto quando ela não tinha pai), cada pasta movida avançando sua revisão, e essas telas são resolvidas novamente.

Recusado com resource_conflict enquanto um público-alvo de campanha nomear a pasta, para que nenhuma programação perca suas telas silenciosamente: altere ou exclua essas campanhas primeiro. Responde com os levels que suas telas ganharam ou perderam. Emite screen.folder_deleted. If-Match protege opcionalmente a revisão.

Um chamador limitado a telas (docs/screen-scope.md) só exclui uma pasta dentro do seu escopo que o próprio escopo não nomeia (outside_screen_scope); as telas dentro dela sobem para o pai. Excluir uma pasta protegida, ou uma que contém telas protegidas, é uma revisão protected_change (202 pending_review) decidida por um segundo aprovador.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
deleteScreenFolder

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screen-folders/RESOURCE_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Excluída; seu conteúdo agora está na pasta pai. levels nomeia as playlists padrão de pasta que suas telas ganharam ou perderam.ScreenFolderDeleteResult (application/json)
202

A escrita virou uma revisão e aguarda a aprovação de uma pessoa (docs/reviews.md), sob acesso Propor, ou em qualquer nível de acesso quando alcança uma tela em uma pasta de telas protegida, em que um segundo aprovador a decide (docs/screen-scope.md). Uma pessoa aprova, rejeita ou pede alterações no dashboard em review.url.

Uma repetição com Idempotency-Key responde com o mesmo corpo.

ReviewPending (application/json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/move

Mover telas

Move telas (screen_ids) e pastas (folder_ids) para uma pasta (folder_id), ou para a raiz do projeto quando folder_id é null, em uma única solicitação tudo ou nada de no máximo 1000 ids. Todo id deve existir (not_found). Uma pasta não pode se mover para dentro de si mesma ou de uma pasta dentro dela, e a movimentação deve manter todas as pastas dentro de 10 níveis (invalid_request).

Itens que já estão no destino permanecem como estão; cada tela e pasta movida avança sua revisão. As telas movidas resolvem novamente sua playlist em cerca de 15 segundos: levels nomeia as campanhas cujo público-alvo de pasta elas passam a integrar ou deixam e as playlists padrão de pasta que ganham ou perdem.

Emite screen.moved, cujos detalhes trazem as contagens (screens, folders) e onde cada item movido estava: moves [{screen_id, from}] (from é o id da pasta, vazio para a raiz) e folder_moves [{folder_id, from_parent}], no máximo 1000 de cada, para que um histórico possa movê-los de volta com esta rota.

Um chamador limitado a telas (docs/screen-scope.md) move telas e pastas dentro do seu escopo para uma pasta do seu escopo; qualquer id ou destino fora dele, e a raiz do projeto, recusam a movimentação inteira (outside_screen_scope), inclusive quando uma tela sai do escopo entre a verificação e a gravação.

Mover para dentro ou para fora de uma pasta protegida é uma revisão protected_change (202 pending_review) decidida por um segundo aprovador.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
ScreenMove
ID da operação
moveScreens

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
folder_id (obrigatório, inline)Pasta de destino; nulo para a raiz do projeto.
screen_ids (opcional, array)
folder_ids (opcional, array)
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Quantas telas e pastas foram movidas, e os levels que as telas movidas ganham ou perdem.ScreenMoveResult (application/json)
202

A escrita virou uma revisão e aguarda a aprovação de uma pessoa (docs/reviews.md), sob acesso Propor, ou em qualquer nível de acesso quando alcança uma tela em uma pasta de telas protegida, em que um segundo aprovador a decide (docs/screen-scope.md). Uma pessoa aprova, rejeita ou pede alterações no dashboard em review.url.

Uma repetição com Idempotency-Key responde com o mesmo corpo.

ReviewPending (application/json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/schedule/calendar

Obter calendário de programação

Responde o que as telas de um assunto reproduzem em [from, to) e por quê, para o calendário de programação do painel: exatamente um entre screen_id, folder_id (as telas da pasta e de todas as pastas dentro dela), tag ou campaign_id (as telas do seu público-alvo).

Telas cujas pilhas têm entradas idênticas (os mesmos níveis, playlist padrão, fuso horário e número de displays) compartilham um grupo com uma linha do tempo, então um assunto grande custa dezenas de linhas do tempo; um grupo lista até 500 de suas telas e uma resposta no máximo 200 grupos (truncated).

Cada grupo traz sua pilha, da mais alta para a mais baixa (takeover, campanhas que alcançam as telas, suas próprias entradas de programação, depois a playlist padrão ou a da pasta mais próxima), os spans de cada nível (plays em todo display que ele alcança, partial com os displays em que é reproduzido, outranked, ou conditional enquanto aguarda interação ou uma condição de dados que só um Player observa), o que cada display mostra (on_screen; a região main de uma página inteira) e conflicts (duas campanhas de mesma prioridade vigorando ao mesmo tempo; um nível que vigora mas nunca é reproduzido). from e to são instantes RFC 3339, com to depois de from, no máximo 93 dias de distância; são truncados ao minuto.

As regras são lidas no fuso horário de cada grupo, como a varredura e todo Player as leem; todo nível é considerado reproduzível. Um chamador limitado a telas (docs/screen-scope.md) deve enviar um screen_id ou um folder_id dentro do seu escopo; uma tag, um campaign_id ou nenhum alvo é outside_screen_scope.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getScheduleCalendar

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
deconsultaobrigatório
atéconsultaobrigatório
screen_idconsultaopcional
folder_idconsultaopcional
tagconsultaopcional
campaign_idconsultaopcional
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200O calendário do assunto.ScheduleCalendar (application/json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/pair

Parear tela

Reivindica uma sessão de pareamento Player global de frota com seis caracteres. Retentativas com a mesma Idempotency-Key retornam o resultado original durável sem consumir cota novamente.

A sessão de dashboard resgata o código no seu projeto atual com o mesmo corpo, Idempotency-Key, orçamentos e problemas, exceto que o seu not_found para um código desconhecido ou já resgatado não nomeia nenhum comando do CLI; é uma mudança de estado, então segue as regras de mutação do dashboard, uma sessão shadow sem modo de escrita de staff é recusada, e os eventos que o resgate acrescenta nomeiam o usuário do dashboard. folder_id nomeia a pasta em que a tela entra.

Um chamador limitado a telas (docs/screen-scope.md) deve enviar uma pasta dentro do seu escopo e emparelha somente como uma pessoa que pode aprovar (outside_screen_scope, approver_required).

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
Tela de emparelhamento
ID da operação
pairScreen

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
Idempotency-Keycabeçalhoobrigatório

Campos do corpo da solicitação

CampoDescrição
código (obrigatório, string)padrão: "^[23456789ABCDEFGHJKMNPQRSTUVWXYZ]{6}$"
label (opcional, string)minLength: 1 maxLength: 120
folder_id (opcional, string)

A pasta de telas em que a tela entra; se omitida, a tela entra na raiz do projeto. Um chamador limitado a telas deve enviar uma pasta dentro do seu escopo (caso contrário, outside_screen_scope). Uma pasta que o projeto não tem é invalid_request para um chamador do projeto inteiro.

Parte da requisição idempotente: outro folder_id sob a mesma Idempotency-Key é idempotency_mismatch. minLength: 1

Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Reivindicação durável de tela pairing_pending.PairingClaim (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
413

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
500

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/provision

Provisionar tela

Provisionamento opcional de nova tela, somente pelo navegador. Sempre cria uma nova tela em pairing_pending; no máximo cinco aguardam pareamento ao mesmo tempo (quota_exceeded). Novas tentativas exatas reenviam o mesmo token de fragmento por dez minutos. O emparelhamento de seis caracteres continua sendo o padrão e o único fluxo de recuperação. folder_id nomeia a pasta em que a tela entra.

Um chamador limitado a telas (docs/screen-scope.md) deve enviar uma pasta dentro do seu escopo (caso contrário, outside_screen_scope).

Autenticação
projectBearer
Corpo da solicitação
ProvisionScreen
ID da operação
provisionScreen

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
Idempotency-Keycabeçalhoobrigatório

Campos do corpo da solicitação

CampoDescrição
label (opcional, string)minLength: 1 maxLength: 120
folder_id (opcional, string)A pasta de telas em que a tela entra, como em PairScreen. minLength: 1
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Novo link de provisionamento para navegador.ScreenProvisioning (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
410

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
413

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
500

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/actions

Aplicar ações na tela

Aplica uma ação a uma frota selecionada sem limite de contagem de telas. Selecione screen_ids únicos ou uma tag que corresponda a telas ativas na ordem de criação. A seleção resolvida é fixada antes de qualquer mutação, armazenada em blocos limitados e mantida por vinte e quatro horas sob Idempotency-Key.

Cada etapa usa seu caminho de mutação de tela única, preservando revisões, eventos, sinais de tempo de execução e limites por tela. Uma resposta contém uma página limitada de resultados; correspondidos, bem-sucedidos e falhos descrevem essa página. HTTP 202 inclui total, offset e next_cursor. Continue com o mesmo seletor, ação e Idempotency-Key, passando next_cursor como after.

Respeite Retry-After quando presente, incluindo uma página com zero resultados. A resposta ecoa Idempotency-Key, incluindo uma chave gerada quando o chamador a omitiu; mantenha essa chave para continuações. HTTP 200 finaliza a seleção. Páginas respondidas reproduzem exatamente, incluindo falhas por tela; etapas interrompidas reproduzem sem repetir seus efeitos.

Grandes ações são controladas contra os orçamentos existentes de 600 por minuto da organização para recarregar, toast, takeover, programações de playlist, reinicialização, tela e programações de tela; exaustão do orçamento da organização pausa a ação em vez de recusar a frota. Exaustão por tela falha apenas naquela tela.

Uma atribuição, takeover ou etapa set_playlist_schedule que vincula uma playlist com um formato a uma tela cuja parede tem outra forma falha somente para essa tela com 409 playlist_format_mismatch. Mudanças de atribuição e de tag não têm orçamento de mensagens.

Uma atribuição cuja playlist tem um src de iframe ou params de aplicativo que leem um token de tela que alguma tela da página não tem adiciona um aviso screen_fact_missing a essa página (warnings, PlaylistWarning). Falha parcial é um resultado normal. Todas as páginas e novas tentativas sob uma chave são uma única ação medida.

Solicitações usam um payload de bytes limitado; use uma tag para uma seleção maior que o payload de transporte. Um seletor ou ação malformada é recusada antes de qualquer tela ser tocada.

Um chamador limitado a telas (docs/screen-scope.md) seleciona por screen_ids ou por pasta, todas as telas dentro do seu escopo; um seletor de tag, uma tela fora do escopo ou uma desconhecida recusa a ação inteira (outside_screen_scope) antes que qualquer coisa seja fixada ou proposta.

Assign, takeover, takeover_clear, set_playlist_schedule e clear_playlist_schedule que alcançam uma tela protegida viram uma revisão decidida por um segundo aprovador (202 pending_review) em todo nível de acesso; set_tags, add_tags, remove_tags, toast, display, display_clear, set_display_schedule e clear_display_schedule em uma tela protegida são protected_target (409).

Uma ação set_playlist_schedule com uma entrada em pausa (um rascunho) é o recurso de controle de alterações da programação, que o plano Enterprise inclui; um projeto cujo plano não o inclui é recusado com feature_not_in_plan (402).

Autenticação
projectBearer
Corpo da solicitação
ScreenActionRequest
ID da operação
applyScreenActions

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
Screenrig-Review-Notecabeçalhoopcional

Nota opcional do proponente em uma escrita de classe revisão, enviada como UTF-8 codificado em porcentagem (o que encodeURIComponent do JavaScript escreve). O servidor decodifica a porcentagem (uma escape inválida é 400 invalid_request); a nota decodificada é texto simples, no máximo 280 caracteres após o corte, sem caracteres de controle (caso contrário 400 invalid_request).

Armazenado na revisão quando a gravação se torna uma; ignorado quando aplica ao vivo.

Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
depoisconsultaopcionalnext_cursor da página de resultado anterior. Reutilize o Idempotency-Key original e o corpo da requisição.

Campos do corpo da solicitação

CampoDescrição
selector (obrigatório, ScreenActionSelector)
ação (obrigatório, ScreenAction)Uma ação de frota, discriminada por tipo. Cada membro carrega apenas seus próprios parâmetros; um membro de outro tipo é um campo desconhecido e invalid_request.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/actions'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Resultados por tela. Sucesso parcial é uma resposta normal.ScreenActionResult (application/json); cabeçalhos: Idempotency-Key, Cache-Control, RateLimit-Policy, RateLimit
202

Restam mais telas (continue com next_cursor e a mesma Idempotency-Key e o mesmo corpo, respeitando Retry-After), ou, com status pending_review, a ação virou uma revisão sob acesso Propor (docs/reviews.md), ou em qualquer nível de acesso porque alcança uma tela em uma pasta de telas protegida (docs/screen-scope.md).

Só assign, takeover, takeover_clear, set_playlist_schedule e clear_playlist_schedule viram revisões; toda outra ação é insufficient_access para Propose.

inline (application/json); cabeçalhos: Idempotency-Key, Retry-After, Cache-Control, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
402

feature_not_in_plan — set_reboot_schedule com enabled true (reinícios programados) e set_playlist_schedule com um bloqueio de displays (video walls) fazem parte do Plus; as ações de limpeza e os comandos avulsos estão disponíveis. payment_required — o projeto não tem crédito restante. O problema nomeia o recurso, o plano do projeto e required_plan.

Problema (application/problem+json)
403insufficient_access, outside_screen_scope quando um chamador limitado a telas seleciona fora do seu escopo, ou approver_required para um membro limitado a telas que não pode aprovar.Problema (application/problem+json)
409

playlist_format_mismatch e os outros conflitos da ação, ou protected_target quando set_tags, add_tags, remove_tags, toast, display, display_clear, set_display_schedule ou clear_display_schedule alcança uma tela em uma pasta de telas protegida.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screens/{id}

Obter tela

Retorna telas pairing_pending, ativas e arquivadas. Telas excluídas não são encontradas.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getScreen

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200TelaTela (application/json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
PATCH/api/screens/{id}

Atualizar tela

Atualiza o name, playlist_id, timezone, wall, tags, fields, location, log_level, toast_level, display ou kiosk da tela. Uma mudança de tags responde levels: as campanhas em que a tela entra ou de que sai, com o alcance de cada campanha antes e depois. wall define o video wall da tela (um objeto) ou o limpa (null).

Definir uma exige um Player que declarou a capacidade de host display.wall, caso contrário 409 wall_unsupported.

Alterar isso gera de novo a revisão do manifesto e registra screen.updated com details.wall (o objeto wall, ou null depois de limpo). fields é mesclado aos valores próprios da tela (uma string define um campo, null o remove, um fields null limpa todos os campos) e location define onde a tela está (null a limpa).

Alterar qualquer um dos dois gera de novo a revisão do manifesto de uma tela que exibe uma playlist, de modo que seus posicionamentos de card expandem os tokens {screen.…} outra vez, e registra screen.updated com details.fields (o novo objeto completo, {} depois de limpo) ou details.location (o novo objeto, ou null depois de limpo).

Um nome ou valor que a gramática recusa, ou um trigésimo terceiro campo, dá invalid_request nomeando-o. log_level (debug, info, warn, error) e toast_level (info, alert, error) definem o nível mais baixo que o Player gera ou mostra, e null limpa cada um; qualquer outro valor dá invalid_request.

Alterar qualquer um dos dois regenera a revisão do manifesto, que os leva como membro raiz verbosity. display define ou limpa as configurações de escurecimento por inatividade e de brilho do display: display.idle {after_s, wake} escurece a tela após after_s segundos (30 a 86400) sem um toque ou tecla ou, quando wake lista presence, sem ninguém na frente da tela, e um evento de despertar (touch, presence ou ambos, cada um uma vez) a acende de imediato; display.brightness {mode} é auto (o sensor de luz do dispositivo define o brilho) ou fixed (o padrão, o brilho do operador).

Um membro que você envia o substitui, null o limpa, um membro que você omite permanece, e um display null limpa ambos. kiosk {lock} true fixa o Player na tela (fixação de tela do Android) e false ou null o libera. A programação e a substituição de display mantêm suas próprias rotas; um membro display que nomeie schedule ou override é invalid_request.

Um valor fora do intervalo ou do tipo errado é invalid_request e nomeia o caminho (display.idle.after_s).

Alterar qualquer um deles regenera a revisão do manifesto de uma tela que exibe uma playlist e altera o ETag do manifesto de todas as telas; o manifesto leva display.idle e display.brightness no membro raiz display e o bloqueio como membro raiz kiosk, e screen.manifest_changed é registrado; a tela os lê de volta como Screen.display.idle, Screen.display.brightness e Screen.kiosk.

O backend armazena o que você envia, seja qual for o Player: um Player aplica uma configuração somente quando suas capacidades do host declaram display_power.idle, brightness.auto ou kiosk_lock, e Players mais antigos as ignoram. Atribuir uma playlist cujo formato não corresponde ao video wall da tela dá 409 playlist_format_mismatch.

Com acesso Propose, um patch de playlist_id sozinho vira uma revisão (202 pending_review); qualquer outro campo, inclusive wall, fields, location, display e kiosk, dá insufficient_access. Uma playlist sem versão aprovada é playlist_not_approved.

Quando a playlist que a tela então mostra tem um src de iframe ou params de aplicativo que leem um token de tela que a tela não tem, a resposta traz um aviso screen_fact_missing (warnings, PlaylistWarning) e o manifesto da tela deixa essa primitiva de fora.

Em uma tela protegida, playlist_id exige revisão por uma segunda pessoa com autoridade de aprovação (202 pending_review) em qualquer nível de acesso e deve ser enviado sozinho (invalid_request junto com name); tags, fields, location, timezone, wall e display retornam protected_target (409), inclusive junto com playlist_id. Renomear continua sendo imediato. Limpar playlist_id (null) em uma tela arquivada retorna 409 screen_archived.

Autenticação
projectBearer
Corpo da solicitação
ScreenPatch
ID da operação
updateScreen

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Screenrig-Review-Notecabeçalhoopcional

Nota opcional do proponente em uma escrita de classe revisão, enviada como UTF-8 codificado em porcentagem (o que encodeURIComponent do JavaScript escreve). O servidor decodifica a porcentagem (uma escape inválida é 400 invalid_request); a nota decodificada é texto simples, no máximo 280 caracteres após o corte, sem caracteres de controle (caso contrário 400 invalid_request).

Armazenado na revisão quando a gravação se torna uma; ignorado quando aplica ao vivo.

If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
nome (opcional, string)minLength: 1 maxLength: 120
playlist_id (opcional, inline)

O padrão da tela: um id de playlist o atribui; null o remove; a omissão o preserva. Takeovers, campanhas, programações e padrões herdados de pastas mantêm a precedência. Sem conteúdo efetivo, o Player pareado mostra sua tela de espera.

fuso horário (opcional, string)

Identificador de fuso horário IANA, por exemplo America/Los_Angeles. É a zona em que cada regra de visibilidade de página nesta tela é avaliada. Alterá-la renova a revisão do manifesto. Uma tela atribuída a uma playlist que usa visibilidade de página deve ter uma. minLength: 1 maxLength: 64

wall (opcional, embutido)A parede de vídeo da tela; null a limpa. Definir uma requer um Player que declarou a capacidade display.wall do host, caso contrário 409 wall_unsupported. Alterá-la renova a revisão do manifesto.
tags (opcional, ScreenTags)

Tags do seletor de frota, de 0 a 16 tags únicas exatas, cada uma correspondendo à gramática de tags de mídia. No ScreenPatch o array substitui o conjunto inteiro e um array vazio o limpa; uma tag duplicada ou malformada é invalid_request. Alterar tags aumenta a revisão da tela (If-Match a protege) e anexa screen.updated com details.tags; nunca altera a revisão do manifesto.

Tags nunca estão no manifesto de tempo de execução e nunca na autorização.

fields (opcional, inline)

Mescla com os valores próprios da tela, como um número de loja ou uma região: uma string define um campo, null o remove, e um fields null limpa todos os campos. Os nomes têm de 1 a 32 letras minúsculas, dígitos ou sublinhados; os valores, de 1 a 200 caracteres depois de remover os espaços das extremidades; uma tela tem no máximo 32 campos.

Alterar os campos gera de novo a revisão do manifesto de uma tela que exibe uma playlist. Os posicionamentos de card os leem pelos tokens {screen.field.NAME}.

location (opcional, inline)Onde a tela está; null limpa o valor. Alterar a localização gera de novo a revisão do manifesto de uma tela que exibe uma playlist. Os posicionamentos de card a leem pelo token {screen.location}.
log_level (opcional, em linha)

O nível de log mais baixo que o Player da tela gera: ele não escreve nenhuma linha abaixo dele, e linhas de erro são sempre geradas; null o limpa (o padrão do Player). Mudá-lo regenera a revisão do manifesto, que o leva como verbosity.logLevel.

toast_level (opcional, em linha)

O nível de toast mais baixo que o Player da tela mostra: ele não mostra nenhum toast abaixo dele, e toasts de erro são sempre mostrados; null o limpa (todo toast é mostrado). Mudá-lo regenera a revisão do manifesto, que o leva como verbosity.toastLevel.

display (opcional, inline)

As configurações de escurecimento por inatividade e de brilho do display (display.idle, display.brightness). Um membro que você envia o substitui, null o limpa, um membro que você omite permanece; um display null limpa ambos. Alterar qualquer um dos dois regenera a revisão do manifesto de uma tela que exibe uma playlist, e o manifesto os leva no membro raiz display.

Em uma tela protegida, é protected_target.

kiosk (opcional, inline)

O bloqueio de quiosque (kiosk.lock). lock true fixa o Player na tela; false ou null o libera. Alterá-lo regenera a revisão do manifesto de uma tela que exibe uma playlist, e o manifesto o leva como membro raiz kiosk.

Modelo e respostas da solicitação
shell · modelo de requisição
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
202

A escrita virou uma revisão e aguarda a aprovação de uma pessoa (docs/reviews.md), sob acesso Propor, ou em qualquer nível de acesso quando alcança uma tela em uma pasta de telas protegida, em que um segundo aprovador a decide (docs/screen-scope.md). Uma pessoa aprova, rejeita ou pede alterações no dashboard em review.url.

Uma repetição com Idempotency-Key responde com o mesmo corpo.

ReviewPending (application/json)
200TelaTela (application/json)
402

feature_not_in_plan — Os video walls fazem parte do Plus: definir um video wall diferente do da própria tela o exige, null o limpa em todos os planos. O problema nomeia o recurso, o plano do projeto e required_plan.

Problema (application/problem+json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
409

protected_target - a alteração alcança uma tela em uma pasta de telas protegida e não tem forma de revisão (docs/screen-scope.md). Remova a proteção da pasta por meio de uma revisão, faça a alteração e proteja a pasta de novo.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
EXCLUIR/api/screens/{id}

Excluir tela

Exclui suavemente uma tela elegível e revoga imediatamente suas credenciais de cookie e concessões de tempo de execução. Leituras comuns então retornam not_found; a linha tombstone é mantida por pelo menos 90 dias antes da limpeza. If-Match protege a revisão e Idempotency-Key repete o resultado.

Uma tela nativa vinculada a uma identidade retorna screen_archive_required: use archive para manter esse vínculo; uma tela vinculada a uma identidade que já está arquivada continua arquivada (o mesmo problema, informando isso). Esta rota não concede permissão administrativa de emergência (break-glass) para liberar o registro nativo. Uma tela em uma pasta de telas protegida é protected_target (409).

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
deleteScreen

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
204Tela excluída suavemente; seu registro é mantido por pelo menos 90 dias.sem corpo
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409screen_archive_required para uma tela nativa vinculada a uma identidade, ou protected_target quando a tela está em uma pasta de telas protegida (docs/screen-scope.md).Problema (application/problem+json)
412revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual.Problema (application/problem+json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
PATCH/api/screens/{id}/tags

Patch Screen Tags

Uma pessoa conectada define as tags de uma tela. tags é o conjunto completo novo: um array vazio o limpa, e uma tag malformada ou repetida é invalid_request em tags[i].

É a alteração de tag que updateScreen faz, na sessão do dashboard: a revisão da tela avança uma, screen.updated carrega details.tags e a pessoa como ator, e a revisão do manifesto nunca muda. Uma tela pairing_pending, ativa ou arquivada, aceita isso.

O corpo não tem nenhum outro membro: uma sessão renomeia uma tela com patchScreenName e atribui sua playlist com patchScreenPlaylist, e não pode alterar seu fuso horário. If-Match carrega a revisão da tela e é obrigatório (invalid_request quando ausente, revision_conflict quando desatualizado).

Somente a sessão de dashboard; os agentes alteram tags com updateScreen ou uma ação em frota set_tags, add_tags ou remove_tags. listScreens com tag encontra a tela pelas suas novas tags. Em uma tela protegida, a alteração é protected_target (409).

Autenticação
dashboardSession
Corpo da solicitação
ScreenTagsPatch
ID da operação
patchScreenTags

Parâmetros

NomeEnviarObrigatório?Descrição
idcaminhoobrigatório
If-MatchcabeçalhoobrigatórioA revisão atual da tela, citada ou simples (o ETag da última leitura). Uma revisão desatualizada é revision_conflict com current_revision.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
tags (obrigatório, ScreenTags)

Tags do seletor de frota, de 0 a 16 tags únicas exatas, cada uma correspondendo à gramática de tags de mídia. No ScreenPatch o array substitui o conjunto inteiro e um array vazio o limpa; uma tag duplicada ou malformada é invalid_request. Alterar tags aumenta a revisão da tela (If-Match a protege) e anexa screen.updated com details.tags; nunca altera a revisão do manifesto.

Tags nunca estão no manifesto de tempo de execução e nunca na autorização.

Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200A tela conforme armazenada agora; o ETag carrega sua revisão.Tela (application/json); cabeçalhos: ETag
412revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual.Problema (application/problem+json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
PATCH/api/screens/{id}/fields

Aplicar patch nos campos da tela

Uma pessoa conectada altera os campos de uma tela com o merge patch de updateScreen: uma string define um campo, null o remove e um fields null limpa todos os campos. Um nome ou valor recusado, ou um trigésimo terceiro campo, retorna invalid_request em fields ou fields.NAME.

A revisão da tela avança uma unidade, uma tela que exibe uma playlist recebe uma nova revisão do manifesto, e o evento carrega details.fields e a pessoa como ator. O corpo não tem outro membro. If-Match carrega a revisão da tela e é obrigatório (invalid_request quando ausente, revision_conflict quando obsoleto).

Somente a sessão de dashboard; os agentes usam PATCH /api/screens/{id} (updateScreen). Em uma tela protegida, a alteração é protected_target (409).

Autenticação
dashboardSession
Corpo da solicitação
ScreenFieldsPatch
ID da operação
patchScreenFields

Parâmetros

NomeEnviarObrigatório?Descrição
idcaminhoobrigatório
If-MatchcabeçalhoobrigatórioA revisão atual da tela, citada ou simples (o ETag da última leitura). Uma revisão desatualizada é revision_conflict com current_revision.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
fields (obrigatório, inline)

Mescla com os valores próprios da tela, como um número de loja ou uma região: uma string define um campo, null o remove, e um fields null limpa todos os campos. Os nomes têm de 1 a 32 letras minúsculas, dígitos ou sublinhados; os valores, de 1 a 200 caracteres depois de remover os espaços das extremidades; uma tela tem no máximo 32 campos.

Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200A tela conforme armazenada agora; o ETag carrega sua revisão.Tela (application/json); cabeçalhos: ETag
412revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual.Problema (application/problem+json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
PATCH/api/screens/{id}/location

Aplicar patch na localização da tela

Uma pessoa conectada define ou limpa onde uma tela está com o location de updateScreen: um objeto com latitude, longitude e, opcionalmente, name e address substitui a localização inteira, e null a limpa. Um membro ausente ou de tipo incorreto, uma coordenada fora do intervalo, um nome com mais de 40 caracteres ou um endereço com mais de 200 retorna invalid_request em location.MEMBER.

A revisão da tela avança uma unidade, uma tela que exibe uma playlist recebe uma nova revisão do manifesto, e o evento carrega details.location e a pessoa como ator. O corpo não tem outro membro. If-Match carrega a revisão da tela e é obrigatório (invalid_request quando ausente, revision_conflict quando obsoleto).

Somente a sessão de dashboard; os agentes usam PATCH /api/screens/{id} (updateScreen). Em uma tela protegida, a alteração é protected_target (409).

Autenticação
dashboardSession
Corpo da solicitação
ScreenLocationPatch
ID da operação
patchScreenLocation

Parâmetros

NomeEnviarObrigatório?Descrição
idcaminhoobrigatório
If-MatchcabeçalhoobrigatórioA revisão atual da tela, citada ou simples (o ETag da última leitura). Uma revisão desatualizada é revision_conflict com current_revision.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
location (obrigatório, inline)Onde a tela está: o objeto substitui a localização inteira e null a limpa.
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200A tela conforme armazenada agora; o ETag carrega sua revisão.Tela (application/json); cabeçalhos: ETag
412revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual.Problema (application/problem+json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
PATCH/api/screens/{id}/verbosity

Alterar a verbosidade de uma tela

Uma pessoa conectada define ou limpa o nível de log e o nível de toast de uma tela com log_level (debug, info, warn, error) e toast_level (info, alert, error) de updateScreen: uma string define o nível, null o limpa, e um membro omitido continua como está. Qualquer outro valor dá invalid_request em log_level ou toast_level.

A revisão da tela avança uma unidade, uma tela que mostra uma playlist recebe uma nova revisão do manifesto, e o Player lê os níveis do membro verbosity do manifesto. O corpo nomeia pelo menos um dos dois membros e nenhum outro. If-Match carrega a revisão da tela e é obrigatório (invalid_request quando ausente, revision_conflict quando desatualizado).

Somente a sessão do dashboard; os agentes usam PATCH /api/screens/{id} (updateScreen).

Autenticação
dashboardSession
Corpo da solicitação
ScreenVerbosityPatch
ID da operação
patchScreenVerbosity

Parâmetros

NomeEnviarObrigatório?Descrição
idcaminhoobrigatório
If-MatchcabeçalhoobrigatórioA revisão atual da tela, citada ou simples (o ETag da última leitura). Uma revisão desatualizada é revision_conflict com current_revision.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
log_level (opcional, em linha)O nível de log mais baixo que o Player da tela gera; linhas de erro são sempre geradas. null o limpa (o padrão do Player). Mudá-lo regenera a revisão do manifesto.
toast_level (opcional, em linha)O nível de toast mais baixo que o Player da tela mostra; toasts de erro são sempre mostrados. null o limpa (todo toast é mostrado). Mudá-lo regenera a revisão do manifesto.
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200A tela conforme armazenada agora; o ETag carrega sua revisão.Tela (application/json); cabeçalhos: ETag
412revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual.Problema (application/problem+json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
PATCH/api/screens/{id}/device-settings

Aplicar patch nas configurações do dispositivo da tela

Uma pessoa conectada define ou limpa as configurações de escurecimento por inatividade e de brilho de uma tela e o seu bloqueio de quiosque com os membros display e kiosk de updateScreen: display.idle {after_s 30 a 86400, wake touch, presence ou ambos}, display.brightness {mode auto ou fixed} e kiosk.lock.

Um membro que você envia o substitui, null o limpa, e um membro omitido permanece como está; um display null limpa ambos. Um valor fora do intervalo ou do tipo errado é invalid_request e nomeia o caminho (display.idle.after_s).

A revisão da tela avança em um, uma tela que exibe uma playlist recebe uma nova revisão do manifesto, e o Player lê as configurações dos membros do manifesto display (idle, brightness) e kiosk. O corpo nomeia pelo menos um entre display e kiosk e nenhum outro membro.

If-Match traz a revisão da tela e é obrigatório (invalid_request quando ausente, revision_conflict quando desatualizada). Em uma tela protegida, uma alteração de display é protected_target (409). Somente a sessão do dashboard; os agentes usam PATCH /api/screens/{id} (updateScreen).

Autenticação
dashboardSession
Corpo da solicitação
ScreenDeviceSettingsPatch
ID da operação
patchScreenDeviceSettings

Parâmetros

NomeEnviarObrigatório?Descrição
idcaminhoobrigatório
If-MatchcabeçalhoobrigatórioA revisão atual da tela, citada ou simples (o ETag da última leitura). Uma revisão desatualizada é revision_conflict com current_revision.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
display (opcional, inline)

display.idle e display.brightness, como o display de updateScreen: um membro que você envia o substitui, null o limpa, um membro que você omite permanece; um display null limpa ambos. Alterar qualquer um dos dois regenera a revisão do manifesto de uma tela que exibe uma playlist. Em uma tela protegida, é protected_target.

kiosk (opcional, inline)kiosk.lock, como o kiosk de updateScreen: lock true fixa o Player na tela, false ou null o libera.
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200A tela conforme armazenada agora; o ETag carrega sua revisão.Tela (application/json); cabeçalhos: ETag
412revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual.Problema (application/problem+json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
PATCH/api/screens/{id}/name

Alterar nome da tela

Uma pessoa conectada renomeia uma tela com o name de updateScreen. O nome é aparado e deve ter de 1 a 120 caracteres sem caracteres de controle; caso contrário, invalid_request em name (o mesmo vale para um nome ausente ou null).

A revisão da tela avança em um e o evento é screen.manifest_changed, endereçado à tela, com a pessoa como ator; a revisão do manifesto permanece, então a reprodução não é afetada e os Players atualizam o nome a partir do ETag alterado. Renomear para o mesmo nome ainda avança a revisão e acrescenta screen.updated. O corpo não tem nenhum outro membro.

If-Match carrega a revisão da tela e é obrigatório (invalid_request quando ausente, revision_conflict quando desatualizado). Somente a sessão do dashboard; os agentes usam PATCH /api/screens/{id} (updateScreen).

Autenticação
dashboardSession
Corpo da solicitação
ScreenNamePatch
ID da operação
patchScreenName

Parâmetros

NomeEnviarObrigatório?Descrição
idcaminhoobrigatório
If-MatchcabeçalhoobrigatórioA revisão atual da tela, citada ou simples (o ETag da última leitura). Uma revisão desatualizada é revision_conflict com current_revision.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
nome (obrigatório, string)O nome da tela, aparado; de 1 a 120 caracteres após o aparo, sem caracteres de controle. minLength: 1 maxLength: 120
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200A tela conforme armazenada agora; o ETag carrega sua revisão.Tela (application/json); cabeçalhos: ETag
412revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual.Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
PATCH/api/screens/{id}/playlist

Alterar playlist da tela

Uma pessoa autenticada atribui a playlist da tela com a atribuição de updateScreen: a playlist deve pertencer ao projeto e ter uma versão aprovada (playlist_not_approved), e uma playlist com formato precisa de uma tela cujo video wall tenha a mesma 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).

Somente a sessão de dashboard; os agentes usam PATCH /api/screens/{id} (updateScreen). Em uma tela protegida, a atribuição de um aprovador é uma revisão decidida por um segundo aprovador (202 pending_review).

Autenticação
dashboardSession
Corpo da solicitação
ScreenPlaylistPatch
ID da operação
patchScreenPlaylist

Parâmetros

NomeEnviarObrigatório?Descrição
idcaminhoobrigatório
If-MatchcabeçalhoobrigatórioA revisão atual da tela, citada ou simples (o ETag da última leitura). Uma revisão desatualizada é revision_conflict com current_revision.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
playlist_id (obrigatório, inline)

A playlist padrão da tela; null remove a atribuição própria. Um takeover, uma campanha, uma entrada de programação ou um padrão herdado de uma pasta ainda pode mostrar conteúdo; caso contrário, o Player pareado mostra sua tela de espera.

Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200A tela conforme armazenada agora; o ETag carrega sua revisão.Tela (application/json); cabeçalhos: ETag
412revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual.Problema (application/problem+json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
202

A escrita virou uma revisão e aguarda a aprovação de uma pessoa (docs/reviews.md), sob acesso Propor, ou em qualquer nível de acesso quando alcança uma tela em uma pasta de telas protegida, em que um segundo aprovador a decide (docs/screen-scope.md). Uma pessoa aprova, rejeita ou pede alterações no dashboard em review.url.

Uma repetição com Idempotency-Key responde com o mesmo corpo.

ReviewPending (application/json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/public-id/rotate

Rotacionar ID público da tela

Autenticação
projectBearer
Corpo da solicitação
nenhum
ID da operação
rotateScreenPublicId

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/public-id/rotate'

Respostas

StatusSignificadoCorpo e cabeçalhos
200

Credencial de URL pública rotacionada; inscrição da chave pública do player preservada. Cada sessão de tempo de execução é invalidada pela nova content_access_generation e as concessões desejadas e ativas ao vivo são reemitidas nessa geração para sua revisão de manifesto inalterada, então um player pareado que renova sua sessão continua autorizando o conteúdo que já está exibindo.

Tela (application/json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/recovery/confirm

Confirmar recuperação de tela

Confirma uma recuperação de tela pendente. Um início de pareamento nativo que apresentou um duid host ou serial que corresponde exatamente a uma tela em exatamente um projeto, sob uma chave pública vinculada diferente, registra uma oferta nessa tela (Screen.recovery_pending, evento do projeto screen.recovery_offered).

O objeto host é uma dica, nunca uma credencial: nada é reatribuído até que o projeto proprietário chame esta rota. Um DUID é legível por qualquer aplicativo no painel, então uma oferta é uma superfície de phishing.

É mitigado pela atividade (sem oferta enquanto a chave vinculada mostrou vida nos últimos dez minutos), um limite de três ofertas por tela por hora móvel, e esta confirmação do mesmo projeto; recovery_pending.host e o evento carregam a plataforma, modelo, firmware e fabricante do dispositivo ofertante para que o operador possa compará-los com o display à sua frente antes de confirmar.

A confirmação conclui o pareamento nativo pendente na tela EXISTENTE: o dispositivo de pareamento recebe pairing.claimed como usual e prova posse com pairing.complete, a nova chave torna-se a identidade da tela, e a chave anterior se aposenta com uma janela de carência de quinze minutos na qual suas sessões de runtime continuam funcionando e ainda pode emitir, após o que é recusada.

Playlists, etiqueta, fuso horário, programações e histórico são preservados. Apenas no mesmo projeto; a tela de outro projeto retorna not_found. If-Match é opcional. Emite screen.recovered. recovery_not_offered quando nada está pendente, recovery_expired quando a sessão de pareamento expirou, recovery_ambiguous quando o identificador está anexado em mais de um lugar.

Respostas de problema nunca repetem identificadores de dispositivo.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
confirmScreenRecovery

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para criar ou sobrescrever uma chave; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/recovery/confirm'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Tela recuperada na chave do dispositivo pareado; a resposta carrega o ETag atual.Tela (application/json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
410

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/replace

Substituir tela

Move o dispositivo pareado como outra tela do projeto para esta e arquiva aquela tela, de modo que esta tela mantém seu nome, tags, fuso horário, playlist, programações, takeover, programação e substituição de exibição, video wall, comentários e histórico no novo hardware.

A chave pública do dispositivo (ou a credencial do navegador) agora abre esta tela, que assume o host e o Player da substituta; sua saúde, status, armazenamento, observação e comandos na fila recomeçam do zero. A chave que esta tela mantinha é aposentada com a janela de tolerância de recuperação: ainda pode criar sessões por quinze minutos e depois é recusada (key_retired). Nada é desvinculado.

A tela substituída é arquivada com archive_reason replaced e não mantém vínculo nem host. Ambas as telas avançam content_access_generation, então toda sessão que qualquer uma tinha termina; o dispositivo recebe um player.reload endereçado à tela que deixou (details.reason replaced, válido por 24 horas) e cria uma nova sessão como esta tela.

Ambas as telas devem estar ativas e ter um Player pareado (uma tela pairing_pending ou uma substituta não pareada é resource_conflict, uma arquivada é screen_archived); with deve indicar outra tela do projeto (invalid_request; a tela de outro projeto é not_found); uma tela com video wall precisa de um Player substituto que tenha declarado display.wall (wall_unsupported).

If-Match é opcional e verifica a revisão desta tela. Emite o evento de projeto screen.replaced (details.from_screen_id) e nenhum screen.archived. Uma nova tentativa exata com a mesma Idempotency-Key retorna esta mesma resposta por vinte e quatro horas.

Um chamador limitado a telas (docs/screen-scope.md) precisa que a tela e with estejam dentro do seu escopo (outside_screen_scope; nada é arquivado). Uma substituição em que qualquer uma das telas é protegida é protected_target.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
ScreenReplaceWrite
ID da operação
replaceScreen

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para criar ou sobrescrever uma chave; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
with (obrigatório, string)

O id da tela, no mesmo projeto, cujo dispositivo pareado assume a tela do caminho. Deve ser outra tela ativa com um Player pareado; ela é arquivada com archive_reason replaced. minLength: 1 maxLength: 256

Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200O dispositivo agora abre esta tela; a resposta é esta tela com sua nova revisão e o ETag atual.Tela (application/json)
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409resource_conflict, screen_archived, wall_unsupported, ou protected_target quando qualquer uma das telas está em uma pasta de telas protegida.Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/archive

Arquivar tela

Oculta a tela da lista padrão e exibe na tela física o status «Tela arquivada». Não desvincula a chave pública do reprodutor. Libera a cota screen_count. Cancela os comandos pendentes reboot, clear_cache, restart_app e update da tela; um reload pendente continua sendo entregue. Uma tela em uma pasta de telas protegida retorna protected_target (409).

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
archiveScreen

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/archive'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Tela arquivada.Tela (application/json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

protected_target quando a tela está em uma pasta de telas protegida (docs/screen-scope.md; remova a proteção da pasta por meio de uma revisão, faça a alteração e proteja-a de novo), ou os outros conflitos da operação.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/unarchive

Desarquivar tela

Restaura uma tela arquivada para a lista padrão e gera um manifesto normal. Deve passar pela admissão da tela. Não altera a chave pública vinculada.

O manifesto é emitido novamente, então a playlist da tela é verificada como uma atribuição; uma playlist que referencia conteúdo ausente ou não pronto responde resource_conflict nomeando a playlist, e a tela permanece arquivada até a playlist ser corrigida.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
unarchiveScreen

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/unarchive'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Tela desarquivada.Tela (application/json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
413

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/reload

Recarregar tela

Pede ao Player da tela ativa ou arquivada indicada que recarregue (docs/player-compatibility.md §6.3). O corpo opcional define expires_in_s, por quanto tempo o recarregamento pode ser executado (60 a 86400 segundos, padrão 86400, 24 horas); um valor fora do intervalo é invalid_request indicando expires_in_s.

Uma tela online recebe de imediato o evento durável por tela player.reload (details.reason project, um novo reload_id, spread_s 0, expires_at) e o recarregamento é registrado em Screen.commands como sent.

Uma tela offline mantém o recarregamento como queued sem evento; quando o backend aplica a próxima transição online da tela antes de expires_at, o evento é acrescentado, com os mesmos reload_id e expires_at, e o comando passa a sent. Um recarregamento mais recente substitui um mais antigo ainda na fila.

Um recarregamento na fila após expires_at aparece como expired, e POST /api/screens/{id}/commands/{command_id}/cancel cancela um que ainda está na fila. O stream SSE de runtime repassa o evento a todas as sessões de runtime. Um Player ignora um recarregamento dentro de dez minutos do último que executou.

Um Player web recarrega na próxima troca de página; um Player nativo cria uma nova sessão, busca o manifesto novamente e verifica se há atualização. A revisão da tela não muda. If-Match e Idempotency-Key são opcionais, como no arquivamento; uma nova tentativa exata com a mesma Idempotency-Key retorna o corpo original por vinte e quatro horas.

Uma tela pairing_pending ainda não tem Player e responde resource_conflict. As mensagens de tela estão isentas do medidor de API de 1 crédito.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
ScreenCommandWrite
ID da operação
reloadScreen

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
expires_in_s (opcional, inteiro)Por quanto tempo o comando pode ser executado, em segundos a partir da solicitação. Um comando na fila é enviado somente antes de expirar; um Player ignora um depois de expires_at. padrão: 86400 mínimo: 60 máximo: 86400
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
202

Aceito. state é sent quando o recarregamento foi para o Player da tela online, queued quando espera que a tela fique online. O recarregamento pode ser executado até expires_at. O ETag é a revisão da tela, inalterada.

ScreenReloadAccepted (application/json); cabeçalhos: Cache-Control, ETag, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screens/{id}/playlist-schedule

Obter programação de playlist da tela

Retorna a programação da playlist avaliada pelo servidor da tela: entradas em ordem de prioridade (vazio quando a tela não tem), updated_at e a effective_playlist que produzem atualmente. O ETag é a revisão da tela. Telas pairing_pending, ativas e arquivadas são legíveis; tela de outro projeto é not_found.

Autenticação
projectBearer
Corpo da solicitação
nenhum
ID da operação
getScreenPlaylistSchedule

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Programação da playlist.ScreenPlaylistScheduleView (application/json); cabeçalhos: ETag
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
PUT/api/screens/{id}/playlist-schedule

Definir programação da playlist da tela

Substitui a programação da playlist da tela. O servidor a avalia, nunca o Player: a primeira entrada cuja regra corresponde ao horário civil da tela (janelas screenrig.schedule/v1 e from/until, no fuso horário da tela, incluindo transições de horário de verão e janelas que cruzam a meia-noite) é a playlist efetiva; quando nenhuma corresponde, a playlist_id atribuída é.

Uma tomada ainda vence sobre toda entrada. A tela deve ter um fuso horário e uma playlist_id padrão atribuída (invalid_request caso contrário), para que sempre haja algo para recorrer.

Cada playlist referenciada é validada contra a tela exatamente como uma atribuição (propriedade, referências prontas, visibilidade da página precisa de fuso horário, e uma playlist com formato precisa de uma tela cuja parede tenha a mesma forma, caso contrário 409 playlist_format_mismatch), então uma playlist que a tela recusaria é recusada aqui; a verificação escreve o documento da playlist, então uma exclusão concorrente da playlist gera conflito em vez de corrida.

Se uma playlist agendada depois não puder ser exibida (por exemplo, seu conteúdo não resolve mais), suas entradas são ignoradas na avaliação e screen.playlist_unavailable (aviso, detalhes playlist_id, entry_ids, code) é anexado.

Quando a playlist efetiva muda, o manifesto é renovado a partir dela e o Player é sinalizado com screen.manifest_changed, como em uma atribuição, e screen.playlist_switched é adicionado. A revisão da tela é incrementada (If-Match a protege) e screen.updated é adicionado com details.playlist_schedule_entries.

Uma tela arquivada responde screen_archived; sua programação, takeover e padrão permanecem referenciados (bloqueiam exclusão da playlist) e são resolvidos novamente quando desarquivados. Limites de taxa: screen-control-org 600, screen-control-screen 20, e screen-control-ip 60 por minuto, compartilhados com DELETE e rotas de takeover.

Em uma tela protegida, o agendamento é uma revisão decidida por um segundo aprovador (202 pending_review) em todo nível de acesso. Uma nova entrada com paused true (um rascunho) é o recurso de controle de alterações da programação, que o plano Enterprise inclui; um projeto cujo plano não o inclui é recusado com feature_not_in_plan (402).

As entradas já armazenadas podem continuar em pausa, e pausar uma entrada armazenada está disponível em todos os planos.

Autenticação
projectBearer
Corpo da solicitação
ScreenPlaylistScheduleWrite
ID da operação
setScreenPlaylistSchedule

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Screenrig-Review-Notecabeçalhoopcional

Nota opcional do proponente em uma escrita de classe revisão, enviada como UTF-8 codificado em porcentagem (o que encodeURIComponent do JavaScript escreve). O servidor decodifica a porcentagem (uma escape inválida é 400 invalid_request); a nota decodificada é texto simples, no máximo 280 caracteres após o corte, sem caracteres de controle (caso contrário 400 invalid_request).

Armazenado na revisão quando a gravação se torna uma; ignorado quando aplica ao vivo.

If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
entradas (obrigatório, array)Ordem de prioridade: a primeira entrada correspondente vence. DELETE limpa a programação.
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
202A escrita virou uma revisão sob Propor acesso e aguarda aprovação de uma pessoa (docs/reviews.md). Uma repetição com Idempotency-Key responde com o mesmo corpo.ReviewPending (application/json); headers: RateLimit-Policy, RateLimit
200Tela com o agendamento armazenado e sua effective_playlist. O ETag é a nova revisão.Tela (application/json); cabeçalhos: ETag, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
402

feature_not_in_plan — O controle de alterações da programação faz parte do plano Enterprise; o problema nomeia o recurso, o plano em que a conta está e required_plan. Uma entrada que bloqueia uma playlist no display 2 ou além de um video wall (displays), exceto a entrada armazenada da tela, faz parte do Plus. O problema nomeia o recurso, o plano do projeto e required_plan.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
EXCLUIR/api/screens/{id}/playlist-schedule

Limpar programação da playlist da tela

Remove a programação de playlists da tela; passa a valer o takeover, senão uma campanha vigente, senão a playlist atribuída, com a mesma sinalização de manifesto do PUT. Uma tela sem programação responde com 200 sem alterações (sem incremento de revisão, sem evento).

Em uma tela protegida, limpar o agendamento é uma revisão decidida por um segundo aprovador (202 pending_review) em todo nível de acesso.

Autenticação
projectBearer
Corpo da solicitação
nenhum
ID da operação
clearScreenPlaylistSchedule

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Screenrig-Review-Notecabeçalhoopcional

Nota opcional do proponente em uma escrita de classe revisão, enviada como UTF-8 codificado em porcentagem (o que encodeURIComponent do JavaScript escreve). O servidor decodifica a porcentagem (uma escape inválida é 400 invalid_request); a nota decodificada é texto simples, no máximo 280 caracteres após o corte, sem caracteres de controle (caso contrário 400 invalid_request).

Armazenado na revisão quando a gravação se torna uma; ignorado quando aplica ao vivo.

If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule'

Respostas

StatusSignificadoCorpo e cabeçalhos
202A escrita virou uma revisão sob Propor acesso e aguarda aprovação de uma pessoa (docs/reviews.md). Uma repetição com Idempotency-Key responde com o mesmo corpo.ReviewPending (application/json); headers: RateLimit-Policy, RateLimit
200Tela sem agendamento de playlist.Tela (application/json); cabeçalhos: ETag, RateLimit-Policy, RateLimit
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/playlist-schedule/preview

Pré-visualizar programação de playlist da tela

O que substituir a programação de playlist da tela por entries alteraria, sem realizá-la.

As entradas são verificadas como o PUT as verifica (gramática, o fuso horário e os displays da tela, uma playlist padrão e cada playlist como atribuição: existe, tem uma versão aprovada, cabe no videowall da tela e na região que cobre, e suas referências são resolvidas), então uma pré-visualização recusa o que o PUT recusa.

A resposta diz se a tela ganharia ou perderia níveis de sua programação em sua pilha (uma entrada pausada não está em nenhuma pilha, então publicá-la a ganha), e o calendário de programação da tela como está (before) e como ficaria (after) de from a to (padrão: uma semana a partir de agora; no máximo 93 dias). Acesso de leitura: nada é gravado.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
ScreenSchedulePreviewRequest
ID da operação
previewScreenPlaylistSchedule

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório

Campos do corpo da solicitação

CampoDescrição
entradas (obrigatório, array)
from (opcional, string)Início dos calendários; padrão agora. formato: "date-time"
to (opcional, string)Fim dos calendários; padrão uma semana após from, no máximo 93 dias depois dele. formato: "date-time"
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200A prévia.SchedulePreview (application/json)
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screens/{id}/playlist-schedule/revisions

Listar revisões da programação de playlist da tela

As revisões da programação de playlist da tela, da mais recente para a mais antiga: a lista entries inteira como armazenada após cada gravação (um PUT, um DELETE, uma restauração, uma importação de programação), com o tipo de alteração e quem a fez. Uma revisão é numerada pela revisão da tela na gravação, então os números têm lacunas onde a tela mudou de outra forma.

Uma tela cujo histórico ainda não tem linha lista sua programação como ela está, com change baseline. As revisões saem junto com a purga da tela. No máximo 50 por página; next_cursor enquanto restarem mais, null na última página.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
listScreenPlaylistScheduleRevisions

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
depoisconsultaopcionalnext_cursor da página anterior da mesma lista, com os mesmos filtros. Omitido começa na linha mais recente. Um valor que não seja esse cursor é invalid_request.
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200As revisões de programação da tela, da mais recente para a mais antiga.ScreenScheduleRevisionList (application/json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/playlist-schedule/revisions/{revision}/restore

Restaurar revisão da programação de playlist da tela

Coloca de volta as entradas de uma revisão anterior como a programação da tela: a mesma gravação de PUT /api/screens/{id}/playlist-schedule com essas entradas (ou DELETE quando essa revisão não tinha nenhuma), verificada como são verificadas agora (uma playlist excluída desde então a recusa), de modo que, sob acesso Propor, a restauração se torna a mesma revisão screen_change em que o PUT se torna.

If-Match é obrigatório e indica a revisão atual da tela. As revisões anteriores permanecem como estavam.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
restoreScreenPlaylistScheduleRevision

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
revisãocaminhoobrigatórioUma revisão do registro, como a lista de revisões a numera.
Screenrig-Review-Notecabeçalhoopcional

Nota opcional do proponente em uma escrita de classe revisão, enviada como UTF-8 codificado em porcentagem (o que encodeURIComponent do JavaScript escreve). O servidor decodifica a porcentagem (uma escape inválida é 400 invalid_request); a nota decodificada é texto simples, no máximo 280 caracteres após o corte, sem caracteres de controle (caso contrário 400 invalid_request).

Armazenado na revisão quando a gravação se torna uma; ignorado quando aplica ao vivo.

If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
202A escrita virou uma revisão sob Propor acesso e aguarda aprovação de uma pessoa (docs/reviews.md). Uma repetição com Idempotency-Key responde com o mesmo corpo.ReviewPending (application/json); headers: RateLimit-Policy, RateLimit
200Tela com a programação restaurada e sua effective_playlist. O ETag é a nova revisão.Tela (application/json); cabeçalhos: ETag, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/takeover

Definir takeover da tela

Assume o controle da tela com uma playlist que tem prioridade sobre as campanhas, a programação de playlists e a playlist atribuída, até until (RFC 3339, estritamente no futuro e no máximo 7 dias à frente) ou, quando until é null ou omitido, até o takeover ser removido. reason é opcional, com no máximo 120 caracteres.

A tela precisa ter um playlist_id padrão atribuído (senão invalid_request). Um takeover substitui um anterior (screen.takeover_ended com reason replaced, ou expired quando o anterior já tinha terminado).

A playlist é validada como uma atribuição, inclusive o formato (uma playlist com formato exige uma tela cujo videowall tenha o mesmo formato, senão 409 playlist_format_mismatch). Um takeover cuja playlist depois não pode ser exibida termina (screen.takeover_ended com reason playlist_deleted ou playlist_unavailable).

Registra screen.takeover_started e, quando a playlist efetiva muda, screen.playlist_switched, além do screen.manifest_changed do player. Quando until passa, o worker de limites encerra o takeover em até 60 segundos (screen.takeover_ended com reason expired). A revisão da tela é incrementada (If-Match a protege).

Uma tela arquivada responde screen_archived; desarquivar reavalia primeiro, então um takeover que terminou enquanto ela estava arquivada termina nesse momento. Valem os mesmos limites de taxa de controle de tela das rotas de agendamento. Em uma tela protegida, um takeover é uma revisão decidida por um segundo aprovador (202 pending_review) em todo nível de acesso.

Autenticação
projectBearer
Corpo da solicitação
ScreenTakeoverWrite
ID da operação
setScreenTakeover

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Screenrig-Review-Notecabeçalhoopcional

Nota opcional do proponente em uma escrita de classe revisão, enviada como UTF-8 codificado em porcentagem (o que encodeURIComponent do JavaScript escreve). O servidor decodifica a porcentagem (uma escape inválida é 400 invalid_request); a nota decodificada é texto simples, no máximo 280 caracteres após o corte, sem caracteres de controle (caso contrário 400 invalid_request).

Armazenado na revisão quando a gravação se torna uma; ignorado quando aplica ao vivo.

If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
playlist_id (obrigatório, string)minLength: 1
até (opcional, inline)Estritamente no futuro e no máximo 7 dias à frente. Nulo ou omitido mantém a tomada até ser liberada.
motivo (opcional, string)Nota do operador carregada na tomada e seus eventos. Sem caracteres de controle. maxLength: 120
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
202A escrita virou uma revisão sob Propor acesso e aguarda aprovação de uma pessoa (docs/reviews.md). Uma repetição com Idempotency-Key responde com o mesmo corpo.ReviewPending (application/json); headers: RateLimit-Policy, RateLimit
200Tela com o takeover e sua effective_playlist. O ETag é a nova revisão.Tela (application/json); cabeçalhos: ETag, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
EXCLUIR/api/screens/{id}/takeover

Limpar takeover da tela

Encerra a tomada de controle (screen.takeover_ended com motivo cleared); a programação, ou a playlist atribuída, torna-se efetiva com o mesmo sinal do manifesto. Uma tela sem tomada responde 200 inalterada (sem incremento de revisão, sem evento).

A substituição temporária de uma tela arquivada também é removida: ela permanece arquivada, seu Player não recebe nenhum sinal e, ao desarquivá-la, a playlist efetiva é determinada. Em uma tela protegida, remover uma substituição temporária exige revisão por uma segunda pessoa com autoridade de aprovação (202 pending_review), em qualquer nível de acesso.

Autenticação
projectBearer
Corpo da solicitação
nenhum
ID da operação
clearScreenTakeover

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Screenrig-Review-Notecabeçalhoopcional

Nota opcional do proponente em uma escrita de classe revisão, enviada como UTF-8 codificado em porcentagem (o que encodeURIComponent do JavaScript escreve). O servidor decodifica a porcentagem (uma escape inválida é 400 invalid_request); a nota decodificada é texto simples, no máximo 280 caracteres após o corte, sem caracteres de controle (caso contrário 400 invalid_request).

Armazenado na revisão quando a gravação se torna uma; ignorado quando aplica ao vivo.

If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/takeover'

Respostas

StatusSignificadoCorpo e cabeçalhos
202A escrita virou uma revisão sob Propor acesso e aguarda aprovação de uma pessoa (docs/reviews.md). Uma repetição com Idempotency-Key responde com o mesmo corpo.ReviewPending (application/json); headers: RateLimit-Policy, RateLimit
200Tela sem takeover.Tela (application/json); cabeçalhos: ETag, RateLimit-Policy, RateLimit
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/tab-shares

Iniciar compartilhamento de abas

Exibe abas do navegador em telas. Cria uma playlist temporária com uma página iframe de 1920x1080 ocupando toda a composição por aba e assume cada tela de destino (motivo “Shared browser tab”) até until, no máximo 24 horas à frente (o padrão).

Os destinos são a união de screen_ids, cada tela ativa em folder_ids e suas subpastas e cada tela ativa com qualquer uma de tags; telas offline são incluídas e exibem o compartilhamento ao retornar.

Um solicitante limitado a telas (docs/screen-scope.md) alcança apenas as telas do seu escopo: uma tela fora dele é ignorada (outside_screen_scope); o restante da solicitação segue as mesmas regras.

Uma aba permanece até o fim do compartilhamento; várias avançam após o duration_s de cada uma. reload_s recarrega cada página. qr adiciona um código QR do endereço no canto inferior direito, com cerca de 14% da altura da tela de composição. cookies contém o login do remetente nas páginas: são selados em repouso, nunca retornados por leituras, eventos, auditorias ou revisões e servidos apenas no manifesto de execução de uma tela que exibe o compartilhamento (o membro cookies do iframe); um Player que não pode defini-los os ignora, assim como o Player web e os invólucros que delegam a ele.

Um destino que não pode ser assumido (pasta protegida, sem playlist padrão, arquivado, não encontrado, formato incompatível, fora do escopo ou limitado) aparece em skipped sem causar falha na solicitação. Este compartilhamento substitui um anterior na tela; a playlist anterior é excluída quando nenhuma tela a exibe.

Se nenhum destino for assumido, a playlist temporária é excluída e a resposta é o problema do destino único ou 409 resource_conflict com os motivos. warnings lista endereços de abas que o backend não pôde incorporar (embedding_blocked: X-Frame-Options ou frame-ancestors recusa o aplicativo web Player), verificados uma vez por endereço com orçamento de 3 segundos; isso nunca bloqueia o compartilhamento.

Os limites de controle de telas aplicam-se por tela de destino (organização e tela), e o limite IP uma vez por solicitação. Cada chamada cria um compartilhamento; um Idempotency-Key não reproduz nada. A mudança é imediata: recusada com insufficient_access sob acesso Propose e, no canal do painel, com approver_required para membros que não podem aprovar revisões.

No canal do painel, usa-se o projeto atual da sessão (no_project quando não há nenhum). A solicitação pode vir do painel ou de uma extensão Chrome ou Firefox (chrome-extension://ID, moz-extension://UUID), com Sec-Fetch-Site ausente, same-origin ou none; um cabeçalho X-ScreenRig-CSRF presente deve corresponder a csrf_token de GET /api/session.

Somente esta rota, DELETE /api/tab-shares/{id}, POST /api/playlists/{id}/pages e POST /api/screens/{id}/screenshot aceitam uma origem de extensão.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
TabShareWrite
ID da operação
startTabShare

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.

Campos do corpo da solicitação

CampoDescrição
screen_ids (opcional, array)Telas por id. Duplicatas são unificadas.
folder_ids (opcional, array)Pastas de telas; cada uma inclui todas as subpastas.
tags (opcional, array)Uma tela com qualquer uma das tags.
tabs (obrigatório, array)
cookies (opcional, array)Cookies do remetente para as páginas, no máximo 64 KiB codificados. Secretos; veja POST /api/tab-shares.
reload_s (opcional, integer)0 (nunca, o padrão) ou de 60 a 86400: frequência de recarga do iframe de cada página.
until (opcional, string)Estritamente no futuro e no máximo 24 horas à frente; 24 horas a partir de agora quando omitido. Término do controle em cada destino e expiração da playlist temporária. format: "date-time"
qr (opcional, boolean)Quando true, cada página exibe um código QR do seu endereço no canto inferior direito. Padrão false.
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200O compartilhamento. Pelo menos uma tela foi assumida.TabShare (application/json); cabeçalhos: RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/tab-shares/{id}

Obter compartilhamento de abas

Lê um compartilhamento: seu término e as telas cuja playlist de controle ainda é a dele (telas assumidas depois por alguém ou arquivadas não aparecem). 404 not_found quando terminou, expirou ou nunca existiu. Um solicitante limitado a telas vê apenas as do seu escopo. Leituras não têm regra de origem de extensão.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getTabShare

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/tab-shares/RESOURCE_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200O compartilhamento e as telas que ainda o exibem.TabShareState (application/json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
EXCLUIR/api/tab-shares/{id}

Parar compartilhamento de abas

Encerra um compartilhamento: libera o controle de cada tela cuja playlist ainda pertence a ele (screen.takeover_ended com motivo cleared; a programação ou, na ausência dela, a playlist atribuída entra em vigor com a mesma sinalização de manifesto) e exclui a playlist. Permitido em telas de pastas protegidas.

Uma tela assumida depois por outra pessoa não é alterada. 404 not_found se o compartilhamento já terminou; o cliente o considera encerrado. Cada solicitação consome uma unidade de cada limite de controle de tela. Um solicitante limitado a telas libera apenas as do seu escopo. Os canais, regras de acesso e regras de origem de extensão são os de POST /api/tab-shares.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
stopTabShare

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/tab-shares/RESOURCE_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200As telas cujo controle foi liberado.TabShareStopped (application/json); cabeçalhos: RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/play-page

Reproduzir Página da tela

Pede ao Player da tela para iniciar uma página da playlist que está tocando agora, para que uma captura de tela feita a seguir mostre essa página sem esperar a rotação (docs/player-compatibility.md §6.3.1).

A página precisa ser uma página da playlist efetiva da tela, aquela a partir da qual o manifesto dela é construído: um takeover ativo, senão uma campanha vigente, senão a entrada atual da programação de playlists, senão a playlist atribuída. Caso contrário, 409 page_not_on_screen, cujo detail nomeia essa playlist.

A dica do host da tela deve declarar a capacidade play_page, caso contrário 409 play_page_unsupported e nada é enviado; atualize o Player. A tela deve estar ativa; uma tela arquivada responde screen_archived e uma pairing_pending responde resource_conflict.

Anexa o comando de tempo de execução por tela player.play_page (detalhes page_id, playlist_id, manifest_revision, expires_at sessenta segundos depois; nunca entregue após expires_at). O Player inicia a página do começo como se a rotação a tivesse alcançado e continua a rotação dali. A revisão da tela não muda.

A Idempotency-Key é obrigatória, como para toast; uma nova tentativa exata retorna o corpo original por vinte e quatro horas. Uma requisição recusada, uma com falha e uma repetição exata não gastam orçamento de limite de taxa. As mensagens de tela estão isentas do medidor de API de 1 crédito. Uma tela em uma pasta de telas protegida é protected_target (409).

Autenticação
projectBearer
Corpo da solicitação
ScreenPlayPageWrite
ID da operação
playScreenPage

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Idempotency-Keycabeçalhoobrigatório

Campos do corpo da solicitação

CampoDescrição
page_id (obrigatório, string)O id de uma página da playlist que a tela está exibindo agora (um id nas páginas daquela playlist). minLength: 1 maxLength: 128
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
202Aceito. O comando é acionável até expires_at. Uma nova tentativa idempotente exata retorna este mesmo corpo.ScreenPlayPageAccepted (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

protected_target quando a tela está em uma pasta de telas protegida (docs/screen-scope.md; remova a proteção da pasta por meio de uma revisão, faça a alteração e proteja-a de novo), ou os outros conflitos da operação.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/identify

Identificar tela

Pede ao Player da tela que mostre o nome da tela sobre o conteúdo por duration_ms (2000 a 600000, padrão 60000), para que uma pessoa diante de vários displays consiga identificar qual deles corresponde a um registro (docs/player-compatibility.md §6.3.2).

Acrescenta o comando de runtime por tela player.identify (details identify_id, label, screen_id, duration_ms, at, expires_at sessenta segundos depois de at; nunca entregue após expires_at).

O Player desenha uma sobreposição em tela cheia sobre o conteúdo, com o nome bem grande e o id da tela pequeno abaixo dele, por duration_ms a partir do recebimento; a reprodução continua por baixo e uma identificação mais recente substitui a sobreposição.

A dica de host da tela deve declarar a capacidade identify, senão 409 identify_unsupported e nada é enviado; atualize o Player ou mostre o nome com um toast. A tela deve estar ativa; uma tela arquivada responde screen_archived e uma pairing_pending responde resource_conflict. A revisão da tela não muda.

O corpo e a Idempotency-Key são opcionais; uma nova tentativa exata retorna o corpo original por vinte e quatro horas. Uma solicitação recusada, uma que falhou e uma repetição exata não gastam nada do limite de taxa. As mensagens de tela estão isentas do medidor de API de 1 crédito.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
ScreenIdentifyWrite
ID da operação
identifyScreen

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
duration_ms (opcional, inteiro)Por quanto tempo a sobreposição permanece na tela, em milissegundos a partir do recebimento pelo Player. Valores omitidos assumem 60000. padrão: 60000 mínimo: 2000 máximo: 600000
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
202Aceito. O comando é acionável até expires_at. Uma nova tentativa idempotente exata retorna este mesmo corpo.ScreenIdentifyAccepted (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/suspend

Suspender tela

Suspende a tela: o Player mostra message no lugar do conteúdo (docs/player-compatibility.md §6.9). A mensagem tem de 1 a 280 caracteres após aparar; o avanço de linha é o único caractere de controle aceito.

Nada mais muda: a playlist, a programação, o takeover, o controle de exibição e toda outra configuração permanecem e continuam evoluindo, e retomar mostra o que a tela estaria mostrando agora. Screen.suspension traz message e since. Suspender uma tela já suspensa substitui a mensagem e mantém since.

O manifesto de runtime de uma tela suspensa tem pages [] e um membro suspension, e uma revisão de manifesto própria, com ou sem playlist atribuída; o Player é instruído a buscá-lo novamente de imediato. Acrescenta o screen.suspended exclusivo do projeto (details message). Uma tela arquivada responde screen_archived. If-Match e Idempotency-Key são opcionais, como no arquivamento.

Uma tela em uma pasta de telas protegida é protected_target (409).

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
ScreenSuspendWrite
ID da operação
suspendScreen

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
message (obrigatório, texto)O aviso que a tela mostra, de 1 a 280 caracteres após aparar. O avanço de linha é o único caractere de controle aceito; um Player quebra o texto automaticamente e mantém os avanços de linha. minLength: 1 maxLength: 280
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Tela suspensa. O ETag é a nova revisão da tela.Tela (application/json); cabeçalhos: ETag
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

protected_target quando a tela está em uma pasta de telas protegida (docs/screen-scope.md; remova a proteção da pasta por meio de uma revisão, faça a alteração e proteja-a de novo), ou os outros conflitos da operação.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/resume

Retomar tela

Encerra a suspensão da tela: o Player volta a mostrar o conteúdo próprio da tela, a partir do manifesto que a tela receberia agora (docs/player-compatibility.md §6.9). O Player é instruído a buscar novamente de imediato. Acrescenta o screen.resumed exclusivo do projeto. Retomar uma tela que não está suspensa responde 200 com a tela inalterada: sem aumento de revisão e sem evento.

Uma tela arquivada responde screen_archived. Sem corpo. If-Match e Idempotency-Key são opcionais, como no arquivamento.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
resumeScreen

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/resume'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Tela retomada, ou que não estava suspensa. O ETag é a revisão da tela.Tela (application/json); cabeçalhos: ETag
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/reboot

Reiniciar tela

Pede ao Player da tela que reinicie o dispositivo (docs/player-compatibility.md §6.5). O corpo opcional define expires_in_s, por quanto tempo o reinício pode ser executado (60 a 86400 segundos, padrão 86400, 24 horas); um valor fora do intervalo é invalid_request indicando expires_in_s. Sempre acrescenta o screen.reboot_requested exclusivo do projeto.

Uma tela online recebe de imediato o comando de runtime por tela player.reboot (details reboot_id, reason project, at, expires_at; nunca entregue após expires_at) e o reinício é registrado em Screen.commands como sent.

Uma tela offline mantém o reinício como queued sem evento; quando o backend aplica a próxima transição online da tela antes de expires_at, o evento é acrescentado, com os mesmos reboot_id e expires_at, e o comando passa a sent. Um reinício sent passa a done quando um relatório de saúde com uptime_s situa a inicialização depois do envio.

Um reinício mais recente substitui um mais antigo ainda na fila. Um reinício na fila após expires_at aparece como expired, e POST /api/screens/{id}/commands/{command_id}/cancel cancela um que ainda está na fila. A tela deve estar ativa; uma tela arquivada responde screen_archived e uma pairing_pending responde resource_conflict.

A dica de host da tela deve declarar a capacidade reboot, senão 409 reboot_unsupported e nada é registrado. A revisão da tela não muda. If-Match e Idempotency-Key são opcionais; uma nova tentativa exata retorna o mesmo corpo por vinte e quatro horas.

No máximo 2 por tela a cada 10 minutos; uma solicitação recusada (reboot_unsupported, not_found, um conflito), uma que falhou e uma repetição exata com Idempotency-Key não consomem nada.

Desde o momento em que o reinício é enviado até que um relatório de saúde prove que foi concluído ou passem dez minutos, a tela não gera aviso nem alerta screen_offline, display_disconnected ou crashing; uma condição que ainda se mantém então abre normalmente. A programação de reinício (PUT /api/screens/{id}/reboot-schedule) emite o mesmo reinício com source schedule.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
ScreenCommandWrite
ID da operação
rebootScreen

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
expires_in_s (opcional, inteiro)Por quanto tempo o comando pode ser executado, em segundos a partir da solicitação. Um comando na fila é enviado somente antes de expirar; um Player ignora um depois de expires_at. padrão: 86400 mínimo: 60 máximo: 86400
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
202

Aceito. state é sent quando o reinício foi para o Player da tela online, queued quando espera que a tela fique online. O reinício pode ser executado até expires_at. O ETag é a revisão da tela, inalterada.

ScreenRebootAccepted (application/json); cabeçalhos: Cache-Control, ETag, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/clear-cache

Limpar cache da tela

Pede ao Player da tela que limpe seus caches (docs/player-compatibility.md §6.5.1). O Player exclui suas mídias baixadas, pacotes de aplicativo e caches de dados, mantém seu pareamento, identidade e configurações, e depois busca o manifesto e o conteúdo novamente.

O corpo opcional define expires_in_s, por quanto tempo o comando permanece acionável (60 a 86400 segundos, padrão 86400, 24 horas); um valor fora do intervalo é invalid_request que nomeia expires_in_s. Sempre acrescenta o screen.command_requested, exclusivo do projeto.

Uma tela online recebe de imediato o comando de runtime por tela player.clear_cache (detalhes command_id, command, reason project, at, expires_at; nunca entregue após expires_at) e o comando é registrado em Screen.commands como sent.

Uma tela offline mantém o comando como queued sem evento; quando o backend aplica a próxima transição online da tela antes de expires_at, o evento é acrescentado, com o mesmo command_id e expires_at, e o comando passa a sent.

O Player reporta como terminou: o comando passa a done ou failed em Screen.commands com a causa que o Player reportou (cause, detail), e o screen.command_result, exclusivo do projeto, é acrescentado. Um comando sent sem relatório permanece sent.

Um comando mais novo do mesmo tipo substitui um ainda na fila, e POST /api/screens/{id}/commands/{command_id}/cancel cancela um ainda na fila. A tela precisa estar ativa; uma tela arquivada responde screen_archived e uma pairing_pending responde resource_conflict.

A dica de host da tela deve declarar a capacidade clear_cache; caso contrário, 409 command_unsupported e nada é registrado. A revisão da tela não muda. If-Match e Idempotency-Key são opcionais; uma nova tentativa exata retorna o mesmo corpo por vinte e quatro horas.

No máximo 2 por tela a cada 10 minutos somando clear-cache, restart-app e update; um pedido recusado (command_unsupported, not_found, um conflito), um que falhou e uma repetição exata com Idempotency-Key não consomem nada.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
ScreenCommandWrite
ID da operação
clearScreenCache

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
expires_in_s (opcional, inteiro)Por quanto tempo o comando pode ser executado, em segundos a partir da solicitação. Um comando na fila é enviado somente antes de expirar; um Player ignora um depois de expires_at. padrão: 86400 mínimo: 60 máximo: 86400
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
202

Aceito. state é sent quando o comando foi para o Player da tela online, queued quando aguarda a tela ficar online. O comando é acionável até expires_at. O ETag é a revisão inalterada da tela.

ScreenMaintenanceAccepted (application/json); cabeçalhos: Cache-Control, ETag, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/restart-app

Reiniciar app da tela

Pede ao Player da tela que reinicie seu aplicativo, não o dispositivo (docs/player-compatibility.md §6.5.1). O processo do Player reinicia e reporta a partir do novo processo. O corpo opcional define expires_in_s, por quanto tempo o comando permanece acionável (60 a 86400 segundos, padrão 86400, 24 horas); um valor fora do intervalo é invalid_request que nomeia expires_in_s.

Sempre acrescenta o screen.command_requested, exclusivo do projeto. Uma tela online recebe de imediato o comando de runtime por tela player.restart_app (detalhes command_id, command, reason project, at, expires_at; nunca entregue após expires_at) e o comando é registrado em Screen.commands como sent.

Uma tela offline mantém o comando como queued sem evento; quando o backend aplica a próxima transição online da tela antes de expires_at, o evento é acrescentado, com o mesmo command_id e expires_at, e o comando passa a sent.

O Player reporta como terminou: o comando passa a done ou failed em Screen.commands com a causa que o Player reportou (cause, detail), e o screen.command_result, exclusivo do projeto, é acrescentado. Um comando sent sem relatório permanece sent.

Um comando mais novo do mesmo tipo substitui um ainda na fila, e POST /api/screens/{id}/commands/{command_id}/cancel cancela um ainda na fila. A tela precisa estar ativa; uma tela arquivada responde screen_archived e uma pairing_pending responde resource_conflict.

A dica de host da tela deve declarar a capacidade restart_app; caso contrário, 409 command_unsupported e nada é registrado. A revisão da tela não muda. If-Match e Idempotency-Key são opcionais; uma nova tentativa exata retorna o mesmo corpo por vinte e quatro horas.

No máximo 2 por tela a cada 10 minutos somando clear-cache, restart-app e update; um pedido recusado (command_unsupported, not_found, um conflito), um que falhou e uma repetição exata com Idempotency-Key não consomem nada.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
ScreenCommandWrite
ID da operação
restartScreenApp

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
expires_in_s (opcional, inteiro)Por quanto tempo o comando pode ser executado, em segundos a partir da solicitação. Um comando na fila é enviado somente antes de expirar; um Player ignora um depois de expires_at. padrão: 86400 mínimo: 60 máximo: 86400
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
202

Aceito. state é sent quando o comando foi para o Player da tela online, queued quando aguarda a tela ficar online. O comando é acionável até expires_at. O ETag é a revisão inalterada da tela.

ScreenMaintenanceAccepted (application/json); cabeçalhos: Cache-Control, ETag, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/update

Atualizar Player da tela

Pede ao Player da tela que verifique agora a versão mais recente do Player e a instale (docs/player- compatibility.md §6.5.1). A causa do resultado é up_to_date quando a versão mais recente já está em execução e updated quando uma versão foi instalada; uma instalação gerenciada pela loja ou pelo gerenciador de dispositivos não declara capacidade de atualização.

O corpo opcional define expires_in_s, por quanto tempo o comando permanece acionável (60 a 86400 segundos, padrão 86400, 24 horas); um valor fora do intervalo é invalid_request que nomeia expires_in_s. Sempre acrescenta o screen.command_requested, exclusivo do projeto.

Uma tela online recebe de imediato o comando de runtime por tela player.update (detalhes command_id, command, reason project, at, expires_at; nunca entregue após expires_at) e o comando é registrado em Screen.commands como sent.

Uma tela offline mantém o comando como queued sem evento; quando o backend aplica a próxima transição online da tela antes de expires_at, o evento é acrescentado, com o mesmo command_id e expires_at, e o comando passa a sent.

O Player reporta como terminou: o comando passa a done ou failed em Screen.commands com a causa que o Player reportou (cause, detail), e o screen.command_result, exclusivo do projeto, é acrescentado. Um comando sent sem relatório permanece sent.

Um comando mais novo do mesmo tipo substitui um ainda na fila, e POST /api/screens/{id}/commands/{command_id}/cancel cancela um ainda na fila. A tela precisa estar ativa; uma tela arquivada responde screen_archived e uma pairing_pending responde resource_conflict.

A dica de host da tela deve declarar a capacidade update; caso contrário, 409 command_unsupported e nada é registrado. A revisão da tela não muda. If-Match e Idempotency-Key são opcionais; uma nova tentativa exata retorna o mesmo corpo por vinte e quatro horas.

No máximo 2 por tela a cada 10 minutos somando clear-cache, restart-app e update; um pedido recusado (command_unsupported, not_found, um conflito), um que falhou e uma repetição exata com Idempotency-Key não consomem nada.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
ScreenCommandWrite
ID da operação
updateScreenPlayer

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
expires_in_s (opcional, inteiro)Por quanto tempo o comando pode ser executado, em segundos a partir da solicitação. Um comando na fila é enviado somente antes de expirar; um Player ignora um depois de expires_at. padrão: 86400 mínimo: 60 máximo: 86400
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
202

Aceito. state é sent quando o comando foi para o Player da tela online, queued quando aguarda a tela ficar online. O comando é acionável até expires_at. O ETag é a revisão inalterada da tela.

ScreenMaintenanceAccepted (application/json); cabeçalhos: Cache-Control, ETag, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screens/{id}/commands

Listar comandos da tela

Lista todas as reinicializações e recarregamentos pedidos a uma tela ativa ou arquivada, do mais novo ao mais antigo: os comandos que Screen.commands guarda (os 10 mais novos) e todos os mais antigos, com o estado que cada um atingiu. Um comando na fila após expires_at aparece como expired. Um comando que ainda estava na fila quando o dispositivo da tela foi substituído aparece como cancelled.

Cancele um comando ainda na fila com POST /api/screens/{id}/commands/{command_id}/cancel.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
listScreenCommands

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
cursorconsultaopcionalO next_cursor da página anterior.
limiteconsultaopcional
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/commands'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Uma página dos comandos da tela.ScreenCommandPage (application/json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/commands/{command_id}/cancel

Cancelar comando da tela

Cancela um reinício ou recarregamento que ainda está na fila para a tela, de modo que nunca seja enviado (docs/player-compatibility.md §6.3, §6.5). command_id é um id em Screen.commands, ou o reboot_id ou reload_id da resposta 202. Somente um comando cujo state é queued pode ser cancelado; ele passa a cancelled.

Um comando já enviado (sent, done) responde 409 resource_conflict "The command was already sent."; um que não está mais na fila (expired, cancelled, superseded) responde 409 resource_conflict "The command is no longer queued."; um id que a tela não lista responde 404 not_found. A lista da tela mantém seus 10 comandos mais recentes.

A revisão da tela não muda. If-Match e Idempotency-Key são opcionais; uma nova tentativa exata retorna a mesma tela por vinte e quatro horas.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
cancelScreenCommand

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
command_idcaminhoobrigatórioO id de um dos comandos da tela: o id em Screen.commands, o reboot_id ou reload_id da resposta 202.
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200A tela, com o comando cancelado. O ETag é a revisão da tela, inalterada.Tela (application/json); cabeçalhos: ETag
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/display

Definir exibição da tela

Solicita ligar ou desligar a exibição agora: uma substituição manual da programação da exibição (docs/player-compatibility.md §6.5). power é ligado ou desligado. until (RFC 3339, estritamente futuro, no máximo 7 dias à frente) encerra; sem until, termina no próximo limite da programação quando ativada, caso contrário permanece até ser substituído.

Armazena a substituição (Screen.display.override), reemite o manifesto (seu membro display carrega a substituição para que um Player offline a mantenha), adiciona o comando runtime player.display (detalhes override_id, power, until, at, expires_at) e o screen.display_changed exclusivo do projeto, e incrementa a revisão da tela (If-Match protege). A tela deve estar ativa.

O que o Player realizou é reportado de volta em seu status de saúde display.power (Screen.display.reported). O sucesso salva a intenção sem esperar um relatório; Screen.display.override_status compara as observações seguintes e Screen.display.control nomeia o método de controle anunciado.

Um Player somente com véu remove sua sobreposição em uma solicitação de ligar, sem um comando de ativação de hardware.

Sem until e sem um limite de programação dentro dos próximos oito dias (nenhuma programação ativada, ou nenhuma que mude), a substituição mantém-se até DELETE /api/screens/{id}/display ou um substituto; um PUT ou DELETE posterior de display-schedule, ou uma mudança de fuso horário, redefine uma substituição sem until para o novo limite seguinte.

Uma requisição recusada ou com falha, e uma repetição exata da Idempotency-Key, não gastam orçamento. Uma tela em uma pasta de telas protegida é protected_target (409).

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
ScreenDisplayWrite
ID da operação
setScreenDisplay

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
energia (obrigatório, string)Permitido: "on", "off"
até (opcional, inline)Estritamente futuro, no máximo 7 dias à frente. Omitido ou nulo: até o próximo limite da programação do monitor, ou até ser substituído.
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Tela com seu estado de display.Tela (application/json); cabeçalhos: ETag, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

protected_target quando a tela está em uma pasta de telas protegida (docs/screen-scope.md; remova a proteção da pasta por meio de uma revisão, faça a alteração e proteja-a de novo), ou os outros conflitos da operação.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
EXCLUIR/api/screens/{id}/display

Limpar exibição da tela

Encerra a substituição manual de exibição para que a programação de exibição (ou outra configuração) volte a valer. Recria o manifesto (seu membro display remove a substituição; o Player segue screen.manifest_changed), adiciona screen.display_changed com a alteração override_cleared e incrementa a revisão. Uma tela sem substituição ativa responde 200 inalterada.

Uma tela em uma pasta de telas protegida é protected_target (409).

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
clearScreenDisplay

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/display'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Tela com seu estado de display.Tela (application/json); cabeçalhos: ETag, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

protected_target quando a tela está em uma pasta de telas protegida (docs/screen-scope.md; remova a proteção da pasta por meio de uma revisão, faça a alteração e proteja-a de novo), ou os outros conflitos da operação.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screens/{id}/display-schedule

Obter programação de exibição da tela

Retorna display_schedule (nulo quando não houver) e o estado de exibição da tela. O ETag é a revisão da tela.

Autenticação
projectBearer
Corpo da solicitação
nenhum
ID da operação
getScreenDisplaySchedule

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/display-schedule'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Cronograma de exibição.ScreenDisplayScheduleView (application/json); cabeçalhos: ETag
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
PUT/api/screens/{id}/display-schedule

Definir programação de exibição da tela

Substitui a programação de exibição: habilitado e de 1 a 16 janelas screenrig.schedule/v1 (dias, início/fim HH:MM, fim <= início cruza meia-noite pertencente ao dia de início, dia inteiro sem bordas) quando a exibição está LIGADA; fora de todas as janelas, o Player coloca a exibição em espera.

Avaliado no dispositivo no fuso horário da tela (obrigatório, invalid_request caso contrário), para que continue funcionando offline: o membro display do manifesto o carrega. enabled false mantém as janelas e deixa a exibição ligada. Recria o manifesto, adiciona screen.display_changed, incrementa a revisão (If-Match o protege). A tela deve estar pairing_pending ou ativa.

Uma tela ainda sem manifesto (nunca gerado, ou sem playlist) armazena o agendamento e o seu primeiro manifesto o contém; uma tela sem playlist o aplica quando uma playlist é atribuída. Uma substituição sem until é limitada de novo ao próximo limite do novo agendamento. Uma tela em uma pasta de telas protegida é protected_target (409).

Autenticação
projectBearer
Corpo da solicitação
ScreenDisplayScheduleWrite
ID da operação
setScreenDisplaySchedule

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
habilitado (obrigatório, boolean)
windows (obrigatório, array)NO no Windows.
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Tela com seu estado de display.Tela (application/json); cabeçalhos: ETag, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

protected_target quando a tela está em uma pasta de telas protegida (docs/screen-scope.md; remova a proteção da pasta por meio de uma revisão, faça a alteração e proteja-a de novo), ou os outros conflitos da operação.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
EXCLUIR/api/screens/{id}/display-schedule

Limpar programação de exibição da tela

Remove o agendamento do display (o display continua ligado, a menos que haja uma substituição). Limpar quando não há agendamento responde 200 inalterado. Uma tela em uma pasta de telas protegida é protected_target (409).

Autenticação
projectBearer
Corpo da solicitação
nenhum
ID da operação
clearScreenDisplaySchedule

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/display-schedule'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Tela com seu estado de display.Tela (application/json); cabeçalhos: ETag, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

protected_target quando a tela está em uma pasta de telas protegida (docs/screen-scope.md; remova a proteção da pasta por meio de uma revisão, faça a alteração e proteja-a de novo), ou os outros conflitos da operação.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403outside_screen_scope como em OutsideScreenScope, ou approver_required - um membro limitado a telas que não pode aprovar revisões não altera o que uma tela reproduz nem quando (docs/screen-scope.md).Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screens/{id}/reboot-schedule

Obter programação de reinício da tela

Retorna reboot_schedule (null quando não há) e next_reboot_at, o início da próxima janela em que o backend reinicia a tela (null quando não há). O ETag é a revisão da tela.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getScreenRebootSchedule

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/reboot-schedule'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Programação de reinício.ScreenRebootScheduleView (application/json); cabeçalhos: ETag
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
PUT/api/screens/{id}/reboot-schedule

Definir programação de reinício da tela

Substitui a programação de reinício: enabled e de 1 a 16 janelas screenrig.schedule/v1 (days, start/end HH:MM, end <= start cruza a meia-noite pertencendo ao dia de início, dia inteiro sem limites), cada uma de 5 minutos a 24 horas.

No início de cada janela no fuso horário da tela (obrigatório, invalid_request caso contrário) o backend emite o mesmo reinício que POST /api/screens/{id}/reboot, com source schedule em Screen.commands, screen.reboot_requested e os detalhes de player.reboot.

Um início dentro de uma lacuna de adiantamento do relógio dispara no primeiro minuto válido da janela; uma janela sem minuto válido nesse dia, por estar inteiramente dentro da lacuna, é ignorada com screen.reboot_skipped reason window_missed (next_reboot_at mostra o minuto em que a lacuna termina). Uma repetição de recuo do relógio dispara uma vez por janela por data local.

Uma tela online recebe o reinício na hora; uma offline o mantém na fila apenas até o fim da sua janela (expires_at), de modo que um reinício tardio nunca cai fora dela. Uma ocorrência nunca substitui um reinício pedido por uma pessoa que ainda espera pela tela: ela é ignorada com screen.reboot_skipped reason reboot_pending.

Uma mudança de fuso horário cancela os reinícios programados que ainda esperam e move next_reboot_at para o novo fuso.

Um reinício, programado ou pedido, não gera os alertas screen_offline, display_disconnected ou crashing por dez minutos depois de enviado, e um aviso de um deles que vence nesse intervalo espera até o fim do período mais seu tempo de espera (um aviso crashing é ignorado como planned_reboot). enabled false mantém as janelas e não reinicia nada.

Janelas de tempo que não deixam intervalo, de modo que nenhum início se segue, são invalid_request. A dica de host da tela deve declarar a capacidade reboot, senão 409 reboot_unsupported e nada é armazenado; uma tela que a perde depois ignora cada janela com screen.reboot_skipped e mantém sua programação.

Acrescenta screen.reboot_schedule_changed, aumenta a revisão (If-Match a protege) e nunca renova o manifesto. A tela deve estar ativa.

Autenticação
projectBearer
Corpo da solicitação
ScreenRebootScheduleWrite
ID da operação
setScreenRebootSchedule

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
habilitado (obrigatório, boolean)
windows (obrigatório, array)Janelas de reinício: o backend reinicia a tela no início de cada uma, no fuso horário da tela. Cada uma dura de 5 minutos a 24 horas.
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Tela com sua programação de reinício e next_reboot_at.Tela (application/json); cabeçalhos: ETag, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
402feature_not_in_plan — Os reinícios programados fazem parte do Plus; enabled true o exige, enabled false e DELETE não. O problema nomeia o recurso, o plano do projeto e required_plan.Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
EXCLUIR/api/screens/{id}/reboot-schedule

Limpar programação de reinício da tela

Remove a programação de reinício e next_reboot_at; um reinício já emitido não é cancelado (POST /api/screens/{id}/commands/{command_id}/cancel cancela um ainda na fila). Limpar quando não há nenhuma responde 200 sem alteração.

Autenticação
projectBearer
Corpo da solicitação
nenhum
ID da operação
clearScreenRebootSchedule

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://screenrig.ai/api/screens/RESOURCE_ID/reboot-schedule'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Tela sem programação de reinício.Tela (application/json); cabeçalhos: ETag, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/toast

Toast pós-tela

Publica um toast transitório de chrome de palco para a tela nomeada. Um toast não é um primitivo: não ocupa um slot de tela, não tem camada e nunca participa de prontidão ou crossfade. O tipo de evento durável é screen.toast na corrente SSE de runtime existente. A varredura de runtime nunca entrega um toast após expires_at, então um cursor persistido não pode reproduzi-lo depois.

As cores do nível são a moldura do player e não são campos da API. O texto tem de 1 a 120 caracteres, a quebra de linha aceita é apenas o avanço de linha, e no máximo três linhas são aceitas; um Player mostra um toast em uma linha, um avanço de linha como espaço.

Material reconhecível de credenciais ScreenRig e outros caracteres de controle são rejeitados. duration_ms padrão é 60000 e deve estar entre 2000 e 60000 inclusive. Uma nova tentativa com Idempotency-Key exata retorna o expires_at original por vinte e quatro horas. Última vence: não há fila nem verbo cancel. Mensagens de tela são isentas do medidor API de 1 crédito.

Uma tela em uma pasta de telas protegida é protected_target (409).

Autenticação
projectBearer
Corpo da solicitação
ScreenToastWrite
ID da operação
postScreenToast

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Idempotency-Keycabeçalhoobrigatório

Campos do corpo da solicitação

CampoDescrição
nível (obrigatório, string)Token de severidade fechado. O chrome do Player escolhe o preenchimento; a API nunca carrega uma cor. Permitidos: "error", "alert", "info"
texto (obrigatório, string)

1 a 120 caracteres. Quebra de linha é o único tipo aceito. No máximo três linhas; um Player mostra o toast em uma linha, um avanço de linha como espaço. Outros caracteres de controle e material reconhecível de credenciais ScreenRig são rejeitados. minLength: 1 maxLength: 120

duration_ms (opcional, inteiro)Duração visível em milissegundos. Valores omitidos padrão para 60000. padrão: 60000 mínimo: 2000 máximo: 60000
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
202Aceito. O toast é durável até expires_at. Uma nova tentativa idempotente exata retorna esta mesma validade.ScreenToastAccepted (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

protected_target quando a tela está em uma pasta de telas protegida (docs/screen-scope.md; remova a proteção da pasta por meio de uma revisão, faça a alteração e proteja-a de novo), ou os outros conflitos da operação.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/storage-forecast

Previsão de armazenamento da tela

Execução seca de ajuste pré-atribuição: responde se uma playlist caberia na tela nomeada antes de ser atribuída, com a mesma seleção de alvo que Screen.storage_forecast (a última capacidade reportada da tela, apenas plano A.3, sem previsão de transição, nada tratado como local).

Não grava nada: nenhuma atribuição, nenhuma revisão de tela, nenhum evento, e o modelo de leitura storage_forecast da tela permanece intacto. O bearer do projeto é autoritário; uma tela ou playlist de outro projeto é not_found. fit é desconhecido quando a tela não tem relatório de armazenamento, ou quando as referências de conteúdo da playlist não estão prontas, e ambas as contagens de bytes são nulas então.

Uma playlist_revision opcional recusa uma playlist que mudou desde que o chamador a leu com revision_conflict. Um relatório com mais de 24 horas é obsoleto, mas ainda é previsto, exatamente como Screen.storage_forecast.

Autenticação
projectBearer
Corpo da solicitação
ScreenStorageForecastRequest
ID da operação
forecastScreenStorage

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório

Campos do corpo da solicitação

CampoDescrição
playlist_id (obrigatório, string)minLength: 1
playlist_revision (opcional, inteiro)Revisão opcional esperada da playlist. Uma revisão armazenada diferente é revision_conflict e nenhuma previsão é retornada. mínimo: 1
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Previsão de simulação. fit unknown significa que não há dados para previsão; as contagens de bytes e received_at são nulas.ScreenStorageForecastDryRun (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412revision_conflict — playlist_revision não é a revisão atual da playlist; nenhuma previsão é retornada.Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screens/{id}/campaigns

Explicar campanhas da tela

Por que cada campanha do projeto é ou não reproduzida nesta tela, em ordem de precedência, com a playlist efetiva da tela. items e effective_playlist são o estado atual da tela.

Com at (e opcionalmente to), at é o mesmo resolvedor que a varredura de limites executa, consultado sobre esse instante, com um veredito para o takeover, cada campanha e cada entrada da programação (won, outranked, not_started, ended, outside_hours, off), a playlist nesse instante e o que a resposta não julga.

Com to também, at.timeline lista os trechos entre at e to em que a playlist não muda. A programação, o takeover e as campanhas são lidos como estão agora.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
explainScreenCampaigns

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
emconsultaopcional

O instante a explicar, em RFC 3339 com fuso (2026-03-08T09:30:00Z ou 2026-03-08T01:30:00-08:00) ou um horário no relógio da própria tela (2026-03-08T09:30, com segundos opcionais). Um horário que o horário de verão pula ou repete é recusado com invalid_request nomeando at, e um repetido nomeia os dois instantes para escolher.

Padrão: agora, quando só to é informado.

atéconsultaopcional

Fim da linha do tempo das trocas que começa em at, nas mesmas duas formas de at. Posterior a at, sem limite de distância; uma resposta lista no máximo 500 trechos, e oito dias sem mudança contam como um; timeline_truncated indica que parou antes de chegar a to.

Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/campaigns'

Respostas

StatusSignificadoCorpo e cabeçalhos
200A situação de cada campanha na tela.ScreenCampaigns (application/json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screens/{id}/screenshot

Obter screenshot da tela

Retorna o WebP pronto atual para a tela nomeada. O capture_id opcional deve corresponder a esse slot pronto. Um capture_id nomeado que expirou sem upload é screenshot_unavailable. Um capture_id nomeado substituído por uma solicitação posterior é resource_conflict. Os bytes da imagem nunca são uma URL assinada ou chave de objeto. Range não é aceito.

Mensagens da tela estão isentas do medidor de API de 1 crédito. O ETag é o SHA-256 forte do WebP armazenado. Uma resposta de sessão do dashboard é privada, no-cache, e um If-None-Match do dashboard que corresponde à imagem atual, verificado após a resolução da tela e captura no projeto da sessão, retorna 304 sem abrir os bytes armazenados.

Uma resposta bearer de projeto permanece privada, no-store.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getScreenScreenshot

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
capture_idconsultaopcional
If-None-MatchcabeçalhoopcionalETag forte de screenshot retornado por esta rota. Respeitado para sessão do dashboard.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/screenshot'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Imagem pronta atual ainda em WebP.string (image/webp); cabeçalhos: Content-Type, Content-Length, ETag, X-ScreenRig-Capture-ID, X-ScreenRig-Captured-At, Cache-Control, Content-Disposition
304

Somente sessão do Dashboard. O ETag da imagem atual corresponde ao If-None-Match. Nenhum corpo é produzido e o armazenamento de objetos não é lido. Os cabeçalhos de captura nomeiam a captura atual, que pode diferir da resposta armazenada quando uma captura posterior codificada para os mesmos bytes.

sem corpo; cabeçalhos: ETag, Cache-Control, X-ScreenRig-Capture-ID, X-ScreenRig-Captured-At
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/screenshot

Solicitar screenshot da tela

Solicita uma captura de tela estática da tela ativa nomeada. Último vence: uma nova solicitação substitui qualquer capture_id em andamento e não gera 409. O slot pronto atual é mantido até que um upload posterior seja bem-sucedido. capture_id é um prefixo opcional de ambiente, depois shot_ e um sufixo aleatório. expires_at é trinta segundos após a aceitação.

O tipo de evento durável é screen.screenshot_requested no fluxo SSE de tempo de execução existente; a varredura de tempo de execução nunca o entrega após expires_at. Os detalhes do evento incluem capture_id, expires_at, max_width_divisor 2, max_height_divisor 2, formato image/webp, qualidade 80 e max_bytes 2097152. Os bytes da imagem nunca aparecem no SSE.

O crédito pré-pago restante não é um bloqueio, e este caminho de mensagem de tela está isento do medidor de API de 1 crédito. Uma nova tentativa com Idempotency-Key exata retorna o capture_id original e expires_at por vinte e quatro horas.

No canal do painel, a solicitação pode vir de uma extensão Chrome ou Firefox como POST /api/tab-shares, para confirmar uma aba compartilhada (GET /api/screens/{id}/screenshot/status e GET /api/screens/{id}/screenshot não exigem regra de origem).

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
requestScreenScreenshot

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Idempotency-Keycabeçalhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
202Aceito. A solicitação é durável até expires_at. Uma nova tentativa idempotente exata retorna este mesmo capture_id e validade.ScreenScreenshotAccepted (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screens/{id}/screenshot/status

Obter status do screenshot da tela

Retorna a máquina de estados do screenshot para a tela nomeada quando existe para este projeto. idle não tem solicitação nem slot pronto. pending é o capture_id atual antes de expires_at sem upload. ready significa que o último upload bem-sucedido corresponde ao capture_id atual. timed_out significa que o id atual atingiu expires_at sem upload.

Timeout é preguiçoso: o primeiro GET de status ou próximo POST após a expiração o registra e adiciona screen.screenshot_failed uma vez com motivo expired. Uma solicitação com timeout não exclui um slot pronto mais antigo. Mensagens da tela estão isentas do medidor de API de 1 crédito.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getScreenScreenshotStatus

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/screenshot/status'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Status do screenshot para a tela deste projeto.ScreenScreenshotStatus (application/json); cabeçalhos: Cache-Control
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screens/{id}/live

Obter sessão ao vivo da tela

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.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getScreenLive

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/live'

Respostas

StatusSignificadoCorpo e cabeçalhos
200A sessão ao vivo da tela.LiveSession (application/json); cabeçalhos: Cache-Control
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/live

Iniciar sessão ao vivo da tela

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.

Ela termina antes quando a concessão passa sem renovação, com DELETE ou quando o Player a encerra; o Player para de publicar cerca de 20 segundos depois do fim da concessão.

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.

Uma nova sessão registra o comando de execução por tela player.live_publish (detalhes live_id, at, expires_at sessenta segundos depois, max_until; nunca entregue depois de expires_at); uma renovação o envia de novo somente se o Player nunca entrou e o último comando expirou.

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.

O estado requested dura até o Player publicar: consulte GET até publisher.connected. A visualização ao vivo é gratuita e isenta do medidor de API de 1 crédito, como uma captura de tela.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
LiveStartRequest
ID da operação
startScreenLive

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório

Campos do corpo da solicitação

CampoDescrição
duration_s (opcional, inteiro)Por quanto tempo a concessão dura a partir de agora, em segundos. Uma sessão dura no máximo cinco minutos, seja qual for a concessão. default: 300 minimum: 30 maximum: 300
live_id (opcional, string)

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}$"

Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Uma nova sessão ao vivo; o Player foi solicitado a publicar.LiveSession (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit
200A sessão ao vivo da tela, renovada.LiveSession (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
EXCLUIR/api/screens/{id}/live

Parar sessão ao vivo da tela

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.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
stopScreenLive

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/live'

Respostas

StatusSignificadoCorpo e cabeçalhos
204Parada, ou não havia nada a parar.sem corpo; cabeçalhos: Cache-Control
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/live/viewers

Criar espectador ao vivo da tela

Abre um espectador da sessão ao vivo da tela: uma nova sessão do relay de mídia que assina o vídeo do Player, e a oferta WebRTC do relay.

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.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
object
ID da operação
createScreenLiveViewer

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Um espectador e a oferta do relay.LiveViewer (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
PUT/api/screens/{id}/live/viewers/{viewer_id}

Responder a um espectador ao vivo da tela

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.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
LiveViewerAnswer
ID da operação
answerScreenLiveViewer

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
viewer_idcaminhoobrigatório

Campos do corpo da solicitação

CampoDescrição
answer (obrigatório, SessionDescription)
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
204O relay aceitou a resposta.sem corpo; cabeçalhos: Cache-Control
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/screens/{id}/live/frames

Iniciar quadros ao vivo da tela

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.

A sessão deve estar publicando (409 live_not_ready até então, 409 live_unavailable quando não há nenhuma ou ela terminou; inicie uma com 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.

Autenticação
projectBearer
Corpo da solicitação
object
ID da operação
startScreenLiveFrames

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
202O adaptador de quadros e até onde ele chegou.LiveFrames (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screens/{id}/live/frame

Obter quadro ao vivo da tela

Retorna o quadro JPEG mais recente da sessão ao vivo da tela.

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 quando o backend recebeu o quadro.

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.

Autenticação
projectBearer
Corpo da solicitação
nenhum
ID da operação
getScreenLiveFrame

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
depoisconsultaopcionalRetorna um quadro capturado depois deste instante (RFC 3339, como em ScreenRig-Captured-At).
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/live/frame'

Respostas

StatusSignificadoCorpo e cabeçalhos
200O quadro.string (image/jpeg); cabeçalhos: Content-Type, Content-Length, ETag, Cache-Control, ScreenRig-Live-Id, ScreenRig-Captured-At, ScreenRig-Frame-Width, ScreenRig-Frame-Height, RateLimit-Policy, RateLimit
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
429

Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais.

Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/live/frames

Conectar os quadros ao 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.

Autenticação
nenhum
Corpo da solicitação
nenhum
ID da operação
connectLiveFrames

Parâmetros

NomeEnviarObrigatório?Descrição
tokenconsultaobrigatórioO token do adaptador, com 43 caracteres.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET 'https://api.screenrig.ai/live/frames?token=TOKEN'

Respostas

StatusSignificadoCorpo e cabeçalhos
101Mudança de protocolo para WebSocket.sem corpo
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screens/{id}/health/history

Obter histórico de saúde da tela

A saúde que uma tela reportou ao longo do tempo. resolution=raw (padrão) retorna cada relatório aceito em ordem cronológica, formatado como Screen.health sem stale; resolution=hour retorna um resumo por hora UTC (relatórios, pico e temperatura média, pico de carga e proporção de memória, sinal Wi-Fi mais fraco, se o monitor foi desconectado, pico de falhas e contagens de reinício do renderizador). from (inclusivo) e to (exclusivo) padrão para as últimas 24 horas; o intervalo é no máximo 31 dias para raw e 93 dias para hour.

Uma página contém no máximo limit linhas (padrão 100, no máximo 500) com next_cursor, null no fim. Histórico é mantido conforme a retenção de eventos do plano. Relatórios brutos chegam a esta visão em segundos, resumos horários em cerca de 5 minutos. Uma tela de outro projeto é not_found. Screen.health, o relatório mais recente, permanece inalterado.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getScreenHealthHistory

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
formatoconsultaopcionaljson (padrão) retorna o relatório como JSON. csv, xlsx e pdf retornam as mesmas linhas como anexo (cada página de um relatório paginado, até 50000 linhas).
deconsultaopcionalLimite inferior inclusivo no horário do relatório. Padrão para 24 horas antes de to.
atéconsultaopcionalLimite superior exclusivo no horário do relatório. Padrão é agora.
resoluçãoconsultaopcionalraw retorna cada relatório; hour retorna um resumo por hora UTC.
limiteconsultaopcionalTamanho da página.
cursorconsultaopcionalnext_cursor da página anterior, com os mesmos filtros. Opaco.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/health/history'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Uma página de relatórios ou resumos horários.ScreenHealthHistory (application/json); cabeçalhos: Cache-Control
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screens/{id}/uptime

Obter uptime da tela

Disponibilidade diária de uma tela em dias UTC inclusivos (day_to padrão para hoje e day_from para 29 dias antes, no máximo 366 dias). Cada linha contém os segundos online e offline registrados naquele dia, disponibilidade (online sobre tempo registrado, nulo quando nada foi registrado) e cobertura (a parcela do dia com estado registrado).

Tempo sem estado registrado nunca é contado como tempo de inatividade: apenas reduz a cobertura. O intervalo aberto atual da tela é incluído até agora e marca seus dias como ativos. Dias sem registros não têm linha. Offline é registrado após a tela ficar inacessível por 60 segundos. Uma tela de outro projeto é not_found.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getScreenUptime

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
formatoconsultaopcionaljson (padrão) retorna o relatório como JSON. csv, xlsx e pdf retornam as mesmas linhas como anexo (cada página de um relatório paginado, até 50000 linhas).
day_fromconsultaopcionalPrimeiro dia UTC, inclusivo. Padrão para 29 dias antes de day_to. Com day_to abrange no máximo 366 dias.
day_toconsultaopcionalÚltimo dia UTC, inclusivo. Padrão é hoje (UTC).
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/uptime'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Linhas diárias de tempo ativo, do mais antigo para o mais recente.ScreenUptime (application/json); cabeçalhos: Cache-Control
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/screens/{id}/presence

Obter presença da tela

As transições online e offline da tela, mais recentes primeiro, a partir dos eventos screen.online e screen.offline, independentemente do que o log armazena. since (inclusivo) e until (exclusivo) delimitam o tempo do evento; until padrão é agora e since até 30 dias antes, no máximo 366 dias. As transições são mantidas conforme a retenção de eventos do plano.

Uma página contém no máximo limit transições (padrão 100, no máximo 500) com next_cursor, null no fim; retorne-o como antes. Uma transição offline que o servidor notou apenas quando a tela reconectou carrega detected_on_reconnect, e seu at é quando o contrato de presença terminou. Offline é registrado após a tela ficar inacessível por 60 segundos.

Uma tela de outro projeto é not_found.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getScreenPresence

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
desdeconsultaopcionalLimite inferior inclusivo no horário do evento de transição. Padrão para 30 dias antes de until.
atéconsultaopcionalLimite superior exclusivo no horário do evento de transição. Padrão é agora. until - since é no máximo 366 dias.
limiteconsultaopcionalTamanho da página. Valor fora de 1-500 é recusado com invalid_request nomeando limit.
beforeconsultaopcionalnext_cursor da página anterior, com o mesmo since e until.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/presence'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Transições de presença, mais recentes primeiro.ScreenPresenceHistory (application/json); cabeçalhos: Cache-Control
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/health/trend

Obter Health Trend

A saúde da frota do projeto por hora UTC: quantas telas reportaram, e quantas estavam quentes (80 °C ou mais), tinham um display desconectado ou estavam travando (3 ou mais travamentos em 24 horas). from (inclusivo) e to (exclusivo) padrão para as últimas 24 horas, no máximo 93 dias; uma página contém no máximo limit linhas (padrão 100, no máximo 500) com next_cursor, nulo no fim.

As horas seguem os relatórios com até cerca de 5 minutos de atraso. Recusado a um chamador limitado a telas (outside_screen_scope); GET /api/screens/{id}/health/history é a forma por tela.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getHealthTrend

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
formatoconsultaopcionaljson (padrão) retorna o relatório como JSON. csv, xlsx e pdf retornam as mesmas linhas como anexo (cada página de um relatório paginado, até 50000 linhas).
deconsultaopcionalLimite inferior inclusivo no horário do relatório. Padrão para 24 horas antes de to.
atéconsultaopcionalLimite superior exclusivo no horário do relatório. Padrão é agora.
limiteconsultaopcionalTamanho da página.
cursorconsultaopcionalnext_cursor da página anterior, com os mesmos filtros. Opaco.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/health/trend'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Uma página da saúde da frota por hora.HealthTrend (application/json); cabeçalhos: Cache-Control
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/uptime/daily

Obter uptime do projeto

Disponibilidade diária das telas do projeto em dias UTC inclusivos (padrões e intervalo como GET /api/screens/{id}/uptime). Cada linha soma os segundos online e offline das telas com estado registrado naquele dia; cobertura é a parcela do dia dessas telas com estado registrado.

Os intervalos contam quando terminam, então a linha de hoje cobre os intervalos que terminaram até agora; a contagem online ao vivo está no resumo do dashboard. Recusado a um chamador limitado a telas (outside_screen_scope); GET /api/screens/{id}/uptime é a forma por tela.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getProjectUptime

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
formatoconsultaopcionaljson (padrão) retorna o relatório como JSON. csv, xlsx e pdf retornam as mesmas linhas como anexo (cada página de um relatório paginado, até 50000 linhas).
day_fromconsultaopcionalPrimeiro dia UTC, inclusivo. Padrão para 29 dias antes de day_to. Com day_to abrange no máximo 366 dias.
day_toconsultaopcionalÚltimo dia UTC, inclusivo. Padrão é hoje (UTC).
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/uptime/daily'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Linhas diárias de tempo ativo, do mais antigo para o mais recente.ProjectUptime (application/json); cabeçalhos: Cache-Control
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
401

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)