OpenAPI YAMLOpenAPI JSONproblemas YAMLVisão geral da API
Este grupo tem 24 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.
Manifesto, relatórios e eventos de tempo de execução
Provisionamento do navegador Exchange
Troca same-origin exclusiva do navegador. Vincula atomicamente o token de uso único a exchange_id e define apenas o cookie de dispositivo pareado normal, restrito ao host, HttpOnly, Secure e SameSite=Strict. Android e Qt nunca consomem essa concessão.
Campos do corpo da solicitação
| Campo | Descrição |
|---|---|
| provisioning_token (obrigatório, string) | padrão: "^[A-Za-z0-9_-]{43}$" |
| exchange_id (obrigatório, string) | padrão: "^xchg_[A-Za-z0-9_-]{43}$" |
Modelo e respostas da solicitação
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/browser-provisioning/exchanges'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 201 | Cookie do dispositivo emparelhado emitido sem cookie de runtime ou credencial no corpo. | BrowserProvisioningCompletion (application/json); cabeçalhos: Cache-Control, Referrer-Policy, RateLimit-Policy, RateLimit |
| 400 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 403 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 404 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 409 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 410 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| 500 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Obter runtime Chrome
Stage-chrome para a sessão runtime atual. Não faz parte do manifesto runtime. Auth é o mesmo cookie runtime ou ScreenRig-Session de GET /screen/manifest. Cache-Control é privado, no-store. banner é sempre nulo.
Modelo e respostas da solicitação
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/chrome'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Chrome de tempo de execução | RuntimeChrome (application/json); headers: Cache-Control |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Obter manifesto de runtime
A rota única do manifesto de runtime, para toda sessão. schemaVersion é 3. Manifesto do player resolvido; a projeção é à prova de falhas, e páginas e primitivas inválidas são omitidas e listadas em diagnósticos.
Páginas de adslot são incluídas apenas para sessão pareada concedida adslot-v1; toda outra sessão, incluindo visualizador público anônimo, recebe conteúdo da casa sem página de adslot. As chaves raiz permanecem camelCase; chaves da página adslot permanecem id, type, adslot_id e visibilidade opcional em snake_case.
Regra de compatibilidade 4 — 200 com pages [] e diagnostics não vazios é uma projeção degradada (o Player mantém o último bom conhecido); 200 com pages [] e sem diagnostics é uma atribuição vazia criada de propósito (docs/player-compatibility.md §1.4).
Uma tela suspensa recebe pages [] sem diagnostics, o membro suspension e uma revisão de manifesto própria, tenha ou não uma playlist atribuída (§6.9). Uma tela arquivada retorna o problema screen_archived e não deve atualizar o último bom conhecido.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| stream_transports | consulta | opcional | Transportes de streaming suportados separados por vírgula (hls,udp-mpegts,rtsp). A omissão projeta streams para imagens de fallback. Negociação de renderização apenas, nunca autorização. Anuncie udp-mpegts apenas quando habilitado localmente. |
Modelo e respostas da solicitação
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifest'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Manifesto do player resolvido. | Manifesto Runtime (application/json) |
| 304 | Manifesto inalterado | sem corpo |
| 409 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Eventos de runtime do fluxo
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| depois | consulta | opcional | Um cursor de uma resposta anterior: ev1_ para eventos de projeto (e os fluxos de eventos). O log do Player (source=log) pagina com cursores lg1_ ou ev1_ pelo local onde o servidor o mantém; trate-os como opacos e devolva o que uma página retornou. Um cursor de outro tipo é recusado com invalid_request. |
| Last-Event-ID | cabeçalho | opcional | Cursor durável usado quando after está ausente. |
Modelo e respostas da solicitação
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/stream/events'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | SSE durável com escopo de tela. O cursor da consulta tem precedência sobre Last-Event-ID; cada evento carrega um id cursor adequado para reconexão. Servido pelo sidecar de stream do Valkey (stream-valkey/v1); o stream não carrega frames stream.cursor, e um cursor avança apenas com eventos entregues. Cursores inválidos, futuros ou pré-retentores recebem stream.resync_required na cabeça atual e fecham. screen.toast e screen.screenshot_requested são eventos de audiência em tempo de execução; scan nunca entrega nenhum além de details.expires_at. Bytes da imagem do screenshot nunca estão neste fluxo. screen.archived e screen.unarchived são eventos de audiência em tempo real; eles não apagam credenciais. screen.deleted é um evento de audiência em tempo real entregue quando a identidade assinada é redefinida e marca a tela. Nenhum evento em tempo real autoriza limpar a identidade local. Só reset assinado bem-sucedido iniciado por uma ação local confirmada do player permite rotação de identidade local. project.suspended e project.resumed são dicas de audiência em tempo de execução quando hits pré-pagos restantes chegam a zero ou se tornam positivos. O público do runtime é uma lista de permissão (docs/player-compatibility.md §7.1): screen.content_changed, screen.manifest_changed, screen.toast, screen.screenshot_requested, screen.archived, screen.unarchived, screen.deleted, screen.device_credential_revoked, project.suspended, project.resumed, player.reload, que chega a toda sessão de runtime, os comandos por tela player.reboot e player.display (docs/player-compatibility.md §6.5), player.play_page (§6.3.1) e player.identify (§6.3.2), nunca entregues após details.expires_at, e screen.card_data_changed (resource {type: card_data, key}, details {revision} ou {deleted: true}), endereçado apenas às telas cujo conteúdo atual lê esses dados de cartão ou essa chave de feed. Todo outro tipo nunca é publicado na transmissão. Players ignoram tipos de eventos desconhecidos, incluindo o tipo de mensagem padrão, e nomes de campos desconhecidos, e avançam o cursor a partir de cada id. O stream abre com sua própria tentativa, desenhada por conexão entre 3000 e 15000 ms para que streams caídos juntos não se reconectem juntos; um host drenante envia a cada stream sua própria tentativa entre 1000 e 30000 ms. O quadro do problema em banda (evento: problem) não tem id; seus dados são {code, detail, action?}, onde action está presente quando o registro define uma, e o fluxo então fecha (payment_required define retry: 60000). O quadro fleet player.reload não tem id e nunca move o cursor. Nenhum quadro carrega mais de 64 KiB de dados. | string (text/event-stream); cabeçalhos: X-Accel-Buffering |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Criar relatório de tempo de execução
Modelo e respostas da solicitação
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/reports'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 202 | Aceito após persistência durável. Um lote de telemetria é aceito ou recusado como unidade. Retorna 202 apenas depois que suas observações brutas são duráveis e a marca d’água do fluxo avançou; retorna stream_id, sequence, accepted (contagem de relatórios) e duplicate. Um lote que muda o estado mais recente de saúde ou observação ou o slot de falha de página, ou acrescenta eventos do projeto, confirma sua marca d’água com esse estado em uma escrita de tela, e acrescenta seus eventos na mesma transação. Um lote que não muda nenhum deles, como um lote constante de reproduções e relatórios de condição, move apenas sua marca d’água, mantida em Valkey por 25 horas; enquanto Valkey está indisponível ou sem memória, a escrita da tela a mantém em vez disso. Um lote recusado (reprodução conflitante, capacidade total do stream, autoridade aposentada) não armazena nada, exceto um novo stream que perde o último lugar do stream da tela para um novo stream concorrente, que é recusado após suas observações brutas serem armazenadas. Um lote que não foi reconhecido por erro de servidor ou conexão perdida pode ter armazenado algumas de suas observações brutas; reproduzir os mesmos bytes armazena cada observação faltante uma vez, nunca armazena uma duas vezes, e então reconhece. Uma reprodução de um lote reconhecido retorna 202 com duplicado verdadeiro e não muda nada. Uma marca d’água mantida no Valkey pode ser perdida ou atrasar em um failover, nunca avançar, então uma sequência além da marca d’água do stream é aceita como a próxima do stream sem recusa por lacuna, e uma reprodução cuja marca d’água foi perdida é aceita novamente com duplicate false; suas reproduções ainda são armazenadas uma vez e os registros de log do Player colapsam em suas identidades. Relatórios individuais mantêm sua resposta existente. Um relatório de condição de tempo de execução (qualquer outro código de relatório, como player.page_skipped) é registrado no log do Player (GET /api/events?source=log), não nos eventos do projeto, e é reconhecido quando a fila de log do Player o aceita; não está no fluxo de eventos e não é entregue a webhooks. manifest.activated é confirmado antes desta resposta e é idempotente para a revisão ativa atual. playback.media_started, playback.video_started legado e playback.application_started adicionam duravelmente uma observação autenticada da tela (GET /api/playback/plays) antes desta resposta; identidades de item, página e manifesto relatadas não requerem associação ao conteúdo atual e não autorizam acesso ao conteúdo. Contagens diárias, metadados opcionais e last_used_at do recurso pertencente ao projeto são atualizados por lotes recuperáveis e podem atrasar a observação bruta. Respostas comuns de início de reprodução omitem cabeçalhos opcionais de saldo de créditos. playback.page_failed substitui o slot de falha de página mais recente da tela e adiciona um evento durável apenas do projeto na mesma transação sem alterar a revisão da tela ou do manifesto. manifest.upgrade armazena o slot de atualização de manifesto de vitória única mais recente da tela atrás de suas cercas de revisão e adiciona um evento durável apenas do projeto na mesma transação somente quando o estado derivado muda; um relatório pré-ativação obsoleto, substituído ou pós-ativação é aceito sem alteração, e nenhum relatório promove uma concessão. application.event adiciona um evento durável do projeto antes desta resposta. | sem corpo; cabeçalhos: RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Colocar captura de tela do tempo de execução
Envia o WebP estático pendente atual para a tela da sessão. O caminho não nomeia screen_id; a sessão de tempo de execução pareada o vincula. O cabeçalho ScreenRig-Capture-Id deve ser o capture_id pendente atual. Content-Type é exatamente image/webp. O corpo é WebP bruto, não vazio, com no máximo 2097152 bytes.
O servidor valida a magia RIFF/WEBP, decodifica um quadro estático e armazena os bytes enviados sem alterações. WebP animado é invalid_request. capture_id ausente, desconhecido, expirado ou não atual é resource_conflict. Sessões não pareadas são proibidas. Crédito pré-pago restante não é um bloqueio e esses bytes não são contados em used_bytes.
Um slot por tela é substituído. screen.screenshot_ready detalha nome capture_id, bytes, largura, altura e sha256; nunca incluem pixels ou uma chave de objeto.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Capture-Id | cabeçalho | obrigatório | |
| ScreenRig-Capture-Failure | cabeçalho | opcional | Relatar captura indisponível com corpo vazio. Players enviam unsupported_surface ou capture_failed. Qualquer outro valor não vazio é registrado como capture_failed, nunca recusado (docs/player-compatibility.md §1.1). Apenas a captura pendente atual pode falhar. Nenhum pixel ou imagem parcial é armazenado; screen.screenshot_failed carrega essa razão e o status se torna indisponível. |
Modelo e respostas da solicitação
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'ScreenRig-Capture-Id: VALUE' --header 'Content-Type: image/webp' --data-binary '@request.bin' 'https://play.screenrig.ai/screen/screenshot'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 204 | Imagem estática WebP armazenada como slot atual. | sem corpo; cabeçalhos: Cache-Control |
| 400 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 401 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 403 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 409 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Resolver Adslots
Resolve até 16 ocorrências de página verificadas pelo servidor. Um candidato novo com possível preenchimento é precificado atomicamente, verificado no orçamento e reservado contra a barreira de preços da campanha. Um candidato novo sem possível preenchimento retorna vazio sem criar decisão ou reserva.
Nenhuma campanha elegível ou acessível é um resultado vazio bem-sucedido sem conteúdo e sem débito; nunca é um desafio de pagamento. Resultados vazios podem incluir uma dica de no-fill do relógio do servidor que dura no máximo 60 segundos e termina em um limite de elegibilidade conhecido anterior.
Dicas se aplicam à mesma tela, manifesto, página, slot e contexto de elegibilidade; elas nunca autorizam a reprodução. Uma renovação de locação reutiliza a mesma reserva e não avança a rotação, e é negada enquanto a campanha requer reaceitação do preço.
Campos do corpo da solicitação
| Campo | Descrição |
|---|---|
| manifest_revision (obrigatório, string) | |
| candidatos (obrigatório, array) |
Modelo e respostas da solicitação
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/adslots/resolve'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Por resultados preenchidos ou vazios por candidato na ordem da solicitação. | RuntimeAdslotResolveResponse (application/json); headers: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | invalid_request - tamanho do lote, chaves duplicadas ou janela de previsão inválida. | Problema Runtime (application/problem+json) |
| 409 | resource_conflict - um candidato foi reutilizado com um hash de solicitação diferente. | Problema Runtime (application/problem+json) |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Relatar eventos de espaço publicitário
Evidência de reprodução autenticada. Eventos deduplicam por tela e ID de evento. Uma conclusão válida consome sua reserva mantida uma vez pelo preço e taxa reservados, credita o vendedor bruto e debita a taxa de serviço em uma transação. Um evento terminal não reprodução confirmado libera a reserva uma vez.
Conclusão recebida após liberação não é faturável e nunca debita créditos novos. Conclusão antes do início é mantida pendente para reconciliação.
Campos do corpo da solicitação
| Campo | Descrição |
|---|---|
| eventos (obrigatório, array) |
Modelo e respostas da solicitação
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/adslots/events'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Por resultados de eventos. | RuntimeAdslotEventResponse (application/json); headers: Cache-Control, RateLimit-Policy, RateLimit |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Colocar observação do tempo de execução
Relata a superfície de reprodução que o player pareado usou para o último resolveLayout. O caminho não nomeia screen_id; a sessão de runtime pareada o vincula. O corpo é JSON ScreenObservation: observed_at mais de uma a doze superfícies; um Player que controla um vídeo wall relata uma por saída, id = o nome da saída.
Números são pixels independentes do dispositivo e a proporção de pixels do dispositivo ao lado dessa superfície de layout, não o tamanho do autor do canvas e não o tamanho codificado da captura de tela. Eles são apenas verificados no intervalo e nunca provam hardware ou autorização. A última gravação vence e substitui todo o array de superfícies.
Uma tupla de superfícies idêntica (id, largura, altura, pixel_ratio, apresentação, rotação) não emite screen.surface_changed; um observed_at posterior na mesma tupla é ignorado. Sessões públicas anônimas e não pareadas são proibidas. Cookies nativos são rejeitados; o navegador não deve adotar perfis de cabeçalho. Crédito pré-pago restante não é uma barreira.
A observação está ausente do GET /api/screens até o primeiro relatório aceito. ScreenPatch não pode escrevê-la. Uma tela arquivada responde 409 screen_archived. No máximo 12 relatórios por minuto por sessão pareada (runtime-observation): um 429 significa tentar novamente somente após Retry-After.
Campos do corpo da solicitação
| Campo | Descrição |
|---|---|
| observed_at (obrigatório, string) | formato: "date-time" |
| surfaces (obrigatório, array) | De uma a doze superfícies; um Player controlando um vídeo wall reporta uma por saída, id = nome da saída. |
Modelo e respostas da solicitação
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/observation'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 204 | Observação armazenada como o array atual de superfícies. | sem corpo; cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 401 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 403 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 409 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Colocar saúde do tempo de execução
Relata a saúde do dispositivo para a tela da sessão pareada. Envie uma no início da sessão e a cada quinze minutos, e uma imediatamente quando a conexão do display ou a energia mudarem.
Cada membro é opcional e o corpo é lido de forma tolerante (docs/player-compatibility.md §1.1): membros desconhecidos são ignorados, um valor fora do intervalo é descartado, e um display.power ou network.kind desconhecido é lido como desconhecido; somente um membro com tipo JSON incorreto gera erro 400 (um número além do intervalo float64 está fora do intervalo: esse membro é descartado).
O valor armazenado é o ScreenHealth sanitizado mais server reported_at, substituindo o relatório anterior. No máximo um relatório por tela por minuto (runtime-health): um 429 significa descartar este relatório e enviar o próximo na programação, nunca tentar antes do Retry-After (pelo menos 1 segundo).
Um erro 400 ou de servidor não consome o minuto; todas as sessões de uma tela o compartilham. Requer uma sessão pareada com health.write (uma sessão pareada criada antes de health.write existir é admitida por runtime.report); sessões não pareadas e anônimas são proibidas e uma tela arquivada responde 409 screen_archived.
Um relatório de uma sessão mais antiga que a geração atual de acesso ao conteúdo da tela é recusado com 401. Arquivar e recuperar a tela limpa Screen.health. Um backend sem essa rota responde 404: continue reproduzindo e pare de relatar saúde para essa sessão. Transições adicionam o screen.health_changed somente do projeto (nunca em GET /screen/events).
Saúde nunca é autorização.
Campos do corpo da solicitação
| Campo | Descrição |
|---|---|
| uptime_s (opcional, inteiro) | Segundos desde a inicialização do dispositivo (SO). mínimo: 0 |
| app_uptime_s (opcional, inteiro) | Segundos desde o início do processo do Player. mínimo: 0 |
| memory (opcional, objeto) | |
| cpu (opcional, objeto) | |
| temperature_c (opcional, número) | Temperatura do SoC ou painel em graus Celsius. mínimo: -50 máximo: 150 |
| display (opcional, objeto) | |
| rede (opcional, objeto) | |
| battery (opcional, objeto) | A bateria do dispositivo. Envie-a somente quando o dispositivo tiver uma (Android BatteryManager com EXTRA_PRESENT). Uma mudança de fonte (conectada ou desconectada da tomada) é informada de imediato, como uma mudança de display. |
| crashes_24h (opcional, inteiro) | Falhas do Player nas últimas 24 horas rolantes. mínimo: 0 máximo: 1000000 |
| renderer_restarts_24h (opcional, inteiro) | Reinícios do renderizador ou visualização web nas últimas 24 horas contínuas. mínimo: 0 máximo: 1000000 |
Modelo e respostas da solicitação
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/health'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 204 | Relatório de saúde armazenado. | sem corpo; cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 401 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 403 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 409 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Colocar armazenamento do tempo de execução
Relata o armazenamento nativo do player, o plano de armazenamento do player e a contabilidade de bytes transferidos. O caminho não nomeia screen_id; a sessão de runtime pareada o vincula. Sessões não pareadas e anônimas são proibidas. Cookies nativos são rejeitados; o navegador não deve adotar perfis de cabeçalho. Membros desconhecidos são ignorados (docs/player-compatibility.md §1.1).
O valor armazenado é o ScreenStorage sanitizado do projeto mais server received_at, não o corpo bruto. manifest_revision deve ser a revisão desejada ou ativa da tela, ou a resposta é 409 resource_conflict e nada é armazenado. IDs de página excluídos devem existir nessa revisão.
Uma classe de ajuste idêntica não emite screen.storage_shortfall ou screen.storage_shortfall_cleared. Esses eventos são apenas do projeto e não são entregues no GET /screen/events. Armazenamento nunca é autorização ou admissão. ScreenPatch não pode gravá-lo. Um relatório com mais de 24 horas por received_at é considerado obsoleto para os consumidores.
Campos do corpo da solicitação
| Campo | Descrição |
|---|---|
| observed_at (obrigatório, string) | formato: "date-time" |
| volume (obrigatório, ScreenStorageVolume) | |
| cache (obrigatório, ScreenStorageCache) | |
| durabilidade (obrigatório, string) | Permitido: "durable", "purgeable" |
| plano (obrigatório, ScreenStoragePlan) | |
| transfer_24h (obrigatório, ScreenStorageTransfer) |
Modelo e respostas da solicitação
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/storage'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 204 | Relatório de armazenamento armazenado. | sem corpo; cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 401 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 403 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 409 | resource_conflict - manifest_revision não é a revisão desejada ou ativa da tela. O relatório não é armazenado. | Problema Runtime (application/problem+json) |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Colocar status do tempo de execução
Relata o chip de status que o Player pareado mostra na tela: a condição de screenrig.overlay/v1 que vence em sua classificação, ou null quando nenhum chip é exibido. O caminho não nomeia screen_id; a sessão de runtime pareada o vincula.
O corpo é JSON RuntimeStatusWrite {observed_at, chip}; membros desconhecidos são ignorados (docs/player-compatibility.md §1.1). chip deve ser o id de uma condição do catálogo do backend (packages/overlay/overlay.json, o arquivo que os Players incorporam); o aviso de atualização e as mensagens de início não são chips.
Um chip ausente, um valor de outro tipo ou um id que o catálogo não lista resulta em 400 invalid_request com errors[0].field chip, e nada é armazenado. O valor armazenado é o ScreenStatus do projeto: level e icon são os do catálogo para chip, nunca os do Player, e received_at é o horário de recebimento do servidor. A última gravação vence e substitui todo o status.
Um relatório que não altera chip, level nem icon é uma operação nula: mantém os observed_at e received_at armazenados e não acrescenta nada. Uma alteração acrescenta o screen.status_changed somente do projeto, com details {chip, level, icon}, nunca entregue em GET /screen/events. Sessões públicas não pareadas e anônimas são proibidas.
Cookies nativos são rejeitados; o navegador não deve adotar perfis de cabeçalho. Crédito pré-pago restante não é uma barreira. O status está ausente do GET /api/screens até o primeiro relatório aceito e é limpo ao redefinir a identidade, desparear e arquivar. ScreenPatch não pode escrevê-lo. Uma tela arquivada responde 409 screen_archived.
No máximo 12 relatórios por minuto por sessão pareada (runtime-status): um 429 significa tentar novamente somente após Retry-After. Um backend sem essa rota responde 404: continue reproduzindo e pare de relatar o status dessa sessão. O status nunca é autorização ou admissão. As regras do Player estão em docs/player-compatibility.md §9.5.
Campos do corpo da solicitação
| Campo | Descrição |
|---|---|
| observed_at (obrigatório, string) | Relógio do Player quando o chip mudou pela última vez ou quando a sessão começou. formato: "date-time" |
| chip (obrigatório, inline) | O id da condição de screenrig.overlay/v1 que o Player mostra (conditions[].id em packages/overlay/overlay.json), ou null quando não mostra nenhum chip, como em uma superfície suprimida (fatal, starting, pairing). Obrigatório. Um id que o catálogo do backend não lista é recusado. |
Modelo e respostas da solicitação
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/status'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 204 | Status armazenado ou inalterado. | sem corpo; cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 401 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 403 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 409 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Colocar etiqueta da tela do tempo de execução
Renomeia a tela vinculada à sessão de tempo de execução pareada. É a mesma renomeação que PATCH /api/screens/{id} name: o servidor remove os espaços do início e do fim de screen_label e exige de 1 a 120 caracteres sem caracteres de controle, caso contrário invalid_request.
A renomeação registra os mesmos eventos da tela e, em uma tela atribuída, altera o screen_label do manifesto e emite screen.manifest_changed para o Player. Caminho e corpo não nomeiam screen_id; a sessão de runtime pareada o vincula. Sem If-Match ou Idempotency-Key; a última gravação vence. A autenticação é o cookie de runtime ou ScreenRig-Session, como GET /screen/chrome.
Sessões anônimas e não pareadas são não autorizadas. Uma tela arquivada é screen_archived. Crédito pré-pago restante não é uma barreira. Um Player que recebe 404 trata a rota como não suportada e mantém o nome localmente (docs/player-compatibility.md §2.5).
Campos do corpo da solicitação
| Campo | Descrição |
|---|---|
| screen_label (obrigatório, string) | minLength: 1 |
Modelo e respostas da solicitação
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/screen-label'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Tela renomeada. screen_label é o nome armazenado. | Rótulo de Tela Runtime (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 401 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 403 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 409 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Enviar resultado de comando de runtime
Um Player pareado reporta como terminou um comando que recebeu (docs/player-compatibility.md §6.5.1): done ou failed, com um token de causa estático e um detalhe curto opcional. O comando passa a done ou failed em Screen.commands com done_at, cause e detail, e o screen.command_result, exclusivo do projeto, é acrescentado.
Apenas um comando sent da tela da sessão aceita um resultado: um id que a tela não lista, ou um que não foi sent, é 404 not_found e o Player descarta o relatório. Uma repetição exata do resultado registrado é 202 e não altera nada; um resultado diferente para um comando concluído é 409 resource_conflict. Um resultado failed exige cause.
O caminho e o corpo não nomeiam a tela; a sessão de runtime pareada a vincula. A autenticação é o cookie de runtime ou ScreenRig-Session. Sessões anônimas e não pareadas são unauthorized; uma tela arquivada é screen_archived. O crédito pré-pago restante não é uma barreira.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| command_id | caminho | obrigatório |
Campos do corpo da solicitação
| Campo | Descrição |
|---|---|
| state (obrigatório, string) | Permitidos: "done", "failed" |
| cause (opcional, string) | Um token estático: obrigatório quando failed (clear_failed, restart_failed, update_check_failed, download_failed, install_failed, no_update_channel), opcional quando done (cleared, restarted, up_to_date, updated). pattern: "^[a-z0-9_]{1,40}$" |
| detail (opcional, string) | Uma frase curta sem caracteres de controle; nunca uma URL com credenciais, um token ou um caminho privado. maxLength: 200 |
Modelo e respostas da solicitação
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/commands/COMMAND_ID/result'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 202 | Armazenado, ou uma repetição exata do resultado armazenado. | sem corpo; cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 401 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 403 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 404 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 409 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Entrar na sessão ao vivo
Um Player que recebeu player.live_publish entra na sessão (docs/player-compatibility.md §6.10.2): ele recebe ice_servers TURN de curta duração, a concessão, os limites de vídeo que pode publicar e o período do sinal de vida. O live_id deve ser a sessão atual da tela; caso contrário, 410 live_session_ended (parar de publicar e continuar reproduzindo).
A autenticação é o cookie de runtime pareado ou ScreenRig-Session.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| live_id | caminho | obrigatório |
Modelo e respostas da solicitação
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/join'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A sessão para a qual o Player publica. | RuntimeLiveJoin (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 401 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 403 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 409 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 410 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Oferta da sessão ao vivo
The Player sends its gathered sendonly offer: exactly one video m-section, ICE gathering complete or two seconds old, no separate candidates ever. The backend opens a fresh media relay session for it, replacing any earlier publisher of the session, and returns the relay's answer, which the Player applies with setRemoteDescription.
Nenhuma seção m de vídeo, ou duas, é invalid_request. Uma falha do relay é dependency_unavailable. 410 live_session_ended quando o live_id não é a sessão atual da tela.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| live_id | caminho | obrigatório |
Campos do corpo da solicitação
| Campo | Descrição |
|---|---|
| sdp (obrigatório, string) | Uma única seção m de vídeo sendonly; coleta ICE concluída ou com dois segundos. |
Modelo e respostas da solicitação
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/offer'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A resposta do relay. | RuntimeLiveOffer (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 401 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 403 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 409 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 410 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Sinal de vida da sessão ao vivo
The Player reports its connection state and what its encoder sends every 20 seconds. The answer carries the lease; a lapsed lease or max_until ends the session here with 410 live_session_ended, and the Player stops publishing. The report is the Player's own word and feeds publisher.connected on the project API.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| live_id | caminho | obrigatório |
Campos do corpo da solicitação
| Campo | Descrição |
|---|---|
| connection (obrigatório, string) | Permitidos: "new", "connecting", "connected", "disconnected", "failed", "closed" |
| video (opcional, object) |
Modelo e respostas da solicitação
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/heartbeat'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A sessão está ao vivo; lease_until e max_until são os limites dela. | RuntimeLiveHeartbeatAnswer (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 401 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 403 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 409 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 410 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Sessão ao vivo parada
The Player reports it stopped publishing. The reason is an open enum (stopped, lease_ended, superseded, consent_denied, consent_timeout, projection_stopped, capture_failed, encoder_unavailable, connection_failed, relay_refused); a reason this server does not know reads player_stopped. 204 always, also for a live_id that is not the screen's current session.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| live_id | caminho | obrigatório |
Campos do corpo da solicitação
| Campo | Descrição |
|---|---|
| motivo (obrigatório, string) | stopped, lease_ended, superseded, consent_denied, consent_timeout, projection_stopped, capture_failed, encoder_unavailable, connection_failed or relay_refused. An open enum; an unknown reason reads player_stopped. |
Modelo e respostas da solicitação
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/stopped'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 204 | Registrado. | sem corpo; cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 401 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 403 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 409 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 410 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Obter playlists de tela de runtime
Lista as playlists que o menu de configurações do Player pareado oferece para a tela: as playlists ao vivo do projeto da tela que têm uma versão aprovada, em ordem alfabética pelo nome sem considerar maiúsculas/minúsculas, depois pelo id. No máximo 500 são retornadas; mais é verdade quando o projeto tem mais playlists.
A sessão de runtime pareada vincula o projeto; o caminho não nomeia nenhum. Auth é o cookie runtime ou ScreenRig-Session, como GET /screen/chrome. Sessões anônimas e não pareadas não são autorizadas. Uma tela arquivada é screen_archived. Cache-Control é private, no-store.
Um Player que recebe 404 trata a rota como não suportada e reporta isso como qualquer outra falha ao carregar a lista (docs/player-compatibility.md §2.6).
Modelo e respostas da solicitação
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/playlists'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | As playlists atribuíveis do projeto. | Playlists de Tela Runtime (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit |
| 401 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 403 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 409 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Colocar playlist da tela do tempo de execução
Atribui uma playlist à tela vinculada à sessão runtime pareada. É a mesma atribuição que PATCH /api/screens/{id} playlist_id, feita pela pessoa no dispositivo: nenhuma revisão é aberta.
A playlist deve pertencer ao projeto da tela e ter uma versão aprovada (playlist_not_approved caso contrário); uma playlist que não existe no projeto é invalid_request. A atribuição registra os mesmos eventos da tela e emite screen.manifest_changed para o Player.
Define a playlist atribuída à tela; uma tomada ativa ou uma entrada de programação de playlist correspondente ainda decide o que toca. Path e body não nomeiam screen_id; a sessão runtime pareada o vincula. Sem If-Match ou Idempotency-Key; última gravação vence. Auth é o cookie runtime ou ScreenRig-Session, como GET /screen/chrome.
Sessões anônimas e não pareadas são não autorizadas. Uma tela arquivada é screen_archived. Um Player que recebe 404 trata a rota como não suportada e a reporta como qualquer outra falha ao mudar a playlist (docs/player-compatibility.md §2.6).
Campos do corpo da solicitação
| Campo | Descrição |
|---|---|
| playlist_id (obrigatório, string) | minLength: 1 |
Modelo e respostas da solicitação
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/playlist'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Playlist atribuída. playlist_id é a playlist atribuída à tela. | Playlist de Tela Runtime (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 401 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 403 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 409 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Desparear Runtime
Desvinculação apenas por cookie. Arquiva uma tela pareada por cookie que não tem inscrição de chave pública do player, com archive_reason device_unpair. A credencial do dispositivo permanece vinculada: um navegador que ainda a possui gera uma sessão arquivada (vidro escuro), e desarquivar retoma sem novo pareamento (docs/player-compatibility.md §5.1).
Uma tela que já está arquivada, ou já desaparecida, é sucesso. Telas com identidade registrada retornam screen_archive_required; esses players são resetados apenas via POST /screen/native/identity/reset. Caminho e corpo não nomeiam screen_id; a sessão runtime pareada o vincula. Sem If-Match ou Idempotency-Key. Navegador 204 expira os cookies runtime, device e pairing host.
Chamadas nativas vinculadas à identidade nunca retornam 204. Sessões anônimas ou não pareadas são proibidas. Crédito pré-pago restante não é uma barreira.
Modelo e respostas da solicitação
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/unpair'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 204 | Tela pareada por cookie arquivada com sua credencial mantida. Cookies de pareamento do navegador expiraram. | sem corpo; cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit |
| 401 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 403 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 409 | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
| 429 | Problema estável rate_limited em runtime ou rota de conteúdo voltada ao Player, no formato de documento runtime (RuntimeProblem). 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 Runtime (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Lançar versão do aplicativo
Emite o ticket de uso único para uma versão de aplicativo do manifesto atual da tela. launch_url é a página index do host da versão com ticket primeiro e depois os params do aplicativo (os params da primitiva, preenchidos com os fatos desta tela, codificados em percentual, no máximo 4096 caracteres juntos), de modo que o aplicativo os lê em location.search.
Somente o Player web e os Players que o executam chamam esta rota; os Players Qt, Android, Apple e Windows carregam o aplicativo do seu pacote local e não recebem params. O host da versão os repassa à página e acrescenta seu próprio marcador de política.
Uma tela que não tem um valor que um param lê, ou cujos valores preenchem mais do que o limite, não tem esse aplicativo em seu manifesto (diagnóstico screen_fact_missing ou screen_fact_invalid), e o lançamento de sua versão é recusado.
Os params não estão vinculados ao ticket: um aplicativo os trata como dicas não confiáveis e lê a identidade da tela em context.screen_id.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| manifest_revision | caminho | obrigatório | |
| release_id | caminho | obrigatório |
Modelo e respostas da solicitação
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifests/MANIFEST_REVISION/releases/RELEASE_ID/launch'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 201 | Ticket de lançamento de host de liberação exata de 30 segundos para uso único | ReleaseLaunch (application/json); cabeçalhos: Referrer-Policy, RateLimit-Policy, RateLimit |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Resolver todos os seletores de mídia dinâmicos para um loop de playlist
Usa a playlist atribuída à tela autenticada e sua revisão de manifesto. Retorna uma captura fixa na ordem dos arquivos; os Players mantêm o estado do cursor e embaralhamento entre os ciclos. Uploads e alterações de tags nunca reescrevem este manifesto. Correspondências vazias são válidas.
Os conteúdos selecionados são autorizados pela concessão de tempo de execução da tela independentemente da definição imutável do manifesto.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| manifest_revision | caminho | obrigatório |
Modelo e respostas da solicitação
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/screen/manifests/MANIFEST_REVISION/selectors/resolve'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Instantâneo do loop resolvido, incluindo metadados do item e prazos de segurança media_end. | Instantâneo do Seletor Runtime (application/json) |
| 401 | Sessão de tempo de execução inválida ou expirada | Problema Runtime (application/problem+json) |
| 403 | Capacidade de tempo de execução negada | Problema Runtime (application/problem+json) |
| 503 | Projeção do manifesto pendente ou instantâneo do seletor degradado; mantenha o loop atual e tente novamente | Problema Runtime (application/problem+json) |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |
Obter dados do cartão de runtime
Retorna um documento de dados de cartão ou de feed: a chave de dados de cartão ou de feed de um primitivo de cartão no manifesto atual da tela, ou a chave da condição visibility.data de uma página. Uma chave é legível apenas enquanto uma concessão desejada, ativa ou de transição da tela da sessão a lista; saber uma chave nunca é suficiente.
As chaves do feed começam com feed: e leem o namespace do feed do sistema (screenrig.weather/v1 e os outros esquemas de feed), assim como as chaves de condições do clima que começam com feed.conditions.v1: (a condição {screen.weather} de uma página, preenchida no manifesto de cada tela); toda outra chave lê os dados do cartão do projeto da tela. O corpo é o próprio documento.
ETag é o sha256 dos bytes e If-None-Match responde 304; mantenha o último documento válido para reprodução offline e refaça a busca em screen.card_data_changed para a chave. 404 significa que nenhum documento está armazenado ainda; mantenha o cartão oculto.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| key | caminho | obrigatório | |
| If-None-Match | cabeçalho | opcional |
Modelo e respostas da solicitação
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/card-data/KEY'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | O documento | objeto (application/json); cabeçalhos: ETag |
| 304 | Não modificado | sem corpo |
| padrão | Resposta de problema estável RFC 9457 em runtime, conteúdo ou rota de probe voltada ao Player, no formato de documento runtime (RuntimeProblem). Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico. | Problema Runtime (application/problem+json) |