Referência da API

API de Reprodução e relatórios

Manifesto, relatórios e eventos de tempo de execução

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

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

POST/screen/browser-provisioning/exchanges

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.

Autenticação
nenhum
Corpo da solicitação
BrowserProvisioningExchange
ID da operação
exchangeBrowserProvisioning

Campos do corpo da solicitação

CampoDescriçã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
shell · modelo de requisição
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/browser-provisioning/exchanges'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Cookie 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)
GET/screen/chrome

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.

Autenticação
runtimeCookie OU nativeSessionAuthorization
Corpo da solicitação
nenhum
ID da operação
getRuntimeChrome
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/chrome'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Chrome de tempo de execuçãoRuntimeChrome (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)
GET/screen/manifest

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.

Autenticação
runtimeCookie OU nativeSessionAuthorization
Corpo da solicitação
nenhum
ID da operação
getRuntimeManifest

Parâmetros

NomeEnviarObrigatório?Descrição
stream_transportsconsultaopcional

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
shell · modelo de requisição
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifest'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Manifesto do player resolvido.Manifesto Runtime (application/json)
304Manifesto inalteradosem 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)
GET/stream/events

Eventos de runtime do fluxo

Autenticação
runtimeCookie OU nativeSessionAuthorization
Corpo da solicitação
nenhum
ID da operação
streamRuntimeEvents

Parâmetros

NomeEnviarObrigatório?Descrição
depoisconsultaopcional

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-IDcabeçalhoopcionalCursor durável usado quando after está ausente.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/stream/events'

Respostas

StatusSignificadoCorpo 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)
POST/screen/reports

Criar relatório de tempo de execução

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
inline
ID da operação
createRuntimeReport
Modelo e respostas da solicitação
shell · modelo de requisiçã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

StatusSignificadoCorpo 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)
PUT/screen/screenshot

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.

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
string
ID da operação
putRuntimeScreenshot

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-Capture-Idcabeçalhoobrigatório
ScreenRig-Capture-Failurecabeçalhoopcional

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
shell · modelo de requisiçã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

StatusSignificadoCorpo e cabeçalhos
204Imagem 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)
POST/screen/adslots/resolve

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.

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
RuntimeAdslotResolveRequest
ID da operação
resolveAdslots

Campos do corpo da solicitação

CampoDescrição
manifest_revision (obrigatório, string)
candidatos (obrigatório, array)
Modelo e respostas da solicitação
shell · modelo de requisiçã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

StatusSignificadoCorpo e cabeçalhos
200Por resultados preenchidos ou vazios por candidato na ordem da solicitação.RuntimeAdslotResolveResponse (application/json); headers: Cache-Control, RateLimit-Policy, RateLimit
400invalid_request - tamanho do lote, chaves duplicadas ou janela de previsão inválida.Problema Runtime (application/problem+json)
409resource_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)
POST/screen/adslots/events

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.

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
RuntimeAdslotEventBatch
ID da operação
reportAdslotEvents

Campos do corpo da solicitação

CampoDescrição
eventos (obrigatório, array)
Modelo e respostas da solicitação
shell · modelo de requisiçã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

StatusSignificadoCorpo e cabeçalhos
200Por 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)
PUT/screen/observation

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.

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
Gravação de Observação em Tempo de Execução
ID da operação
putRuntimeObservation

Campos do corpo da solicitação

CampoDescriçã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
shell · modelo de requisiçã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

StatusSignificadoCorpo e cabeçalhos
204Observaçã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)
PUT/screen/health

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.

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
Gravação de Saúde em Tempo de Execução
ID da operação
putRuntimeHealth

Campos do corpo da solicitação

CampoDescriçã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
shell · modelo de requisiçã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

StatusSignificadoCorpo e cabeçalhos
204Relató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)
PUT/screen/storage

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.

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
Gravação de Armazenamento Runtime
ID da operação
putRuntimeStorage

Campos do corpo da solicitação

CampoDescriçã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
shell · modelo de requisiçã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

StatusSignificadoCorpo e cabeçalhos
204Relató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)
409resource_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)
PUT/screen/status

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.

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
Gravação de Status Runtime
ID da operação
putRuntimeStatus

Campos do corpo da solicitação

CampoDescriçã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
shell · modelo de requisiçã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

StatusSignificadoCorpo e cabeçalhos
204Status 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)
PUT/screen/screen-label

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).

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
Gravação de Rótulo de Tela Runtime
ID da operação
putRuntimeScreenLabel

Campos do corpo da solicitação

CampoDescrição
screen_label (obrigatório, string)minLength: 1
Modelo e respostas da solicitação
shell · modelo de requisiçã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

StatusSignificadoCorpo e cabeçalhos
200Tela 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)
POST/screen/commands/{command_id}/result

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.

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
RuntimeCommandResultWrite
ID da operação
postRuntimeCommandResult

Parâmetros

NomeEnviarObrigatório?Descrição
command_idcaminhoobrigatório

Campos do corpo da solicitação

CampoDescriçã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
shell · modelo de requisiçã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

StatusSignificadoCorpo e cabeçalhos
202Armazenado, 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)
POST/screen/live/{live_id}/join

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.

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
RuntimeLiveJoinRequest
ID da operação
joinRuntimeLive

Parâmetros

NomeEnviarObrigatório?Descrição
live_idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisiçã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

StatusSignificadoCorpo e cabeçalhos
200A 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)
POST/screen/live/{live_id}/offer

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.

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
RuntimeLiveOffer
ID da operação
offerRuntimeLive

Parâmetros

NomeEnviarObrigatório?Descrição
live_idcaminhoobrigatório

Campos do corpo da solicitação

CampoDescriçã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
shell · modelo de requisiçã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

StatusSignificadoCorpo e cabeçalhos
200A 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)
POST/screen/live/{live_id}/heartbeat

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.

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
RuntimeLiveHeartbeat
ID da operação
heartbeatRuntimeLive

Parâmetros

NomeEnviarObrigatório?Descrição
live_idcaminhoobrigatório

Campos do corpo da solicitação

CampoDescrição
connection (obrigatório, string)Permitidos: "new", "connecting", "connected", "disconnected", "failed", "closed"
video (opcional, object)
Modelo e respostas da solicitação
shell · modelo de requisiçã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

StatusSignificadoCorpo e cabeçalhos
200A 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)
POST/screen/live/{live_id}/stopped

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.

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
RuntimeLiveStopped
ID da operação
stoppedRuntimeLive

Parâmetros

NomeEnviarObrigatório?Descrição
live_idcaminhoobrigatório

Campos do corpo da solicitação

CampoDescriçã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
shell · modelo de requisiçã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

StatusSignificadoCorpo e cabeçalhos
204Registrado.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)
GET/screen/playlists

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).

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
nenhum
ID da operação
getRuntimeScreenPlaylists
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/playlists'

Respostas

StatusSignificadoCorpo e cabeçalhos
200As 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)
PUT/screen/playlist

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).

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
Gravação de Playlist de Tela Runtime
ID da operação
putRuntimeScreenPlaylist

Campos do corpo da solicitação

CampoDescrição
playlist_id (obrigatório, string)minLength: 1
Modelo e respostas da solicitação
shell · modelo de requisiçã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

StatusSignificadoCorpo e cabeçalhos
200Playlist 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)
POST/screen/unpair

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.

Autenticação
pairedRuntimeCookie OU nativeSessionAuthorization
Corpo da solicitação
nenhum
ID da operação
unpairRuntime
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/unpair'

Respostas

StatusSignificadoCorpo e cabeçalhos
204Tela 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)
POST/screen/manifests/{manifest_revision}/releases/{release_id}/launch

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.

Autenticação
runtimeCookie OU nativeSessionAuthorization
Corpo da solicitação
nenhum
ID da operação
launchApplicationRelease

Parâmetros

NomeEnviarObrigatório?Descrição
manifest_revisioncaminhoobrigatório
release_idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifests/MANIFEST_REVISION/releases/RELEASE_ID/launch'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Ticket de lançamento de host de liberação exata de 30 segundos para uso únicoReleaseLaunch (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)
POST/screen/manifests/{manifest_revision}/selectors/resolve

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.

Autenticação
runtimeCookie OU nativeSessionAuthorization
Corpo da solicitação
nenhum
ID da operação
resolveRuntimeSelectors

Parâmetros

NomeEnviarObrigatório?Descrição
manifest_revisioncaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/screen/manifests/MANIFEST_REVISION/selectors/resolve'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Instantâneo do loop resolvido, incluindo metadados do item e prazos de segurança media_end.Instantâneo do Seletor Runtime (application/json)
401Sessão de tempo de execução inválida ou expiradaProblema Runtime (application/problem+json)
403Capacidade de tempo de execução negadaProblema Runtime (application/problem+json)
503Projeção do manifesto pendente ou instantâneo do seletor degradado; mantenha o loop atual e tente novamenteProblema 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)
GET/screen/card-data/{key}

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.

Autenticação
runtimeCookie OU nativeSessionAuthorization
Corpo da solicitação
nenhum
ID da operação
getRuntimeCardData

Parâmetros

NomeEnviarObrigatório?Descrição
keycaminhoobrigatório
If-None-Matchcabeçalhoopcional
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/card-data/KEY'

Respostas

StatusSignificadoCorpo e cabeçalhos
200O documentoobjeto (application/json); cabeçalhos: ETag
304Não modificadosem 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)