Ciclo de vida do projeto e organização
O projeto atual é o último usado. Cada envelope JSON inclui contexto de organização e projeto; a saída humana nomeia ambos. Credenciais de identidade são limitadas pela associação do projeto selecionado. O estado de nova tentativa permanece separado por projeto.
project list
project token --projects IDS
project use ID
project create NAME [--organization-id ID | --organization NAME]
project moves
project move --organization-id ID
project transfer-owner --user-id ID
project deletion-preview
project delete --name NAME --revision N --yes
organization list
organization rename ID NAME
project export DIR [--no-media] [--since YYYY-MM-DD]
agent disconnect --yes [--allow-lockout]
agent revoke-identity --yesproject list verifica as associações acessíveis. project token --projects IDS substitui os projetos que o token deste login cobre por 1 a 64 IDs de projeto com consentimento, separados por vírgulas ou espaços. project use seleciona um. A criação exige um nome único na organização e usa por padrão a organização do projeto atual, depois a organização que você administra; quando nenhuma é indicada, a organização que detém o domínio de e-mail verificado do proprietário vem primeiro. A pessoa responsável se torna proprietária. Cada plano limita quantos projetos uma organização comporta; cada pessoa tem uma organização Standard gratuita, e uma segunda exige Plus, Premium ou Enterprise. Sem projeto atual e sem organização indicada, o servidor posiciona o projeto da mesma forma. --organization NAME inicia uma nova organização apenas para uma pessoa que não possui uma gratuita; caso contrário, a criação é recusada com free_organization_limit, cujo detalhe nomeia a organização a usar. A inscrição é regida por limites de taxa.
O proprietário pode mover o projeto para um destino retornado por project moves, ou transferir a propriedade para um membro verificado existente. A movimentação leva as telas junto, e uma organização de destino que já tem tantos projetos quanto o plano dela permite a recusa com project_limit_reached. A exclusão usa o nome atual exato e a revisão positiva da sua prévia. Ela exige zero telas não arquivadas, nenhum plano próprio e nenhuma publicidade ativa. Somente o proprietário do projeto ou um administrador da organização dele pode excluí-lo; um agente exclui em nome da sua pessoa responsável, ou sozinho apenas o projeto que ele inscreveu enquanto nenhuma pessoa tiver aceitado essa inscrição. Ela envia e-mail aos membros e mantém um registro da exclusão.
Os nomes de organização podem se repetir; use IDs explícitos ao renomear uma organização que você administra. Uma organização tem administradores designados e membros do domínio; os administradores convidam outros administradores e membros por e-mail a partir do painel. organization list marca as organizações free e plan_required, relata new_organization_allowed e nomeia o projeto de biblioteca de uma organização em library_project_id quando ela tem um. A lista de projetos dela não concede acesso ao conteúdo dos projetos. Quem paga é a organização: o plano, o armazenamento e o limite de solicitações de agente dela são compartilhados pelos seus projetos.
login --project ID solicita esse projeto na mesma identidade. Apenas aprovação explícita desta solicitação concede uma associação. agent disconnect --yes revoga uma associação (--allow-lockout também permite revogar o último agente do projeto); agent revoke-identity --yes revoga separadamente a identidade e todas as associações. Uma resposta ambígua mantém credenciais locais e estado de tentativa para reconciliação.
Relatórios de publicidade mantêm fatos de liquidação além da retenção de eventos. Leia seus metadados de cobertura: execuções históricas ausentes ou duração aprovada desconhecida são desconhecidas, nunca zero. Um relatório pode ter totais financeiros completos e histórico de resultados incompleto.
Projetos, convites e diagnósticos
Comandos do projeto listam associações, selecionam um projeto, criam projetos e gerenciam seus nomes, proprietários, transferências e exclusão. Convites trazem pessoas para projetos ou redes de anúncios.
project show#
Lê o registro do projeto.
project show
Sem parâmetros.
screenrig project show
project rename#
Defina o nome que as pessoas veem no seletor de projetos do dashboard.
project rename NAME
project token#
Substituir os projetos que o token deste login cobre.
project token --projects IDS| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
--projects IDS | string | sim | nenhum | De 1 a 64 ids de projeto prj_ distintos, separados por vírgulas ou espaços, cada um com o consentimento desta identidade. |
screenrig project token --projects prj_01EXAMPLEPROJECT0000,prj_01EXAMPLEOTHER000000Substitui o subconjunto inteiro; project list sozinho não concede acesso. Uma resposta perdida mantém o id da solicitação de rotação para uma nova tentativa idêntica.
project capabilities#
Ler o plano do projeto, flags de recurso independentes screens e advertiser, e conjunto de capacidades efetivas. Uma negação de rota prevalece sobre uma leitura de capacidade desatualizada.
project capabilities
project uptime#
Ler a disponibilidade diária de telas do projeto ao longo dos dias UTC.
project uptime [--day-from YYYY-MM-DD] [--day-to YYYY-MM-DD] [--format json|csv|xlsx|pdf] [--output FILE]| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
--day-from YYYY-MM-DD | string | não | 29 dias antes de --day-to | Primeiro dia UTC, inclusivo. |
--day-to YYYY-MM-DD | string | não | hoje | Último dia UTC, inclusivo. No máximo 366 dias após --day-from. |
--format FORMAT | string | não | json | json é a resposta do comando. csv, xlsx ou pdf grava todas as linhas em --output e responde com path, bytes, sha256, content_type e format do arquivo. |
--output FILE | caminho | não | ./project-uptime.FORMAT | O arquivo para csv, xlsx ou pdf: um caminho de arquivo, não um diretório, e não -. Um arquivo existente é substituído. Não com json. |
screenrig project uptime
screenrig project uptime --day-from 2026-09-01 --day-to 2026-09-30Intervalo e padrões são os de screen uptime. data.items lista uma linha por dia UTC, do mais antigo para o mais recente: online_s e offline_s somados sobre as telas com estado registrado naquele dia, availability, coverage (a parte do dia dessas telas com estado registrado) e screens (quantas tiveram estado registrado). A linha de hoje cobre intervalos que terminaram até agora; screen list mostra quem está online agora.
project health-trend#
Ler a saúde da frota por hora UTC: telas reportando, quente, display desconectado, travando.
project health-trend [--from TIME] [--to TIME] [--format json|csv|xlsx|pdf] [--output FILE]| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
--from TIME | string | não | 24 horas antes de --to | Início inclusivo da hora: um instante RFC 3339 com segundos e um deslocamento (normalizado para UTC), now, ou uma idade como 7d, 12h ou 30m. |
--to TIME | string | não | agora | Fim exclusivo, nas mesmas formas. No máximo 93 dias após --from. |
--format FORMAT | string | não | json | json é a resposta do comando. csv, xlsx ou pdf grava todas as linhas em --output e responde com path, bytes, sha256, content_type e format do arquivo. |
--output FILE | caminho | não | ./health-trend.FORMAT | O arquivo para csv, xlsx ou pdf: um caminho de arquivo, não um diretório, e não -. Um arquivo existente é substituído. Não com json. |
screenrig project health-trend
screenrig project health-trend --from 7ddata.items lista a saúde da frota por hora UTC: hour, screens_reporting, hot (temperatura máxima igual ou acima de 80 °C), display_disconnected, e crashing (3 ou mais falhas em 24 horas). O CLI segue next_cursor até o fim e responde a cada hora com next_cursor null. As horas seguem os relatórios com até cerca de 5 minutos de atraso.
project export#
Gravar os dados deste projeto em um diretório em formatos abertos.
project export <DIR> [--no-media] [--since YYYY-MM-DD]| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
<DIR> | caminho | sim | nenhum | O diretório onde gravar. Ele é criado se necessário, e uma nova execução o continua e o atualiza. |
--no-media | boolean | não | desligado | Omita os arquivos de mídia originais; o manifesto ainda os lista com seus hashes. |
--since YYYY-MM-DD | string | não | até onde o plano mantém os dados | Primeiro dia UTC dos CSV de plays, uptime e reprodução e do registro de eventos. |
screenrig project export ./export
screenrig project export ./export --no-media --since 2026-01-01DIR obtém JSON do projeto, telas, pastas de telas, tags, programações por tela, playlists com todas as revisões, campanhas, campanhas diretas, cartões e seus dados, fontes (nunca suas credenciais), notificações, webhooks (sem segredos de assinatura nem URLs de receptores), silenciamentos, metadados de aplicativos, gatilhos e assinaturas de relatórios; os arquivos de mídia originais em media/files, com media/manifest.json contendo o SHA-256 de cada arquivo; CSV de plays, reprodução, uptime e alertas em data/; e o registro de eventos em log/events.jsonl. export.json é gravado por último e lista cada arquivo com seu tamanho e SHA-256 e o resultado de cada seção (ok, skipped ou failed). Uma nova execução mantém os arquivos de mídia completos e continua os parciais. Uma seção que a credencial não pode ler é skipped; o aviso export_section_failed indica que a cópia está incompleta, então execute o mesmo comando novamente. Os arquivos de aplicativos são reportados como omitidos com complete: false e o aviso export_application_content_omitted, inclusive com --no-media: mantenha os arquivos originais dos aplicativos para recuperação. Cada solicitação é uma solicitação de API cobrada, e os downloads de mídia são tráfego de saída.
invitations#
Criar, listar ou revogar convites para membros do projeto, uploaders e compradores de anúncios.
invitations create (--email ADDRESS[,ADDRESS] | --link) [--kind member|uploader|ad-buyer]
[--screen-id IDS] [--screen-folder-id IDS] [--slot-id IDS] [--policy trusted|review_required]
[--folder-id IDS] [--playlist-id IDS] [--access propose|manage]
invitations list [--kind member|ad-buyer] [--status STATUS]
invitations revoke ID--kind tem member como padrão. A entrega por e-mail é o padrão e expira após sete dias. --email aceita destinatários separados por vírgula, até cinquenta por solicitação. --link é somente para membros, não nomeia nenhum destinatário e retorna uma vez uma URL de convite de vinte e quatro horas para entrega direta à pessoa pretendida. Nunca coloque essa URL em logs, notas ou transcrição compartilhada. As listas nunca a retornam. No máximo 50 convites podem estar pendentes por organização.
Compradores de anúncios usam apenas e-mail e precisam de escopo de tela ou slot próprio (ou ambos). --screen-id e --slot-id aceitam IDs separados por vírgula; --policy seleciona trusted ou review_required. Filtros de status são queued, sent, issued, accepted, revoked, expired e failed.
--kind uploader convida uma pessoa que trabalha apenas nas pastas de mídia indicadas com --folder-id (pelo menos uma) e nas playlists indicadas com --playlist-id: ela faz upload para essas pastas e adiciona, substitui e remove páginas dessas playlists, e nada mais. As alterações dela aguardam revisão, a menos que --access manage, algo que só quem pode aprovar revisões pode conceder. Um convite --kind member com --screen-folder-id (cada pasta inclui todas as pastas dentro dela) ou --screen-id limita a pessoa que aceita a essas telas. --folder-id, --playlist-id e --access exigem --kind uploader, e --slot-id e --policy exigem --kind ad-buyer. Veja Autenticação.
screenrig invitations create --email teammate@example.com
screenrig invitations create --kind ad-buyer --email buyer@example.com --screen-id scr_LOBBY --policy review_requiredAgentes não aceitam convites. A pessoa convidada abre o e-mail, faz login ou cria uma passkey, e aceita no dashboard. O cadastro por link verifica o e-mail primeiro. Revogar um convite aceito não desfaz uma associação; use os controles de associação do comprador para revogar o acesso à publicidade.
agent status#
Relatar se esta instalação possui uma credencial utilizável.
agent statusSem parâmetros.
screenrig agent statusSomente leitura. Nunca altera estado local ou do servidor, e não custa nada. O resultado traz o access da sessão, seu effective_access e, quando a configuração de revisão do projeto ou um membro que não pode aprovar o mantém em nível inferior, access_limited_by (project ou person). Quando o projeto limita este agente a pastas de telas e telas, screen_scope as lista (folder_ids, cada uma com todas as pastas dentro dela, e screen_ids) e person_screen_scope é o escopo da pessoa responsável pelo agente; o agente age apenas nas telas que ambos permitem, e ambos estão ausentes para um agente do projeto inteiro. Fora do escopo, um comando responde outside_screen_scope (saída 3). Notas novas do projeto, ou notas que precisam de revisão, acrescentam o aviso notes_waiting.
agent disconnect#
Revogar a associação deste agente ao projeto atual.
agent disconnect --yes [--allow-lockout]| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
--yes | boolean | sim | desligado | Confirme a revogação. Nada é enviado sem isso. |
--allow-lockout | boolean | não | desligado | Permita desconectar o último agente do projeto. Sem isso, o servidor recusa com agent_lockout_risk. |
screenrig agent disconnect --yesRevoga apenas a associação ao projeto atual: a identidade, as outras associações, o projeto e suas telas permanecem. As credenciais locais e o estado de tentativa permanecem quando a resposta é ambígua, então executar novamente é seguro.
agent revoke-identity#
Revogar esta identidade e todas as suas associações a projetos.
agent revoke-identity --yes| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
--yes | boolean | sim | desligado | Confirme a revogação em todos os projetos. |
screenrig agent revoke-identity --yesA revogação confirmada apaga as credenciais locais e o trabalho pendente de todos os projetos em cache. Uma falha ambígua os mantém.
login#
Faça login desta instalação em uma conta existente, com aprovação de uma pessoa no dashboard, ou como um cliente de serviço.
login [--project ID] [--access read|propose|manage] [--name NAME] [--no-wait] [--resume ID]
login --client-id ID (--client-key-file PATH | --client-secret-file PATH)| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
--project ID | string | não | nenhum | Sugira o projeto prj_ que a pessoa aprova. |
--access LEVEL | string | não | gerenciar | read, propose ou manage. A pessoa faz a escolha final. |
--name NAME | string | não | nenhum | Nomeie esta instalação, no máximo 80 caracteres. |
--no-wait | boolean | não | desligado | Retornar status: pending com o endereço, o código e um identificador login_. |
--resume ID | string | não | nenhum | Aguarde o login pendente que --no-wait iniciou. |
--client-id ID | string | não | nenhum | Faça login desta configuração como um cliente de serviço (scl_…) em vez de uma pessoa, sem aprovação. Não com --no-wait, --project, --access ou --name. |
--client-key-file PATH | caminho | com --client-id | nenhum | A chave privada do cliente, um JWK ou PEM. Exatamente um entre o arquivo de chave e o arquivo de segredo. |
--client-secret-file PATH | caminho | com --client-id | nenhum | Um arquivo com o segredo do cliente. |
screenrig login --access read
screenrig --config ci.json login --client-id scl_01EXAMPLECLIENT0000 --client-key-file ci-key.pemImprime o endereço do dashboard e um código de oito letras no stderr, depois espera até 24 horas. A pessoa verifica se o código corresponde e pressiona Conectar uma vez, sem segundo prompt de passkey após login no dashboard na última hora. O envelope reporta status: signed_in, o projeto, a organização e access. Executar novamente em uma instalação logada adiciona um projeto ou eleva de Somente leitura ou Propor projeto para Gerenciar. Negação é login_denied e expiração é login_expired.
A configuração de um cliente de serviço deve ser um arquivo próprio: todo comando posterior com esse --config faz login como o cliente, lendo o arquivo de chave ou de segredo a cada vez e mantendo o token na memória.
logout#
Encerrar o login desta instalação e remover seus tokens.
logoutSem parâmetros.
screenrig logoutRevoga o login no servidor, depois remove os tokens armazenados e reporta status: signed_out. Na configuração de um cliente de serviço, remove o cliente salvo e deixa seu arquivo de chave ou de segredo. Uma falha que pode não ter alcançado o servidor os mantém, então executar novamente é seguro. Execute screenrig login para entrar novamente.
dashboard#
Abra a URL comum do dashboard. Este comando não gera um link de login, cria uma sessão ou precisa de credencial de agente.
dashboard [open]
screenrig dashboard
O dashboard mostra os projetos da pessoa após o login. A seleção de projeto no navegador não altera o projeto vinculado a um agente.
dashboard reset-sign-in#
Solicitar um e-mail de redefinição de login sem credencial de agente.
dashboard reset-sign-in --email ADDRESSO reconhecimento não revela se o e-mail tem um login. O reset enviado por e-mail expira após uma hora; a pessoa cria uma nova passkey. A conclusão substitui suas credenciais de login e revoga outras sessões. Enquanto a propriedade do projeto ainda está pendente desde a inscrição, --email com o endereço de inscrição original também envia por e-mail um novo convite de inscrição de sete dias; a pessoa o abre e o aceita com seu login para reivindicar a propriedade.
doctor#
Verifique esta instalação e relate cada verificação pelo nome.
doctor [--repair-config]| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
--repair-config | boolean | não | desligado | Aperte as permissões em um arquivo de configuração existente que é legível por grupo ou outros. |
screenrig doctordata.checks nomeia cada verificação e seu status (pass, warn ou fail): o runtime Node, o caminho de configuração resolvido e suas permissões, a credencial armazenada e o fim do login, a origem do plano de controle e suas rotas de serviço, a capacidade feedback anunciada, e a cadeia de ferramentas de mídia opcional (ffmpeg, ffprobe, encoder_libx264, encoder_libx265, encoder_libwebp, cwebp, filter_hdr_tonemap).
Qualquer verificação falhada faz doctor sair com código diferente de zero, e warn não faz isso, então leia os nomes individuais antes de chamar a instalação de não saudável. Uma cadeia de ferramentas de mídia ausente afeta apenas os comandos que convertem mídia: media upload, media upload-batch, media replace e playlist init.
version#
Imprime a versão do CLI empacotada e seu adaptador de protocolo.
version
Sem parâmetros.
screenrig version
Execute isto primeiro em uma sessão. Um envelope bem-sucedido prova que o launcher resolveu o CLI incluído. --version e -V fazem a mesma coisa de qualquer lugar na linha de comando.
Faturamento
Limites do plano e valores de publicidade do projeto. Solicitações, armazenamento, reprodução e tudo o mais que um projeto faz nunca são cobrados; os valores aqui são apenas de publicidade. Os três comandos são gratuitos, e as leituras de /api/billing não contam no limite por hora de solicitações de agente.
billing usage#
Lê os limites de armazenamento e de solicitações de agente do plano.
billing usageSem parâmetros.
screenrig billing usagedata.stored_bytes é o armazenamento usado e data.allowance.storage_bytes o limite de armazenamento do plano; um upload além dele é recusado com quota_exceeded. data.allowance.requests_per_hour é o limite por hora de solicitações de agente (agent_requests_per_hour na saída para pessoas). As solicitações restantes nesta hora estão no cabeçalho RateLimit de cada resposta contada.
billing balance#
Lê os valores de publicidade em dólares americanos: restante, reservado, disponível e ganhos pagáveis.
billing balanceSem parâmetros.
screenrig billing balanceOs anunciantes pagam com cartão ou com pagamento de máquina x402, os preços e os ganhos são em dólares americanos e os pagamentos começam em 1º de janeiro de 2027. A saída para pessoas mostra dólares; o JSON mantém os membros decimais mcr, em que 10.000.000 mcr são US$1.
billing statement#
Ler as entradas lançadas do livro-razão.
billing statement [--cursor CURSOR] [--limit COUNT]| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
--cursor CURSOR | string | não | primeira página | O next_cursor de um extrato anterior. |
--limit COUNT | integer | não | padrão do servidor | O máximo de entradas a retornar. |
screenrig billing statement --limit 20As entradas são linhas do livro-razão lançadas, em dólares americanos, em ordem estável. As reservas aparecem como bloqueios, não como ganhos ou gastos lançados, e uma correção aponta para a entrada original em vez de reescrevê-la. Uma cobrança de publicidade é visível ao comprador; o vendedor vê o bruto, a taxa de serviço e o líquido.