Referência da API

API de Clientes de serviço

Clientes de serviço

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

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

Clientes de serviço

GET/api/service-clients

Listar clientes de serviço

Os clientes de serviço do projeto (especificação: servidor, script ou trabalho CI de um cliente pertencente ao projeto), do mais novo ao mais antigo, ativos e revogados, com suas chaves públicas, ids secretos e uso; nunca um segredo ou seu resumo. Precisa da capacidade do projeto.

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

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.
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://api.screenrig.ai/api/service-clients'

Respostas

StatusSignificadoCorpo e cabeçalhos
200O cliente de serviço.ServiceClientList (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/service-clients

Criar cliente de serviço

Cria um cliente de serviço pertencente ao projeto com um nome, capacidades (omitido significa todas as seis; cada uma deve ser uma que o gerente possui, senão 403), acesso (leitura, padrão, ou gerenciamento), e uma chave pública JWK (OKP Ed25519, EC P-256 ou RSA de pelo menos 2048 bits) e/ou segredo verdadeiro. O segredo é retornado uma vez, apenas aqui. No máximo 50 clientes ativos por organização.

Agentes precisam de escopo de identidade, identidade ativa Gerenciar, sua própria concessão Gerenciar com a capacidade do projeto no projeto, e um papel ativo de administrador da organização; uma pessoa usa a sessão do dashboard com project_id e uma prova nova (tipo service_client_change, sujeito o id do cliente, ou o id do projeto ao criar) no corpo. Um token de serviço é recusado com 403.

Um membro limitado a telas não conecta agentes, não emite credenciais nem gerencia as pessoas do projeto: outside_screen_scope (peça ao proprietário do projeto).

Autenticação
agentIdentityBearer OU dashboardSession
Corpo da solicitação
ServiceClientChange
ID da operação
createServiceClient

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.

Campos do corpo da solicitação

CampoDescrição
project_id (opcional, string)Somente sessão do Dashboard.
proof (opcional, DashboardProof)
nome (opcional, string)minLength: 1 maxLength: 80
capacidades (opcional, array)
acesso (opcional, string)Gerenciar requer uma pessoa que possa aprovar revisões (403 approver_required). Permitido: "ler", "propor", "gerenciar"
key (opcional, objeto)Um JWK público: OKP Ed25519, EC P-256 ou RSA de pelo menos 2048 bits.
secreto (opcional, booleano)Gerar um segredo (somente criação).
upload_scope (opcional, UploadScope)

O que um uploader pode usar (docs/uploaders.md): as playlists cujas páginas ele altera e as pastas de mídia para as quais envia. As pastas são exatamente as listadas, nunca suas subpastas. Um id que, ao ser gravado, não nomeia nenhum objeto ativo do projeto é invalid_request em sua posição; uma exclusão posterior deixa um id morto, que não concede nada.

O escopo é lido a cada requisição, então uma mudança vale para a próxima.

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://api.screenrig.ai/api/service-clients'

Respostas

StatusSignificadoCorpo e cabeçalhos
201O cliente de serviço.ServiceClientResult (application/json)
402

feature_not_in_plan — um escopo de upload cria um uploader, e o plano do projeto não inclui uploaders; required_plan nomeia o plano que os inclui. Restringir um escopo e removê-lo são sempre permitidos.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

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/service-clients/{id}

Obter cliente de serviço

Um dos clientes de serviço do projeto. Precisa da capacidade do projeto.

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

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://api.screenrig.ai/api/service-clients/RESOURCE_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200O cliente de serviço.ServiceClient (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/service-clients/{id}

Atualizar cliente de serviço

Renomeia um cliente de serviço ou altera suas capacidades (dentro das do gerente) ou acesso. Restringir qualquer um encerra os tokens atuais do cliente em segundos.

Agentes precisam de escopo de identidade, identidade ativa Gerenciar, sua própria concessão Gerenciar com a capacidade do projeto no projeto, e um papel ativo de administrador da organização; uma pessoa usa a sessão do dashboard com project_id e uma prova nova (tipo service_client_change, sujeito o id do cliente, ou o id do projeto ao criar) no corpo. Um token de serviço é recusado com 403.

Um membro limitado a telas não conecta agentes, não emite credenciais nem gerencia as pessoas do projeto: outside_screen_scope (peça ao proprietário do projeto).

Autenticação
agentIdentityBearer OU dashboardSession
Corpo da solicitação
ServiceClientChange
ID da operação
updateServiceClient

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

Campos do corpo da solicitação

CampoDescrição
project_id (opcional, string)Somente sessão do Dashboard.
proof (opcional, DashboardProof)
nome (opcional, string)minLength: 1 maxLength: 80
capacidades (opcional, array)
acesso (opcional, string)Gerenciar requer uma pessoa que possa aprovar revisões (403 approver_required). Permitido: "ler", "propor", "gerenciar"
key (opcional, objeto)Um JWK público: OKP Ed25519, EC P-256 ou RSA de pelo menos 2048 bits.
secreto (opcional, booleano)Gerar um segredo (somente criação).
upload_scope (opcional, UploadScope)

O que um uploader pode usar (docs/uploaders.md): as playlists cujas páginas ele altera e as pastas de mídia para as quais envia. As pastas são exatamente as listadas, nunca suas subpastas. Um id que, ao ser gravado, não nomeia nenhum objeto ativo do projeto é invalid_request em sua posição; uma exclusão posterior deixa um id morto, que não concede nada.

O escopo é lido a cada requisição, então uma mudança vale para a próxima.

Modelo e respostas da solicitação
shell · modelo de requisição
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/service-clients/RESOURCE_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200O cliente de serviço.ServiceClientResult (application/json)
402

feature_not_in_plan — um escopo de upload cria um uploader, e o plano do projeto não inclui uploaders; required_plan nomeia o plano que os inclui. Restringir um escopo e removê-lo são sempre permitidos.

Problema (application/problem+json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

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)
POST/api/service-clients/{id}/keys

Adicionar chave de cliente de serviço

Registra uma segunda JWK pública (chave no corpo) para uma rotação sem tempo de inatividade; um cliente mantém no máximo duas.

Agentes precisam de escopo de identidade, identidade ativa Gerenciar, sua própria concessão Gerenciar com a capacidade do projeto no projeto, e um papel ativo de administrador da organização; uma pessoa usa a sessão do dashboard com project_id e uma prova nova (tipo service_client_change, sujeito o id do cliente, ou o id do projeto ao criar) no corpo. Um token de serviço é recusado com 403.

Um membro limitado a telas não conecta agentes, não emite credenciais nem gerencia as pessoas do projeto: outside_screen_scope (peça ao proprietário do projeto).

Autenticação
agentIdentityBearer OU dashboardSession
Corpo da solicitação
ServiceClientChange
ID da operação
addServiceClientKey

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

Campos do corpo da solicitação

CampoDescrição
project_id (opcional, string)Somente sessão do Dashboard.
proof (opcional, DashboardProof)
nome (opcional, string)minLength: 1 maxLength: 80
capacidades (opcional, array)
acesso (opcional, string)Gerenciar requer uma pessoa que possa aprovar revisões (403 approver_required). Permitido: "ler", "propor", "gerenciar"
key (opcional, objeto)Um JWK público: OKP Ed25519, EC P-256 ou RSA de pelo menos 2048 bits.
secreto (opcional, booleano)Gerar um segredo (somente criação).
upload_scope (opcional, UploadScope)

O que um uploader pode usar (docs/uploaders.md): as playlists cujas páginas ele altera e as pastas de mídia para as quais envia. As pastas são exatamente as listadas, nunca suas subpastas. Um id que, ao ser gravado, não nomeia nenhum objeto ativo do projeto é invalid_request em sua posição; uma exclusão posterior deixa um id morto, que não concede nada.

O escopo é lido a cada requisição, então uma mudança vale para a próxima.

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://api.screenrig.ai/api/service-clients/RESOURCE_ID/keys'

Respostas

StatusSignificadoCorpo e cabeçalhos
200O cliente de serviço.ServiceClientResult (application/json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

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)
POST/api/service-clients/{id}/keys/{kid}/remove

Remover chave de cliente de serviço

Remove uma chave; os tokens atuais do cliente terminam em segundos. Um cliente mantém pelo menos uma chave ou segredo.

Agentes precisam de escopo de identidade, identidade ativa Gerenciar, sua própria concessão Gerenciar com a capacidade do projeto no projeto, e um papel ativo de administrador da organização; uma pessoa usa a sessão do dashboard com project_id e uma prova nova (tipo service_client_change, sujeito o id do cliente, ou o id do projeto ao criar) no corpo. Um token de serviço é recusado com 403.

Um membro limitado a telas não conecta agentes, não emite credenciais nem gerencia as pessoas do projeto: outside_screen_scope (peça ao proprietário do projeto).

Autenticação
agentIdentityBearer OU dashboardSession
Corpo da solicitação
ServiceClientChange
ID da operação
removeServiceClientKey

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
kidcaminhoobrigatório

Campos do corpo da solicitação

CampoDescrição
project_id (opcional, string)Somente sessão do Dashboard.
proof (opcional, DashboardProof)
nome (opcional, string)minLength: 1 maxLength: 80
capacidades (opcional, array)
acesso (opcional, string)Gerenciar requer uma pessoa que possa aprovar revisões (403 approver_required). Permitido: "ler", "propor", "gerenciar"
key (opcional, objeto)Um JWK público: OKP Ed25519, EC P-256 ou RSA de pelo menos 2048 bits.
secreto (opcional, booleano)Gerar um segredo (somente criação).
upload_scope (opcional, UploadScope)

O que um uploader pode usar (docs/uploaders.md): as playlists cujas páginas ele altera e as pastas de mídia para as quais envia. As pastas são exatamente as listadas, nunca suas subpastas. Um id que, ao ser gravado, não nomeia nenhum objeto ativo do projeto é invalid_request em sua posição; uma exclusão posterior deixa um id morto, que não concede nada.

O escopo é lido a cada requisição, então uma mudança vale para a próxima.

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://api.screenrig.ai/api/service-clients/RESOURCE_ID/keys/KID/remove'

Respostas

StatusSignificadoCorpo e cabeçalhos
200O cliente de serviço.ServiceClientResult (application/json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

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)
POST/api/service-clients/{id}/secrets

Adicionar segredo de cliente de serviço

Gera um segundo segredo, retornado uma vez, para uma rotação sem tempo de inatividade; um cliente mantém no máximo dois.

Agentes precisam de escopo de identidade, identidade ativa Gerenciar, sua própria concessão Gerenciar com a capacidade do projeto no projeto, e um papel ativo de administrador da organização; uma pessoa usa a sessão do dashboard com project_id e uma prova nova (tipo service_client_change, sujeito o id do cliente, ou o id do projeto ao criar) no corpo. Um token de serviço é recusado com 403.

Um membro limitado a telas não conecta agentes, não emite credenciais nem gerencia as pessoas do projeto: outside_screen_scope (peça ao proprietário do projeto).

Autenticação
agentIdentityBearer OU dashboardSession
Corpo da solicitação
ServiceClientChange
ID da operação
addServiceClientSecret

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

Campos do corpo da solicitação

CampoDescrição
project_id (opcional, string)Somente sessão do Dashboard.
proof (opcional, DashboardProof)
nome (opcional, string)minLength: 1 maxLength: 80
capacidades (opcional, array)
acesso (opcional, string)Gerenciar requer uma pessoa que possa aprovar revisões (403 approver_required). Permitido: "ler", "propor", "gerenciar"
key (opcional, objeto)Um JWK público: OKP Ed25519, EC P-256 ou RSA de pelo menos 2048 bits.
secreto (opcional, booleano)Gerar um segredo (somente criação).
upload_scope (opcional, UploadScope)

O que um uploader pode usar (docs/uploaders.md): as playlists cujas páginas ele altera e as pastas de mídia para as quais envia. As pastas são exatamente as listadas, nunca suas subpastas. Um id que, ao ser gravado, não nomeia nenhum objeto ativo do projeto é invalid_request em sua posição; uma exclusão posterior deixa um id morto, que não concede nada.

O escopo é lido a cada requisição, então uma mudança vale para a próxima.

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://api.screenrig.ai/api/service-clients/RESOURCE_ID/secrets'

Respostas

StatusSignificadoCorpo e cabeçalhos
200O cliente de serviço.ServiceClientResult (application/json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

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)
POST/api/service-clients/{id}/secrets/{secret_id}/remove

Remover segredo de cliente de serviço

Remove um segredo; os tokens atuais do cliente terminam em segundos.

Agentes precisam de escopo de identidade, identidade ativa Gerenciar, sua própria concessão Gerenciar com a capacidade do projeto no projeto, e um papel ativo de administrador da organização; uma pessoa usa a sessão do dashboard com project_id e uma prova nova (tipo service_client_change, sujeito o id do cliente, ou o id do projeto ao criar) no corpo. Um token de serviço é recusado com 403.

Um membro limitado a telas não conecta agentes, não emite credenciais nem gerencia as pessoas do projeto: outside_screen_scope (peça ao proprietário do projeto).

Autenticação
agentIdentityBearer OU dashboardSession
Corpo da solicitação
ServiceClientChange
ID da operação
removeServiceClientSecret

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
secret_idcaminhoobrigatório

Campos do corpo da solicitação

CampoDescrição
project_id (opcional, string)Somente sessão do Dashboard.
proof (opcional, DashboardProof)
nome (opcional, string)minLength: 1 maxLength: 80
capacidades (opcional, array)
acesso (opcional, string)Gerenciar requer uma pessoa que possa aprovar revisões (403 approver_required). Permitido: "ler", "propor", "gerenciar"
key (opcional, objeto)Um JWK público: OKP Ed25519, EC P-256 ou RSA de pelo menos 2048 bits.
secreto (opcional, booleano)Gerar um segredo (somente criação).
upload_scope (opcional, UploadScope)

O que um uploader pode usar (docs/uploaders.md): as playlists cujas páginas ele altera e as pastas de mídia para as quais envia. As pastas são exatamente as listadas, nunca suas subpastas. Um id que, ao ser gravado, não nomeia nenhum objeto ativo do projeto é invalid_request em sua posição; uma exclusão posterior deixa um id morto, que não concede nada.

O escopo é lido a cada requisição, então uma mudança vale para a próxima.

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://api.screenrig.ai/api/service-clients/RESOURCE_ID/secrets/SECRET_ID/remove'

Respostas

StatusSignificadoCorpo e cabeçalhos
200O cliente de serviço.ServiceClientResult (application/json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

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)
POST/api/service-clients/{id}/revoke

Revogar cliente de serviço

Revoga permanentemente um cliente de serviço: suas chaves e digests secretos são excluídos, o registro permanece para auditoria e seus tokens terminam em segundos (propagação aplicada ou pendente).

Agentes precisam de escopo de identidade, identidade ativa Gerenciar, sua própria concessão Gerenciar com a capacidade do projeto no projeto, e um papel ativo de administrador da organização; uma pessoa usa a sessão do dashboard com project_id e uma prova nova (tipo service_client_change, sujeito o id do cliente, ou o id do projeto ao criar) no corpo. Um token de serviço é recusado com 403.

Um membro limitado a telas não conecta agentes, não emite credenciais nem gerencia as pessoas do projeto: outside_screen_scope (peça ao proprietário do projeto).

Autenticação
agentIdentityBearer OU dashboardSession
Corpo da solicitação
ServiceClientChange
ID da operação
revokeServiceClient

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

Campos do corpo da solicitação

CampoDescrição
project_id (opcional, string)Somente sessão do Dashboard.
proof (opcional, DashboardProof)
nome (opcional, string)minLength: 1 maxLength: 80
capacidades (opcional, array)
acesso (opcional, string)Gerenciar requer uma pessoa que possa aprovar revisões (403 approver_required). Permitido: "ler", "propor", "gerenciar"
key (opcional, objeto)Um JWK público: OKP Ed25519, EC P-256 ou RSA de pelo menos 2048 bits.
secreto (opcional, booleano)Gerar um segredo (somente criação).
upload_scope (opcional, UploadScope)

O que um uploader pode usar (docs/uploaders.md): as playlists cujas páginas ele altera e as pastas de mídia para as quais envia. As pastas são exatamente as listadas, nunca suas subpastas. Um id que, ao ser gravado, não nomeia nenhum objeto ativo do projeto é invalid_request em sua posição; uma exclusão posterior deixa um id morto, que não concede nada.

O escopo é lido a cada requisição, então uma mudança vale para a próxima.

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://api.screenrig.ai/api/service-clients/RESOURCE_ID/revoke'

Respostas

StatusSignificadoCorpo e cabeçalhos
200O cliente de serviço.ServiceClientResult (application/json)
403

outside_screen_scope - o chamador é limitado a telas e a tela, pasta de telas, seletor ou público que a requisição nomeia ou alcança está fora delas (docs/screen-scope.md). Um id fora do escopo e um id que não existe recebem a mesma resposta; errors[0].screen_scope traz o escopo do chamador, e a escrita é recusada por inteiro, nunca restringida.

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)