Referência da API

API de Entrega de conteúdo

Conteúdo protegido e ativos de lançamento

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

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

Conteúdo protegido e ativos de lançamento

GET/screen/ad-decisions/{decision_id}

Obter conteúdo de decisão de anúncio

Serve o único objeto privado vinculado a uma decisão emitida. A autoridade é a identidade pareada ao vivo mais o vínculo da decisão; o projeto do comprador e o ID da mídia são resolvidos no servidor, nunca pelo chamador, e nenhuma chave de objeto ou URL assinado é publicado. Uma sondagem de comprimento zero retorna apenas metadados.

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

Parâmetros

NomeEnviarObrigatório?Descrição
decision_idcaminhoobrigatório
IntervalocabeçalhoopcionalV1 aceita apenas um intervalo de byte.
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/ad-decisions/DECISION_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Concluir mídia privada vinculada à decisão.sem corpo; cabeçalhos: Accept-Ranges, Content-Length, ETag
206Um intervalo de bytes correto segundo o padrão.sem corpo; cabeçalhos: Accept-Ranges, Content-Range, Content-Length, ETag
404not_found - decisão desconhecida.Problema Runtime (application/problem+json)
410decisão expirada ou não servível por outro motivo.Problema Runtime (application/problem+json)
416invalid_range.Problema Runtime (application/problem+json); cabeçalhos: Content-Range, Accept-Ranges
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)
HEAD/screen/ad-decisions/{decision_id}

Conteúdo de decisão de anúncio principal

Autoridade e metadados idênticos ao GET sem corpo.

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

Parâmetros

NomeEnviarObrigatório?Descrição
decision_idcaminhoobrigatório
IntervalocabeçalhoopcionalV1 aceita apenas um intervalo de byte.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request HEAD --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/ad-decisions/DECISION_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Apenas metadados.sem corpo; cabeçalhos: Accept-Ranges, Content-Length, ETag
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/media/{media_id}

Obter mídia protegida estável

URL de mídia imutável estável compartilhada entre revisões de playlist. A sessão runtime identifica a tela e o projeto para autorização e contabilização de banda.

Cada requisição requer associação na concessão de transição desejada, ativa ou não expirada da tela em sua geração atual de acesso a conteúdo, ou uma referência media:<id> no documento atual de uma chave de dados de cartão que tal concessão lista. Apenas IDs não concedem acesso. ETag é o sha256 citado dos bytes.

Cookie do navegador e autenticação nativa da sessão permanecem na origem confiável do Player; redirecionamentos e acesso público a armazenamento de objetos não são usados.

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

Parâmetros

NomeEnviarObrigatório?Descrição
media_idcaminhoobrigatório
IntervalocabeçalhoopcionalV1 aceita apenas um intervalo de byte.
Sec-Fetch-Sitecabeçalhoopcional
Sec-Fetch-Modecabeçalhoopcional
Sec-Fetch-Destcabeç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/media/MEDIA_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Mídia privada completa autorizada pela sessão. Browser Fetch Metadata deve descrever o uso de mídia/imagem/vídeo same-origin trusted-player; clientes nativos autenticados podem omitir.sem corpo; cabeçalhos: Accept-Ranges, Content-Length, ETag, Content-Disposition
206Um intervalo de bytes correto segundo o padrão.sem corpo; cabeçalhos: Accept-Ranges, Content-Range, Content-Length, ETag
416Intervalo insatisfatório, múltiplo ou malformado.Problema Runtime (application/problem+json); cabeçalhos: Content-Range, Accept-Ranges
429O limite de saída de mídia protegida por cliente, tela ou organização foi excedido.Problema Runtime (application/problem+json); cabeçalhos: Retry-After
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)
HEAD/media/{media_id}

Mídia protegida estável principal

Metadados imutáveis de mídia autorizados pela sessão com as mesmas verificações de concessão que GET e sem corpo de resposta.

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

Parâmetros

NomeEnviarObrigatório?Descrição
media_idcaminhoobrigatório
IntervalocabeçalhoopcionalV1 aceita apenas um intervalo de byte.
Sec-Fetch-Sitecabeçalhoopcional
Sec-Fetch-Modecabeçalhoopcional
Sec-Fetch-Destcabeçalhoopcional
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request HEAD --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/media/MEDIA_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Mídia privada completa autorizada pela sessão. Browser Fetch Metadata deve descrever o uso de mídia/imagem/vídeo same-origin trusted-player; clientes nativos autenticados podem omitir.sem corpo; cabeçalhos: Accept-Ranges, Content-Length, ETag, Content-Disposition
206Um intervalo de bytes correto segundo o padrão.sem corpo; cabeçalhos: Accept-Ranges, Content-Range, Content-Length, ETag
416Intervalo insatisfatório, múltiplo ou malformado.Problema Runtime (application/problem+json); cabeçalhos: Content-Range, Accept-Ranges
429O limite de saída de mídia protegida por cliente, tela ou organização foi excedido.Problema Runtime (application/problem+json); cabeçalhos: Retry-After
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/media/manifests/{manifest_revision}/{media_id}

Obter mídia protegida

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

Parâmetros

NomeEnviarObrigatório?Descrição
manifest_revisioncaminhoobrigatório
media_idcaminhoobrigatório
IntervalocabeçalhoopcionalV1 aceita apenas um intervalo de byte.
Sec-Fetch-Sitecabeçalhoopcional
Sec-Fetch-Modecabeçalhoopcional
Sec-Fetch-Destcabeç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/media/manifests/MANIFEST_REVISION/MEDIA_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Mídia privada completa autorizada pela sessão. Browser Fetch Metadata deve descrever o uso de mídia/imagem/vídeo same-origin trusted-player; clientes nativos autenticados podem omitir.sem corpo; cabeçalhos: Accept-Ranges, Content-Length, ETag, Content-Disposition
206Um intervalo de bytes correto segundo o padrão.sem corpo; cabeçalhos: Accept-Ranges, Content-Range, Content-Length, ETag
416Intervalo insatisfatório, múltiplo ou malformado.Problema Runtime (application/problem+json); cabeçalhos: Content-Range, Accept-Ranges
429O limite de saída de mídia protegida por cliente, tela ou organização foi excedido.Problema Runtime (application/problem+json); cabeçalhos: Retry-After
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/manifests/{manifest_revision}/releases/{release_id}/package

Obter pacote de app web nativo

Recupera o pacote imutável normalizado para uma versão de aplicativo enviada para que um player nativo pareado possa manter sua última versão autorizada conhecida entre reinícios de processo e perda temporária de rede.

O cookie do dispositivo pareado, concessão exata da tela, revisão do manifesto, geração de acesso ao conteúdo, associação de release e metadados do pacote pronto são verificados em cada solicitação. Tokens de projeto, cookies runtime anônimos, cookies de release, primitivas de iframe externas e acesso direto a armazenamento de objetos nunca autorizam bytes de pacote.

Autenticação
pairedDeviceCookie OU nativeSessionAuthorization
Corpo da solicitação
nenhum
ID da operação
getNativeWebappPackage

Parâmetros

NomeEnviarObrigatório?Descrição
manifest_revisioncaminhoobrigatório
release_idcaminhoobrigatório
IntervalocabeçalhoopcionalV1 aceita apenas um intervalo de byte.
Sec-Fetch-Sitecabeçalhoopcional
Sec-Fetch-Modecabeçalhoopcional
Sec-Fetch-Destcabeç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/manifests/MANIFEST_REVISION/releases/RELEASE_ID/package'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Pacote privado normalizado completo.sem corpo; cabeçalhos: Accept-Ranges, Content-Length, Content-Type, Content-Disposition, Cache-Control, ETag, Referrer-Policy, Cross-Origin-Resource-Policy, X-Content-Type-Options, Vary
206Um intervalo de bytes correto segundo o padrão do mesmo pacote imutável.sem corpo; cabeçalhos: Accept-Ranges, Content-Range, Content-Length, Content-Type, Content-Disposition, Cache-Control, ETag, Referrer-Policy, Cross-Origin-Resource-Policy, X-Content-Type-Options, Vary
416Intervalo insatisfatório, múltiplo ou malformado.Problema Runtime (application/problem+json); cabeçalhos: Content-Range, Accept-Ranges
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)
HEAD/screen/manifests/{manifest_revision}/releases/{release_id}/package

Pacote de app web nativo principal

Retorna os mesmos cabeçalhos de autorização e identidade imutável que GET sem os bytes do pacote.

Autenticação
pairedDeviceCookie OU nativeSessionAuthorization
Corpo da solicitação
nenhum
ID da operação
headNativeWebappPackage

Parâmetros

NomeEnviarObrigatório?Descrição
manifest_revisioncaminhoobrigatório
release_idcaminhoobrigatório
IntervalocabeçalhoopcionalV1 aceita apenas um intervalo de byte.
Sec-Fetch-Sitecabeçalhoopcional
Sec-Fetch-Modecabeçalhoopcional
Sec-Fetch-Destcabeçalhoopcional
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request HEAD --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifests/MANIFEST_REVISION/releases/RELEASE_ID/package'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Metadados normalizados autorizados do pacote.sem corpo; cabeçalhos: Accept-Ranges, Content-Length, Content-Type, Content-Disposition, Cache-Control, ETag, Referrer-Policy, Cross-Origin-Resource-Policy, X-Content-Type-Options, Vary
206Metadados autorizados para um intervalo de bytes.sem corpo; cabeçalhos: Accept-Ranges, Content-Range, Content-Length, Content-Type, Content-Disposition, Cache-Control, ETag, Referrer-Policy, Cross-Origin-Resource-Policy, X-Content-Type-Options, Vary
416Intervalo insatisfatório, múltiplo ou malformado.sem corpo; cabeçalhos: Content-Range, Accept-Ranges
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/{asset_path}

Consumir Ticket de Lançamento ou Obter Ativo de Versão

Operação de liberação de host exata. Com uma consulta de ticket, consome atomica e unicamente o ticket de 30 segundos de uso único, vincula Host/release/screen/content-generation/manifest/grant, define apenas o cookie de concessão de liberação de host exato e redireciona para o mesmo caminho sem o ticket. Sem ticket, valida esse cookie em cada GET/HEAD.

O parâmetro asset_path é guloso (x-screenrig-greedy-path) e é resolvido apenas abaixo da raiz da release pronta. Cookies de runtime/projeto/dispositivo e tokens bearer do projeto nunca autorizam essa operação.

Autenticação
releaseLaunchTicket OU releaseGrantCookie
Corpo da solicitação
nenhum
ID da operação
consumeLaunchTicketOrGetReleaseAsset

Parâmetros

NomeEnviarObrigatório?Descrição
asset_pathcaminhoobrigatório
Sec-Fetch-Sitecabeçalhoopcional
Sec-Fetch-Modecabeçalhoopcional
Sec-Fetch-Destcabeçalhoopcional
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://r-{release_host_label}.apps.screenrig.ai/index.html'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Ativo imutável autorizado por concessão de host exato.sem corpo; cabeçalhos: Referrer-Policy, X-Content-Type-Options, ETag
302Ticket consumido uma vez; cookie de concessão de liberação emitido; ticket removido da Localização.sem corpo; cabeçalhos: Location, Set-Cookie, Cache-Control, Referrer-Policy
403Host/liberação errada /screen/generation/grant, ticket antigo/repetido, cookie inválido, Fetch Metadata contraditório ou método não permitido.Problema (application/problem+json)
404Ativo ausente sem expor a forma do sistema de arquivos de liberação.Problema (application/problem+json)