Referência da API

API de Pareamento e sessões

Pareamento e sessões do Player

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

Este grupo tem 12 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.

Pareamento e sessões do Player

POST/screen/pairing-sessions

Iniciar sessão de pareamento

Cria uma sessão de pareamento expirada global para frota e define o cookie de pareamento temporário HttpOnly Secure SameSite=Strict. Uma origem não confiável ou requisição de navegador cross-site é rejeitada com forbidden antes do limite de taxa ou estado de pareamento ser criado.

Autenticação
nenhum
Corpo da solicitação
nenhum
ID da operação
startPairingSession
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST 'https://play.screenrig.ai/screen/pairing-sessions'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Código de pareamento de seis caracteres exato e validade.PairingSession (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit
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)
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/stream/pairing-events

Eventos de pareamento do fluxo

Autenticação
pairingCookie
Corpo da solicitação
nenhum
ID da operação
streamPairingEvents
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/pairing-events'

Respostas

StatusSignificadoCorpo e cabeçalhos
200SSE de pareamento temporário autenticado. O dado terminal pairing.claimed é PairingClaimedEvent e contém apenas um nonce de conclusão não secreto.string (text/event-stream); cabeçalhos: Cache-Control, X-Accel-Buffering
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)
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/pairing-sessions/complete

Concluir sessão de pareamento

Autenticação
pairingCookie
Corpo da solicitação
PairingComplete
ID da operação
completePairingSession

Campos do corpo da solicitação

CampoDescrição
completion_nonce (obrigatório, string)padrão: "^[A-Za-z0-9_-]{43}$"
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/pairing-sessions/complete'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Cookie do dispositivo emparelhado emitido; o Player cria em seguida a sessão de runtime emparelhada comum.PairingCompletion (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)
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)
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)
POST/screen/sessions

Criar sessão de tempo de execução anônima

Autenticação
nenhum
Corpo da solicitação
Requisição de Sessão Runtime
ID da operação
createAnonymousRuntimeSession

Campos do corpo da solicitação

CampoDescrição
public_id (obrigatório, string)
reprodução (opcional, PlaybackHandshake)

Handshake opcional de reprodução que um Player declara no mint. É uma dica que seleciona comportamento, nunca autorização: membros desconhecidos e entradas do tipo errado são ignorados, e um valor que não é objeto não negocia nada. A resposta mint ecoa a interseção suportada como PlaybackGrant. adslot-v1 é concedido apenas a sessões pareadas.

player (opcional, PlayerIdentity)

Autoidentificação do Player, enviada apenas nas três rotas mint (docs/player-compatibility.md §3.1). É uma dica e nunca uma autorização, e não está coberta pela prova nativa. É lida com tolerância: membros desconhecidos são ignorados, um membro opcional inválido é descartado sozinho, e um player que não é um objeto ou não tem tipo válido não declara nada.

Nunca é um 400. Um mint pareado o armazena na tela para o histograma da frota do operador.

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/sessions'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Cookie de sessão de tempo de execução somente leituraSessão Runtime (application/json); cabeçalhos: RateLimit-Policy, RateLimit
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)
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/device-sessions

Criar sessão de tempo de execução do dispositivo

Autenticação
pairedDeviceCookie
Corpo da solicitação
DeviceSessionRequest
ID da operação
createDeviceRuntimeSession

Campos do corpo da solicitação

CampoDescrição
public_id (opcional, string)minLength: 1
reprodução (opcional, PlaybackHandshake)

Handshake opcional de reprodução que um Player declara no mint. É uma dica que seleciona comportamento, nunca autorização: membros desconhecidos e entradas do tipo errado são ignorados, e um valor que não é objeto não negocia nada. A resposta mint ecoa a interseção suportada como PlaybackGrant. adslot-v1 é concedido apenas a sessões pareadas.

player (opcional, PlayerIdentity)

Autoidentificação do Player, enviada apenas nas três rotas mint (docs/player-compatibility.md §3.1). É uma dica e nunca uma autorização, e não está coberta pela prova nativa. É lida com tolerância: membros desconhecidos são ignorados, um membro opcional inválido é descartado sozinho, e um player que não é um objeto ou não tem tipo válido não declara nada.

Nunca é um 400. Um mint pareado o armazena na tela para o histograma da frota do operador.

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/device-sessions'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Sessão de runtime emparelhadaSessão Runtime (application/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/native/pairing-sessions

Iniciar sessão de pareamento nativa

Cria uma sessão de pareamento apenas nativa a partir de uma chave pública Ed25519 do player. O pareamento nativo não reivindicado dura setenta e duas horas. Uma reivindicação bem-sucedida reserva uma tela e armazena entrega criptografada durável independentemente da expiração do localizador. Não vincula a chave pública a um projeto até a conclusão assinada para essa credencial e nonce de pareamento exatos.

Cookies, credenciais de consulta, origens cross-site e Autorização são rejeitados. Reprodução exata de Idempotency-Key precede nova admissão de abuso. A resposta nunca define um cookie. Uma chave pública já vinculada ou explicitamente aposentada retorna enrollment_bound.

Autenticação
nenhum
Corpo da solicitação
NativePairingStart
ID da operação
startNativePairingSession

Parâmetros

NomeEnviarObrigatório?Descrição
Idempotency-Keycabeçalhoobrigatório

Campos do corpo da solicitação

CampoDescrição
kid (obrigatório, string)padrão: "^[A-Za-z0-9_-]{43}$"
public_key (obrigatório, PlayerPublicKey)
assinatura (obrigatório, string)minLength: 80 maxLength: 4096
host (opcional, RuntimeHostHint)

A dica opcional do host nativo no início do pareamento, conclusão do pareamento e criação da sessão de identidade. Nomeia um dispositivo e nunca é autorização.

É lido com tolerância (docs/player-compatibility.md §1.1.1): membros desconhecidos são ignorados, um campo malformado ou entrada de capacidades é descartado, no máximo 32 capacidades são mantidas, e um valor que não é objeto ou uma plataforma fora do padrão descarta toda a dica. Nenhum desses recusa a solicitação.

Um Player ainda envia apenas os valores de plataforma registrados e os membros abaixo, porque um backend pré-contrato recusa qualquer outra coisa.

fleet_link (opcional, string)

Segredo opcional do link de frota, vindo do fragmento da URL do player (#fleet=). Um link válido, ativo e não expirado vincula esta sessão de pareamento ao seu projeto de imediato ou recupera a tela anterior do dispositivo; o fleet_link da resposta informa qual dos dois.

Como host, é lido com tolerância: um valor malformado ou desconhecido nunca recusa o início. pattern: "^srfl_[A-Za-z0-9_-]{43}$"

Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/pairing-sessions'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Código de pareamento nativo mais credencial temporária ScreenRig-Pairing; sem Set-Cookie.NativePairingSession (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)
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
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/stream/native/pairing-events

Eventos nativos de pareamento do fluxo

Pareamento exclusivo nativo SSE autenticado por exatamente um cabeçalho ScreenRig-Pairing Authorization. Cookies e credenciais na query são rejeitados. O evento terminal contém apenas o nonce de conclusão não secreto.

Autenticação
nativePairingAuthorization
Corpo da solicitação
nenhum
ID da operação
streamNativePairingEvents
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: ScreenRig-Pairing PAIRING' 'https://play.screenrig.ai/stream/native/pairing-events'

Respostas

StatusSignificadoCorpo e cabeçalhos
200SSE de pareamento nativo autenticado cujo dado terminal é PairingClaimedEvent.string (text/event-stream); cabeçalhos: Cache-Control, X-Accel-Buffering
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)
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)
POST/screen/native/pairing-sessions/complete

Concluir sessão de pareamento nativo

Conclui pareamento nativo com um nonce de conclusão e um JWS compacto EdDSA (op=pairing.complete) cujo request_hash vincula a credencial exata de pareamento e nonce de conclusão. Nenhum cookie é aceito ou definido. Nenhuma credencial ScreenRig-Device é emitida. O player então emite ScreenRig-Session a partir de uma prova de posse.

Autenticação
nativePairingAuthorization
Corpo da solicitação
NativePairingComplete
ID da operação
completeNativePairingSession

Campos do corpo da solicitação

CampoDescrição
kid (opcional, string)padrão: "^[A-Za-z0-9_-]{43}$"
completion_nonce (obrigatório, string)padrão: "^[A-Za-z0-9_-]{43}$"
public_key (obrigatório, PlayerPublicKey)
assinatura (obrigatório, string)JWS EdDSA compacto com op=pairing.complete e request_hash vinculando a credencial exata de pareamento e nonce de conclusão. minLength: 80 maxLength: 4096
host (opcional, RuntimeHostHint)

A dica opcional do host nativo no início do pareamento, conclusão do pareamento e criação da sessão de identidade. Nomeia um dispositivo e nunca é autorização.

É lido com tolerância (docs/player-compatibility.md §1.1.1): membros desconhecidos são ignorados, um campo malformado ou entrada de capacidades é descartado, no máximo 32 capacidades são mantidas, e um valor que não é objeto ou uma plataforma fora do padrão descarta toda a dica. Nenhum desses recusa a solicitação.

Um Player ainda envia apenas os valores de plataforma registrados e os membros abaixo, porque um backend pré-contrato recusa qualquer outra coisa.

Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: ScreenRig-Pairing PAIRING' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/pairing-sessions/complete'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Conclusão do pareamento nativo; sem Set-Cookie e sem credencial do dispositivo.NativePairingCompletion (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)
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
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)
POST/screen/native/identity/challenges

Criar desafio de identidade nativa

Emite um nonce de curta duração vinculado à impressão digital da chave pública de um player. Cookies, credenciais na query e Authorization são rejeitados.

Autenticação
nenhum
Corpo da solicitação
NativeIdentityChallengeRequest
ID da operação
createNativeIdentityChallenge

Campos do corpo da solicitação

CampoDescrição
kid (obrigatório, string)Impressão digital JWK SHA-256 RFC 7638. padrão: "^[A-Za-z0-9_-]{43}$"
public_key (opcional, PlayerPublicKey)
op (obrigatório, string)Permitido: "pairing.start", "pairing.complete", "session.mint", "identity.reset"
request_hash (obrigatório, string)padrão: "^[0-9a-f]{64}$"
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/native/identity/challenges'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Nonce de desafio para uma prova JWS compacta EdDSA; sem Set-Cookie.NativeIdentityChallenge (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)
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)
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)
POST/screen/native/identity/sessions

Criar sessão de tempo de execução de identidade nativa

Verifica um JWS compacto EdDSA (op=session.mint) contra a chave pública cadastrada e retorna um ScreenRig-Session assinado de sete dias. Players pareados renovam após um dia com jitter usando este mesmo mint assinado; a renovação substitui a credencial sem fechar uma transmissão em execução. Metadados da renovação são opcionais para leitores e não exigem atualização do Player.

Cookies não são aceitos nem definidos. Reprodução exata de Idempotency-Key precede nova admissão de abuso. Uma tela arquivada ainda gera uma sessão para que o player possa mostrar o vidro arquivado. A geração de sessão requer a vinculação exata e durável de projeto e tela estabelecida pela conclusão assinada; ofertas de reivindicação pendentes não têm autoridade de sessão.

Reprodução exata revalida essa vinculação e rejeita identidades aposentadas.

Autenticação
nenhum
Corpo da solicitação
NativeIdentitySessionRequest
ID da operação
createNativeIdentityRuntimeSession

Parâmetros

NomeEnviarObrigatório?Descrição
Idempotency-Keycabeçalhoobrigatório

Campos do corpo da solicitação

CampoDescrição
kid (obrigatório, string)padrão: "^[A-Za-z0-9_-]{43}$"
public_key (obrigatório, PlayerPublicKey)
assinatura (obrigatório, string)JWS EdDSA compacto com op=session.mint. minLength: 80 maxLength: 4096
host (opcional, RuntimeHostHint)

A dica opcional do host nativo no início do pareamento, conclusão do pareamento e criação da sessão de identidade. Nomeia um dispositivo e nunca é autorização.

É lido com tolerância (docs/player-compatibility.md §1.1.1): membros desconhecidos são ignorados, um campo malformado ou entrada de capacidades é descartado, no máximo 32 capacidades são mantidas, e um valor que não é objeto ou uma plataforma fora do padrão descarta toda a dica. Nenhum desses recusa a solicitação.

Um Player ainda envia apenas os valores de plataforma registrados e os membros abaixo, porque um backend pré-contrato recusa qualquer outra coisa.

reprodução (opcional, PlaybackHandshake)

Handshake opcional de reprodução que um Player declara no mint. É uma dica que seleciona comportamento, nunca autorização: membros desconhecidos e entradas do tipo errado são ignorados, e um valor que não é objeto não negocia nada. A resposta mint ecoa a interseção suportada como PlaybackGrant. adslot-v1 é concedido apenas a sessões pareadas.

player (opcional, PlayerIdentity)

Autoidentificação do Player, enviada apenas nas três rotas mint (docs/player-compatibility.md §3.1). É uma dica e nunca uma autorização, e não está coberta pela prova nativa. É lida com tolerância: membros desconhecidos são ignorados, um membro opcional inválido é descartado sozinho, e um player que não é um objeto ou não tem tipo válido não declara nada.

Nunca é um 400. Um mint pareado o armazena na tela para o histograma da frota do operador.

Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/identity/sessions'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Sessão nativa emparelhada; sem Set-Cookie.NativeRuntimeSession (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)
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
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)
POST/screen/link-sessions

Criar sessão de execução do link da tela

Emite uma ScreenRig-Session de sete dias a partir do segredo do link da tela no endereço do Player (o valor srsl_ depois de #screen= em https://play.<domain>/player/#screen=…), para um navegador que não guarda armazenamento. O Player envia o segredo a cada carregamento e de novo para renovar; ele não guarda chave nem pareamento.

A claim de chave de dispositivo da sessão carrega o id do link, de modo que substituir ou excluir o link a encerra imediatamente na API e na borda. Cookies não são aceitos nem definidos. A repetição exata de uma Idempotency-Key precede qualquer nova admissão antiabuso. Uma tela arquivada ainda emite uma sessão para que o Player possa exibir o estado de arquivada.

Um link substituído, excluído ou desconhecido resulta em screen_link_invalid (401, ação clear_lkg). Um host presente substitui a dica de host armazenada; player substitui o player armazenado.

Autenticação
nenhum
Corpo da solicitação
ScreenLinkSessionRequest
ID da operação
createScreenLinkRuntimeSession

Parâmetros

NomeEnviarObrigatório?Descrição
Idempotency-Keycabeçalhoobrigatório

Campos do corpo da solicitação

CampoDescrição
screen_link (obrigatório, string)padrão: "^srsl_[A-Za-z0-9_-]{43}$"
host (opcional, RuntimeHostHint)

A dica opcional do host nativo no início do pareamento, conclusão do pareamento e criação da sessão de identidade. Nomeia um dispositivo e nunca é autorização.

É lido com tolerância (docs/player-compatibility.md §1.1.1): membros desconhecidos são ignorados, um campo malformado ou entrada de capacidades é descartado, no máximo 32 capacidades são mantidas, e um valor que não é objeto ou uma plataforma fora do padrão descarta toda a dica. Nenhum desses recusa a solicitação.

Um Player ainda envia apenas os valores de plataforma registrados e os membros abaixo, porque um backend pré-contrato recusa qualquer outra coisa.

reprodução (opcional, PlaybackHandshake)

Handshake opcional de reprodução que um Player declara no mint. É uma dica que seleciona comportamento, nunca autorização: membros desconhecidos e entradas do tipo errado são ignorados, e um valor que não é objeto não negocia nada. A resposta mint ecoa a interseção suportada como PlaybackGrant. adslot-v1 é concedido apenas a sessões pareadas.

player (opcional, PlayerIdentity)

Autoidentificação do Player, enviada apenas nas três rotas mint (docs/player-compatibility.md §3.1). É uma dica e nunca uma autorização, e não está coberta pela prova nativa. É lida com tolerância: membros desconhecidos são ignorados, um membro opcional inválido é descartado sozinho, e um player que não é um objeto ou não tem tipo válido não declara nada.

Nunca é um 400. Um mint pareado o armazena na tela para o histograma da frota do operador.

Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/link-sessions'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Sessão nativa emparelhada; sem Set-Cookie.NativeRuntimeSession (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
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)
POST/screen/native/identity/reset

Redefinir identidade nativa

O reset no player, invocado somente por ação explícita confirmada do operador no dispositivo. Falha no pareamento, criação de sessão ou acesso à rede nunca invocam automaticamente esta operação ou limpam a chave local do Player. O endpoint verifica um JWS compacto EdDSA (op=identity.reset).

A tela vinculada a esta chave está arquivada com archive_reason device_reset (já arquivada: inalterada), e a chave permanece vinculada a ela: um dispositivo que ainda possui a chave cria uma sessão arquivada (vidro escuro) e retoma na desarquivação sem novo pareamento, e a chave não pode iniciar um novo pareamento (enrollment_bound).

Ofertas de reivindicação nativa pendentes para a chave são retiradas. Uma chave que nunca vinculou uma tela, ou uma chave já aposentada pela recuperação de tela, torna-se terminal: não pode emparelhar ou criar sessões novamente, e redefinir uma chave aposentada nunca afeta a tela que seu sucessor possui.

Se o projeto inscrito foi excluído, o reset assinado torna a chave órfã terminal sem arquivar outra tela, para que o dispositivo possa parear novamente. Após uma resposta perdida, o Player mantém sua chave local e pode tentar novamente com um novo desafio e prova assinada fresca.

Um erro de rede sozinho não confirma um reset nem autoriza limpar essa chave (docs/player-compatibility.md §5.1). Nenhum portador de projeto. Cookies não são aceitos nem definidos.

Autenticação
nenhum
Corpo da solicitação
NativeIdentityProof
ID da operação
resetNativeIdentity

Campos do corpo da solicitação

CampoDescrição
kid (obrigatório, string)padrão: "^[A-Za-z0-9_-]{43}$"
public_key (obrigatório, PlayerPublicKey)
assinatura (obrigatório, string)JWS EdDSA compacto. minLength: 80 maxLength: 4096
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/native/identity/reset'

Respostas

StatusSignificadoCorpo e cabeçalhos
204

Redefinição registrada: uma tela vinculada a projeto ativo arquivada com a chave mantida; uma chave de projeto excluído, desvinculada ou aposentada tornou o terminal; ou uma chave desconhecida respondeu como uma operação idempotente que não arquiva nada. Uma nova tentativa autenticada de qualquer um destes também tem sucesso. Sem Set-Cookie.

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