OpenAPI YAMLOpenAPI JSONproblemas YAMLVisão geral da API
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
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| estado | consulta | opcional | Omitir para pairing_pending e ativo. Passe archived para listar somente telas arquivadas. |
| tag | consulta | opcional | Tag exata da tela. Telas sem tag são omitidas quando este filtro está presente. |
| field | consulta | opcional | 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. |
| near | consulta | opcional | 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. |
| pasta | consulta | opcional | Um 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. |
| depois | consulta | opcional | next_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
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Telas | ScreenList (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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto 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
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screen-folders'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Pastas de telas | ScreenFolderList (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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto 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-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 201 | Pasta 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) |
| 403 | outside_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Uma 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Pasta 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) |
| 402 | feature_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) |
| 403 | outside_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 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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screen-folders/RESOURCE_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Excluí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) |
| 403 | outside_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto 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-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Quantas 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) |
| 403 | outside_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| de | consulta | obrigatório | |
| até | consulta | obrigatório | |
| screen_id | consulta | opcional | |
| folder_id | consulta | opcional | |
| tag | consulta | opcional | |
| campaign_id | consulta | opcional |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | O 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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto 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-Key | cabeçalho | obrigatório |
Campos do corpo da solicitação
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 201 | Reivindicaçã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) |
| 403 | outside_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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto 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-Key | cabeçalho | obrigatório |
Campos do corpo da solicitação
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 201 | Novo 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) |
| 403 | outside_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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto 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-Note | cabeçalho | opcional | 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-Key | cabeçalho | opcional | Omitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente. |
| depois | consulta | opcional | next_cursor da página de resultado anterior. Reutilize o Idempotency-Key original e o corpo da requisição. |
Campos do corpo da solicitação
| Campo | Descriçã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
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/actions'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Resultados 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) |
| 403 | insufficient_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) |
Obter tela
Retorna telas pairing_pending, ativas e arquivadas. Telas excluídas não são encontradas.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitação
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Tela | 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| Screenrig-Review-Note | cabeçalho | opcional | 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-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID'Respostas
| Status | Significado | Corpo 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) |
| 200 | Tela | Tela (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) |
| 403 | outside_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 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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 204 | Tela 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) |
| 409 | screen_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) |
| 412 | revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual. | Problema (application/problem+json) |
| 403 | outside_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 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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| id | caminho | obrigatório | |
| If-Match | cabeçalho | obrigatório | A revisão atual da tela, citada ou simples (o ETag da última leitura). Uma revisão desatualizada é revision_conflict com current_revision. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A tela conforme armazenada agora; o ETag carrega sua revisão. | Tela (application/json); cabeçalhos: ETag |
| 412 | revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual. | Problema (application/problem+json) |
| 403 | outside_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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| id | caminho | obrigatório | |
| If-Match | cabeçalho | obrigatório | A revisão atual da tela, citada ou simples (o ETag da última leitura). Uma revisão desatualizada é revision_conflict com current_revision. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A tela conforme armazenada agora; o ETag carrega sua revisão. | Tela (application/json); cabeçalhos: ETag |
| 412 | revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual. | Problema (application/problem+json) |
| 403 | outside_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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| id | caminho | obrigatório | |
| If-Match | cabeçalho | obrigatório | A revisão atual da tela, citada ou simples (o ETag da última leitura). Uma revisão desatualizada é revision_conflict com current_revision. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A tela conforme armazenada agora; o ETag carrega sua revisão. | Tela (application/json); cabeçalhos: ETag |
| 412 | revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual. | Problema (application/problem+json) |
| 403 | outside_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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| id | caminho | obrigatório | |
| If-Match | cabeçalho | obrigatório | A revisão atual da tela, citada ou simples (o ETag da última leitura). Uma revisão desatualizada é revision_conflict com current_revision. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A tela conforme armazenada agora; o ETag carrega sua revisão. | Tela (application/json); cabeçalhos: ETag |
| 412 | revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual. | Problema (application/problem+json) |
| 403 | outside_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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| id | caminho | obrigatório | |
| If-Match | cabeçalho | obrigatório | A revisão atual da tela, citada ou simples (o ETag da última leitura). Uma revisão desatualizada é revision_conflict com current_revision. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A tela conforme armazenada agora; o ETag carrega sua revisão. | Tela (application/json); cabeçalhos: ETag |
| 412 | revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual. | Problema (application/problem+json) |
| 403 | outside_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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| id | caminho | obrigatório | |
| If-Match | cabeçalho | obrigatório | A revisão atual da tela, citada ou simples (o ETag da última leitura). Uma revisão desatualizada é revision_conflict com current_revision. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A tela conforme armazenada agora; o ETag carrega sua revisão. | Tela (application/json); cabeçalhos: ETag |
| 412 | revision_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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| id | caminho | obrigatório | |
| If-Match | cabeçalho | obrigatório | A revisão atual da tela, citada ou simples (o ETag da última leitura). Uma revisão desatualizada é revision_conflict com current_revision. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A tela conforme armazenada agora; o ETag carrega sua revisão. | Tela (application/json); cabeçalhos: ETag |
| 412 | revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual. | Problema (application/problem+json) |
| 403 | outside_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) |
Rotacionar ID público da tela
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/public-id/rotate'Respostas
| Status | Significado | Corpo 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) |
Obter link da tela
O link da tela, a URL do Player que abre esta tela em um navegador que não guarda armazenamento, como uma fonte de navegador do vMix ou do OBS. A url é uma credencial: abaixo de Manage efetivo ela fica vazia e url_redacted é true. Exige a própria capacidade screens. screen_link_not_found quando a tela não tem nenhum.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitação
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/link'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | O link da tela. | ScreenLink (application/json); cabeçalhos: Cache-Control |
| 404 | not_found para uma tela fora do projeto; screen_link_not_found para uma tela sem link. | 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) |
Criar link da tela
Emite o link da tela e retorna sua url, substituindo qualquer link que a tela tenha (replaced informa qual caso). A tela deve estar ativa e pareada uma vez com seu código (resource_conflict enquanto não tem Player pareado, screen_archived quando arquivada).
Uma substituição incrementa o content_access_generation da tela e reemite suas concessões ativas, como uma rotação de ID público, de modo que toda sessão aberta pelo link antigo termina imediatamente; os Players da tela vinculados a uma chave emitem uma nova sessão por conta própria. O primeiro link não incrementa nada. Um link não é uma vinculação de dispositivo: as chaves da tela não são alteradas.
Acrescenta screen.link_changed (details.action created ou replaced). If-Match é opcional. A url é uma credencial: abra-a em um único lugar.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/link'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | O novo link da tela. | ScreenLink (application/json); cabeçalhos: ETag, Cache-Control |
| 409 | resource_conflict (ainda sem Player pareado) ou screen_archived. | Problema (application/problem+json) |
| 412 | revision_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) |
Excluir link da tela
Desativa o link da tela. A url antiga para de funcionar imediatamente e toda sessão que ela abriu termina, como em uma substituição. Tem sucesso, sem alterar nada, quando a tela não tem link. Acrescenta screen.link_changed (details.action deleted) quando existia um link. If-Match é opcional.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/link'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 204 | Excluído, ou não havia nenhum. | sem corpo |
| 412 | revision_conflict. | 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para criar ou sobrescrever uma chave; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Tela 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para criar ou sobrescrever uma chave; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | O 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) |
| 409 | resource_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) |
| 403 | outside_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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/archive'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Tela 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/unarchive'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Tela 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitação
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Programaçã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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| Screenrig-Review-Note | cabeçalho | opcional | 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-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descrição |
|---|---|
| entradas (obrigatório, array) | Ordem de prioridade: a primeira entrada correspondente vence. DELETE limpa a programação. |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 202 | A 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 |
| 200 | Tela 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 |
| 403 | outside_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| Screenrig-Review-Note | cabeçalho | opcional | 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-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 202 | A 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 |
| 200 | Tela 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 |
| 403 | outside_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Campos do corpo da solicitação
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| depois | consulta | opcional | next_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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | As 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| revisão | caminho | obrigatório | Uma revisão do registro, como a lista de revisões a numera. |
| Screenrig-Review-Note | cabeçalho | opcional | 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-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 202 | A 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 |
| 200 | Tela 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| Screenrig-Review-Note | cabeçalho | opcional | 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-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 202 | A 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 |
| 200 | Tela 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 |
| 403 | outside_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| Screenrig-Review-Note | cabeçalho | opcional | 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-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/takeover'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 202 | A 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 |
| 200 | Tela 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 |
| 403 | outside_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | O 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 |
| 403 | outside_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | O 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) |
| 403 | outside_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | As 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 |
| 403 | outside_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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| Idempotency-Key | cabeçalho | obrigatório |
Campos do corpo da solicitação
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 202 | Aceito. 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 202 | Aceito. 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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Tela 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/resume'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Tela 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| cursor | consulta | opcional | O next_cursor da página anterior. |
| limite | consulta | opcional |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Uma 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| command_id | caminho | obrigatório | O id de um dos comandos da tela: o id em Screen.commands, o reboot_id ou reload_id da resposta 202. |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A 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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Tela 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 |
| 403 | outside_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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/display'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Tela 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 |
| 403 | outside_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitação
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/display-schedule'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Cronograma 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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descrição |
|---|---|
| habilitado (obrigatório, boolean) | |
| windows (obrigatório, array) | NO no Windows. |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Tela 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 |
| 403 | outside_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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/display-schedule'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Tela 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 |
| 403 | outside_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Programaçã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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Tela 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) |
| 402 | feature_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://screenrig.ai/api/screens/RESOURCE_ID/reboot-schedule'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Tela 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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| Idempotency-Key | cabeçalho | obrigatório |
Campos do corpo da solicitação
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 202 | Aceito. 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Campos do corpo da solicitação
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Previsã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) |
| 412 | revision_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| em | consulta | opcional | 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é | consulta | opcional | 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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| capture_id | consulta | opcional | |
| If-None-Match | cabeçalho | opcional | ETag forte de screenshot retornado por esta rota. Respeitado para sessão do dashboard. |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Imagem 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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| Idempotency-Key | cabeçalho | obrigatório |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 202 | Aceito. 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Status 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Campos do corpo da solicitação
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 201 | Uma nova sessão ao vivo; o Player foi solicitado a publicar. | LiveSession (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit |
| 200 | A 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 204 | Parada, 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 201 | Um 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| viewer_id | caminho | obrigatório |
Campos do corpo da solicitação
| Campo | Descrição |
|---|---|
| answer (obrigatório, SessionDescription) |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 204 | O 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 202 | O 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| depois | consulta | opcional | Retorna um quadro capturado depois deste instante (RFC 3339, como em ScreenRig-Captured-At). |
Modelo e respostas da solicitação
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/live/frame'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | O 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| token | consulta | obrigatório | O token do adaptador, com 43 caracteres. |
Modelo e respostas da solicitação
curl --request GET 'https://api.screenrig.ai/live/frames?token=TOKEN'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 101 | Mudanç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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| formato | consulta | opcional | json (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). |
| de | consulta | opcional | Limite inferior inclusivo no horário do relatório. Padrão para 24 horas antes de to. |
| até | consulta | opcional | Limite superior exclusivo no horário do relatório. Padrão é agora. |
| resolução | consulta | opcional | raw retorna cada relatório; hour retorna um resumo por hora UTC. |
| limite | consulta | opcional | Tamanho da página. |
| cursor | consulta | opcional | next_cursor da página anterior, com os mesmos filtros. Opaco. |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Uma 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| formato | consulta | opcional | json (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_from | consulta | opcional | Primeiro dia UTC, inclusivo. Padrão para 29 dias antes de day_to. Com day_to abrange no máximo 366 dias. |
| day_to | consulta | opcional | Último dia UTC, inclusivo. Padrão é hoje (UTC). |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Linhas 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| desde | consulta | opcional | Limite inferior inclusivo no horário do evento de transição. Padrão para 30 dias antes de until. |
| até | consulta | opcional | Limite superior exclusivo no horário do evento de transição. Padrão é agora. until - since é no máximo 366 dias. |
| limite | consulta | opcional | Tamanho da página. Valor fora de 1-500 é recusado com invalid_request nomeando limit. |
| before | consulta | opcional | next_cursor da página anterior, com o mesmo since e until. |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Transiçõ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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| formato | consulta | opcional | json (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). |
| de | consulta | opcional | Limite inferior inclusivo no horário do relatório. Padrão para 24 horas antes de to. |
| até | consulta | opcional | Limite superior exclusivo no horário do relatório. Padrão é agora. |
| limite | consulta | opcional | Tamanho da página. |
| cursor | consulta | opcional | next_cursor da página anterior, com os mesmos filtros. Opaco. |
Modelo e respostas da solicitação
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/health/trend'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Uma 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| formato | consulta | opcional | json (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_from | consulta | opcional | Primeiro dia UTC, inclusivo. Padrão para 29 dias antes de day_to. Com day_to abrange no máximo 366 dias. |
| day_to | consulta | opcional | Último dia UTC, inclusivo. Padrão é hoje (UTC). |
Modelo e respostas da solicitação
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/uptime/daily'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Linhas 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) |
Listar links da frota
Lista os links da frota do projeto, do mais antigo para o mais recente (no máximo 50). Abaixo de Gerenciar efetivo, cada URL está vazia e url_redacted é true, pois a URL cria telas.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto 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
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/fleet-links'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Os links da frota do projeto. | FleetLinkList (application/json); cabeçalhos: Cache-Control |
| 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) |
Criar link de frota
Cria um link de frota: uma URL do Player (https://play.<domain>/player/#fleet=<secret>) que transforma cada dispositivo que a abre em sua própria tela neste projeto, sem código de pareamento. Coloque-o em um gerenciador de dispositivos, como um app quiosque do Google Admin console.
Cada nova tela recebe as tags, os campos e a playlist do link, e um rótulo do dispositivo (primeiro o ID de ativo do administrador, depois a localização), ou então o próximo rótulo padrão. Um player que já possui uma tela nunca cria outra: sua chave mantém a identidade da tela entre recarregamentos e reinicializações.
Após uma restauração de fábrica ou reinstalação, um dispositivo que reporta o número de série ou DUID de uma tela que um link de frota deste projeto criou recupera essa tela (screen.recovered) em vez de criar uma nova, uma vez que a chave antiga ficou silenciosa por dez minutos.
O segredo viaja no fragmento da URL, que os navegadores nunca enviam a um servidor. max_screens limita as telas que o link cria e expires_at encerra o link nesse momento, assim como desativá-lo. Uma organização tem no máximo 50 links de frota em todos os seus projetos (fleet_link_limit_reached). Registra fleet_link.created.
Uma nova tentativa exata com a mesma Idempotency-Key retorna esta mesma resposta por vinte e quatro horas.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto 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-Key | cabeçalho | opcional | Omitir 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
| Campo | Descrição |
|---|---|
| label (obrigatório, string) | minLength: 1 maxLength: 80 |
| habilitado (opcional, boolean) | Padrão para verdadeiro. |
| 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, objeto) | Campos com que cada tela criada pelo link começa; os posicionamentos de cards os leem por {screen.field.NAME}. |
| playlist_id (opcional, string) | |
| max_screens (opcional, inteiro) | mínimo: 1 máximo: 10000 |
| expires_at (opcional, string) | Quando o link expira (RFC 3339); um link além desse momento não cria nem recupera telas. Ausente significa que nunca expira. Um horário que já passou é aceito e expira o link imediatamente. format: "date-time" |
Modelo e respostas da solicitaçã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/fleet-links'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 201 | Criado, com sua URL. | FleetLink (application/json); cabeçalhos: Cache-Control |
| 400 | invalid_request, incluindo um playlist_id desconhecido ou uma tag ou campo malformado. | Problema (application/problem+json) |
| 409 | fleet_link_limit_reached ou idempotency_mismatch. | 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) |
Obter link da frota
Um link de frota. Abaixo, o url Manage efetivo está vazio e url_redacted é verdadeiro.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitação
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/fleet-links/RESOURCE_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Um link de frota. | FleetLink (application/json); cabeçalhos: ETag, Cache-Control |
| 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) |
Atualizar link da frota
Altera qualquer um de label, enabled, tags, fields, playlist_id, max_screens e expires_at; null limpa fields, playlist_id, max_screens ou expires_at. Um link desativado ou expirado não cria nem recupera telas; um dispositivo que o abre mostra o código de pareamento em seu lugar. As alterações valem para as telas que o link criar daqui em diante, nunca para as que ele já criou.
Acrescenta fleet_link.updated. If-Match protege a revisão.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descrição |
|---|---|
| label (opcional, string) | minLength: 1 maxLength: 80 |
| habilitado (opcional, boolean) | |
| 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, objeto) | substitui toda a predefinição; {} ou null a limpa. |
| playlist_id (opcional, string) | null limpa a playlist. |
| max_screens (opcional, inteiro) | null remove o limite. mínimo: 1 máximo: 10000 |
| expires_at (opcional, string) | null remove a expiração. format: "date-time" |
Modelo e respostas da solicitaçã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://api.screenrig.ai/api/fleet-links/RESOURCE_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Link da frota atualizado. | FleetLink (application/json); cabeçalhos: ETag |
| 400 | invalid_request. | Problema (application/problem+json) |
| 412 | revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual. | 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 link da frota
Exclui o link da frota. Sua URL para de funcionar imediatamente; as telas que criou permanecem, com suas playlists, tags e campos. Acrescenta fleet_link.deleted. If-Match protege a revisão.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/fleet-links/RESOURCE_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 204 | Excluído. | sem corpo |
| 412 | revision_conflict. | 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) |
Rotacionar Fleet Link
Substitui o segredo do link e retorna a nova URL. A URL antiga para de funcionar imediatamente; telas já criadas continuam reproduzindo, pois um Player pareado nunca apresenta o link novamente. Acrescenta fleet_link.updated com details.rotated true. If-Match protege a revisão.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/fleet-links/RESOURCE_ID/rotate'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | O link da frota com sua nova url. | FleetLink (application/json); cabeçalhos: ETag, Cache-Control |
| 412 | revision_conflict. | 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) |