OpenAPI YAMLOpenAPI JSONproblemas YAMLVisão geral da API
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
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| decision_id | caminho | obrigatório | |
| Intervalo | cabeçalho | opcional | V1 aceita apenas um intervalo de byte. |
Modelo e respostas da solicitação
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/ad-decisions/DECISION_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Concluir mídia privada vinculada à decisão. | sem corpo; cabeçalhos: Accept-Ranges, Content-Length, ETag |
| 206 | Um intervalo de bytes correto segundo o padrão. | sem corpo; cabeçalhos: Accept-Ranges, Content-Range, Content-Length, ETag |
| 404 | not_found - decisão desconhecida. | Problema Runtime (application/problem+json) |
| 410 | decisão expirada ou não servível por outro motivo. | Problema Runtime (application/problem+json) |
| 416 | invalid_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) |
Conteúdo de decisão de anúncio principal
Autoridade e metadados idênticos ao GET sem corpo.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| decision_id | caminho | obrigatório | |
| Intervalo | cabeçalho | opcional | V1 aceita apenas um intervalo de byte. |
Modelo e respostas da solicitação
curl --request HEAD --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/ad-decisions/DECISION_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Apenas 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| media_id | caminho | obrigatório | |
| Intervalo | cabeçalho | opcional | V1 aceita apenas um intervalo de byte. |
| Sec-Fetch-Site | cabeçalho | opcional | |
| Sec-Fetch-Mode | cabeçalho | opcional | |
| Sec-Fetch-Dest | cabeçalho | opcional |
Modelo e respostas da solicitação
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/media/MEDIA_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Mí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 |
| 206 | Um intervalo de bytes correto segundo o padrão. | sem corpo; cabeçalhos: Accept-Ranges, Content-Range, Content-Length, ETag |
| 416 | Intervalo insatisfatório, múltiplo ou malformado. | Problema Runtime (application/problem+json); cabeçalhos: Content-Range, Accept-Ranges |
| 429 | O 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| media_id | caminho | obrigatório | |
| Intervalo | cabeçalho | opcional | V1 aceita apenas um intervalo de byte. |
| Sec-Fetch-Site | cabeçalho | opcional | |
| Sec-Fetch-Mode | cabeçalho | opcional | |
| Sec-Fetch-Dest | cabeçalho | opcional |
Modelo e respostas da solicitação
curl --request HEAD --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/media/MEDIA_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Mí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 |
| 206 | Um intervalo de bytes correto segundo o padrão. | sem corpo; cabeçalhos: Accept-Ranges, Content-Range, Content-Length, ETag |
| 416 | Intervalo insatisfatório, múltiplo ou malformado. | Problema Runtime (application/problem+json); cabeçalhos: Content-Range, Accept-Ranges |
| 429 | O 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) |
Obter mídia protegida
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| manifest_revision | caminho | obrigatório | |
| media_id | caminho | obrigatório | |
| Intervalo | cabeçalho | opcional | V1 aceita apenas um intervalo de byte. |
| Sec-Fetch-Site | cabeçalho | opcional | |
| Sec-Fetch-Mode | cabeçalho | opcional | |
| Sec-Fetch-Dest | cabeçalho | opcional |
Modelo e respostas da solicitação
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/media/manifests/MANIFEST_REVISION/MEDIA_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Mí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 |
| 206 | Um intervalo de bytes correto segundo o padrão. | sem corpo; cabeçalhos: Accept-Ranges, Content-Range, Content-Length, ETag |
| 416 | Intervalo insatisfatório, múltiplo ou malformado. | Problema Runtime (application/problem+json); cabeçalhos: Content-Range, Accept-Ranges |
| 429 | O 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| manifest_revision | caminho | obrigatório | |
| release_id | caminho | obrigatório | |
| Intervalo | cabeçalho | opcional | V1 aceita apenas um intervalo de byte. |
| Sec-Fetch-Site | cabeçalho | opcional | |
| Sec-Fetch-Mode | cabeçalho | opcional | |
| Sec-Fetch-Dest | cabeçalho | opcional |
Modelo e respostas da solicitação
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifests/MANIFEST_REVISION/releases/RELEASE_ID/package'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Pacote 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 |
| 206 | Um 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 |
| 416 | Intervalo 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| manifest_revision | caminho | obrigatório | |
| release_id | caminho | obrigatório | |
| Intervalo | cabeçalho | opcional | V1 aceita apenas um intervalo de byte. |
| Sec-Fetch-Site | cabeçalho | opcional | |
| Sec-Fetch-Mode | cabeçalho | opcional | |
| Sec-Fetch-Dest | cabeçalho | opcional |
Modelo e respostas da solicitação
curl --request HEAD --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifests/MANIFEST_REVISION/releases/RELEASE_ID/package'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Metadados 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 |
| 206 | Metadados 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 |
| 416 | Intervalo 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| asset_path | caminho | obrigatório | |
| Sec-Fetch-Site | cabeçalho | opcional | |
| Sec-Fetch-Mode | cabeçalho | opcional | |
| Sec-Fetch-Dest | cabeçalho | opcional |
Modelo e respostas da solicitação
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://r-{release_host_label}.apps.screenrig.ai/index.html'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Ativo imutável autorizado por concessão de host exato. | sem corpo; cabeçalhos: Referrer-Policy, X-Content-Type-Options, ETag |
| 302 | Ticket 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 |
| 403 | Host/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) |
| 404 | Ativo ausente sem expor a forma do sistema de arquivos de liberação. | Problema (application/problem+json) |