Referência da API

API de Aplicativos

Aplicativos e operações

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

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

Aplicativos e operações

GET/api/applications

Listar aplicativos

Lista aplicativos do mais novo para o mais antigo, no máximo 500 por página. Nomes são rótulos e não precisam ser únicos; enderece um aplicativo pelo ID. next_cursor é a posição da última linha retornada enquanto houver mais linhas; passe-o de volta como after, com os mesmos filtros, para a próxima página. next_cursor é nulo na última página.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
listApplications

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
depoisconsultaopcionalnext_cursor da página anterior da mesma lista, com os mesmos filtros. Omitido começa na linha mais recente. Um valor que não seja esse cursor é invalid_request.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/applications'

Respostas

StatusSignificadoCorpo e cabeçalhos
200AplicativosApplicationList (application/json)
padrão

Resposta de problema estável RFC 9457. 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 (application/problem+json)
POST/api/applications

Enviar aplicativo

Transmite um tar.gz produzido por CLI diretamente para staging durável limitado. Metadados são carregados nos cabeçalhos para que o arquivo nunca seja codificado em base64 ou materializado como JSON pelo servidor.

O proxy na frente da API encerra uma solicitação que não respondeu em cerca de 100 s, portanto um arquivo grande em um uplink lento falha aqui; POST /api/applications/uploads envia o arquivo diretamente para o armazenamento de objetos.

Autenticação
projectBearer
Corpo da solicitação
string
ID da operação
uploadApplication

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
Idempotency-Keycabeçalhoobrigatório
ScreenRig-Archive-SHA256cabeçalhoobrigatório
ScreenRig-Expanded-Bytescabeçalhoobrigatório
ScreenRig-File-Countcabeçalhoobrigatório
ScreenRig-SDK-Versioncabeçalhoopcional
ScreenRig-Application-Namecabeçalhoopcional

Nome do aplicativo ASCII; mutuamente exclusivo com ScreenRig-Application-Name*. Espaços em branco no início e fim são removidos. Controles e valores duplicados no cabeçalho são rejeitados. O nome decodificado é limitado a 120 valores escalares Unicode.

ScreenRig-Application-Name*cabeçalhoopcional

Nome de aplicativo Unicode codificado como RFC 8187 UTF-8'' seguido por bytes UTF-8 codificados em porcentagem (idioma vazio, charset UTF-8 exato). Mutuamente exclusivo com ScreenRig-Application-Name. Escapes inválidos, UTF-8 inválido, controles e valores duplicados no cabeçalho são rejeitados.

Espaços em branco no início e no fim são removidos; o nome decodificado é limitado a 120 valores escalares Unicode. Nenhum cabeçalho de nome pode renomear uma atualização de lançamento. Isso evita Unicode bruto em valores de cabeçalho HTTP.

Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'ScreenRig-Archive-SHA256: VALUE' --header 'ScreenRig-Expanded-Bytes: VALUE' --header 'ScreenRig-File-Count: VALUE' --header 'Content-Type: application/gzip' --data-binary '@request.bin' 'https://screenrig.ai/api/applications'

Respostas

StatusSignificadoCorpo e cabeçalhos
202Upload aceitoOperationAccepted (application/json); cabeçalhos: RateLimit-Policy, RateLimit
padrão

Resposta de problema estável RFC 9457. 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 (application/problem+json)
POST/api/applications/{id}/releases

Enviar versão do aplicativo

Publica uma nova versão imutável de um aplicativo próprio usando o mesmo pipeline de upload tar.gz vinculado. If-Match protege a revisão do aplicativo; a aceitação a incrementa, e a publicação bem-sucedida a incrementa novamente quando latest_ready_release muda. Nome e identidade do aplicativo são preservados. Os pins de lançamento da playlist existentes não são alterados.

Uma repetição idempotente idêntica retorna a operação original mesmo após alterações de revisão. O proxy na frente da API encerra uma solicitação que não respondeu em cerca de 100 s, portanto um arquivo grande em um uplink lento falha aqui; POST /api/applications/{id}/uploads envia o arquivo diretamente para o armazenamento de objetos.

Autenticação
projectBearer
Corpo da solicitação
string
ID da operação
uploadApplicationRelease

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-Keycabeçalhoobrigatório
ScreenRig-Archive-SHA256cabeçalhoobrigatório
ScreenRig-Expanded-Bytescabeçalhoobrigatório
ScreenRig-File-Countcabeçalhoobrigatório
ScreenRig-SDK-Versioncabeçalhoopcional
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'ScreenRig-Archive-SHA256: VALUE' --header 'ScreenRig-Expanded-Bytes: VALUE' --header 'ScreenRig-File-Count: VALUE' --header 'Content-Type: application/gzip' --data-binary '@request.bin' 'https://api.screenrig.ai/api/applications/RESOURCE_ID/releases'

Respostas

StatusSignificadoCorpo e cabeçalhos
202Upload aceitoOperationAccepted (application/json); cabeçalhos: RateLimit-Policy, RateLimit
padrão

Resposta de problema estável RFC 9457. 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 (application/problem+json)
POST/api/applications/uploads

Criar upload de aplicativo

Declara um upload direto de um tar.gz produzido pela CLI que cria um novo aplicativo. A resposta é uma autorização assinada para exatamente um PUT de objeto do arquivo, portanto os bytes vão diretamente para o armazenamento de objetos e nunca pela API, cujo proxy encerra uma solicitação que não respondeu em cerca de 100 s.

Envie o arquivo com PUT para upload_url, depois confirme com POST /api/applications/uploads/{id}/commit e aguarde a operação. O aplicativo, sua versão e a operação receptora existem a partir desta resposta, como após POST /api/applications. Um upload não confirmado em 24 horas falha, e um aplicativo que nunca publicou uma versão é removido.

A mesma Idempotency-Key e o mesmo corpo retornam o mesmo upload com uma URL recém-assinada. GET /api/capabilities define features.application_direct_uploads onde essas rotas são servidas.

Autenticação
projectBearer
Corpo da solicitação
ApplicationUploadDeclaration
ID da operação
createApplicationUpload

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
Idempotency-Keycabeçalhoobrigatório

Campos do corpo da solicitação

CampoDescrição
nome (opcional, string)

Nome de um novo aplicativo, cortado; no máximo 120 caracteres Unicode e nenhum controle. Omitido ou vazio seleciona um nome gerado. Uma declaração de versão (POST /api/applications/{id}/uploads) não deve carregar um. maxLength: 120

sha256 (obrigatório, string)SHA-256 dos bytes do arquivo. pattern: "^[0-9a-f]{64}$"
compressed_bytes (obrigatório, inteiro)Tamanho do arquivo em bytes. mínimo: 1 máximo: 104857600
expanded_bytes (obrigatório, inteiro)mínimo: 1 máximo: 262144000
file_count (obrigatório, inteiro)mínimo: 1 máximo: 5000
sdk_version (opcional, string)maxLength: 64
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/applications/uploads'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Autorização assinada para exatamente um PUT de objeto do arquivo. Envie o método retornado e cada cabeçalho retornado literalmente; o PUT deve começar antes de expires_at, duas horas após a declaração.ApplicationUploadSession (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit
padrão

Resposta de problema estável RFC 9457. 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 (application/problem+json)
POST/api/applications/{id}/uploads

Criar upload de versão de aplicativo

Declara um upload direto de uma nova versão imutável de um aplicativo próprio, respondido como POST /api/applications/uploads. If-Match protege a revisão do aplicativo como em POST /api/applications/{id}/releases, e a aceitação a incrementa. O corpo não carrega nome; uma versão mantém o nome do seu aplicativo. Pins de versão de playlists existentes não são alterados.

Autenticação
projectBearer
Corpo da solicitação
ApplicationUploadDeclaration
ID da operação
createApplicationReleaseUpload

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-Keycabeçalhoobrigatório

Campos do corpo da solicitação

CampoDescrição
nome (opcional, string)

Nome de um novo aplicativo, cortado; no máximo 120 caracteres Unicode e nenhum controle. Omitido ou vazio seleciona um nome gerado. Uma declaração de versão (POST /api/applications/{id}/uploads) não deve carregar um. maxLength: 120

sha256 (obrigatório, string)SHA-256 dos bytes do arquivo. pattern: "^[0-9a-f]{64}$"
compressed_bytes (obrigatório, inteiro)Tamanho do arquivo em bytes. mínimo: 1 máximo: 104857600
expanded_bytes (obrigatório, inteiro)mínimo: 1 máximo: 262144000
file_count (obrigatório, inteiro)mínimo: 1 máximo: 5000
sdk_version (opcional, string)maxLength: 64
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/applications/RESOURCE_ID/uploads'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Autorização assinada para exatamente um PUT de objeto do arquivo. Envie o método retornado e cada cabeçalho retornado literalmente; o PUT deve começar antes de expires_at, duas horas após a declaração.ApplicationUploadSession (application/json); cabeçalhos: Cache-Control, RateLimit-Policy, RateLimit
padrão

Resposta de problema estável RFC 9457. 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 (application/problem+json)
POST/api/applications/uploads/{id}/commit

Commit Application Upload

Confirma um upload direto de aplicativo assim que seu PUT termina. O servidor verifica o arquivo preparado em relação à declaração (seu tamanho e o checksum SHA-256 que o armazenamento de objetos obteve com o PUT), copia para sua própria área de preparação de upload e coloca a publicação na fila.

Aguarde a Operation retornada com GET /api/operations/{id} até que esteja succeeded ou failed, como após POST /api/applications. Um commit antes do término do PUT responde invalid_request e não altera nada, portanto pode ser enviado novamente; bytes preparados que diferem da declaração fazem o upload falhar. Um commit repetido responde a mesma operação.

Autenticação
projectBearer
Corpo da solicitação
ApplicationUploadCommit
ID da operação
commitApplicationUpload

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Idempotency-Keycabeçalhoobrigatório

Campos do corpo da solicitação

CampoDescrição
sha256 (obrigatório, string)padrão: "^[0-9a-f]{64}$"
compressed_bytes (obrigatório, inteiro)mínimo: 1 máximo: 104857600
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/applications/uploads/RESOURCE_ID/commit'

Respostas

StatusSignificadoCorpo e cabeçalhos
202O arquivo está preparado e sua publicação está na fila.Operação (application/json)
padrão

Resposta de problema estável RFC 9457. 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 (application/problem+json)
GET/api/applications/{id}

Obter aplicativo

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getApplication

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/applications/RESOURCE_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200AplicativoAplicativo (application/json)
padrão

Resposta de problema estável RFC 9457. 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 (application/problem+json)
PATCH/api/applications/{id}

Renomear aplicativo

Altera o nome exibido de um aplicativo pertencente ao projeto autenticado. Os nomes são aparados, contêm de 1 a 120 caracteres Unicode sem controles, e podem se repetir dentro de um projeto. Identidade do aplicativo, versões, dados K/V e pins de lançamento de playlist são preservados.

Um nome alterado avança a revisão da aplicação e emite application.updated; o mesmo nome é uma operação sem efeito. If-Match opcionalmente protege a revisão. Uma nova tentativa idempotente idêntica retorna a resposta original após alterações subsequentes nos metadados.

Autenticação
projectBearer
Corpo da solicitação
ApplicationRename
ID da operação
renameApplication

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
nome (obrigatório, string)Nome da tela após aparar; controles e nomes vazios são rejeitados. minLength: 1 maxLength: 120
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/applications/RESOURCE_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Aplicativo renomeado.Aplicativo (application/json); cabeçalhos: ETag
412revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual.Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. 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 (application/problem+json)
EXCLUIR/api/applications/{id}

Excluir aplicativo

Marca para exclusão um aplicativo pertencente ao projeto autenticado e todas as suas versões. O portador do projeto é autoritário; um id desconhecido ou de outro projeto é not_found. If-Match protege a revisão do aplicativo. Uma referência de manifesto ativo bloqueia a exclusão com application_in_use; não há caminho para exclusão forçada.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
deleteApplication

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/applications/RESOURCE_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
204Aplicativo e lançamentos tombstoned.sem corpo
409application_in_use — um manifesto ativo ainda referencia uma das versões da aplicação.Problema (application/problem+json)
412revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual.Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. 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 (application/problem+json)
GET/api/operations/{id}

Obter operação

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getOperation

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/operations/RESOURCE_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200OperaçãoOperação (application/json)
padrão

Resposta de problema estável RFC 9457. 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 (application/problem+json)
POST/api/operations/{id}/cancel

Cancelar operação

Autenticação
projectBearer
Corpo da solicitação
nenhum
ID da operação
cancelOperation

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Idempotency-Keycabeçalhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' 'https://api.screenrig.ai/api/operations/RESOURCE_ID/cancel'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Operação durável cancelada. Uma cerca de trabalhador atual não pode mais finalizá-la.Operação (application/json)
padrão

Resposta de problema estável RFC 9457. 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 (application/problem+json)