Substitui o conjunto completo de funções em uma conta de serviço ao cliente com escopo de projeto. roles é necessário e aceita no máximo um nome não em branco: PROJECT_OWNER, PROJECT_READ_ONLY ou AGENT_DEVELOPER. PROJECT_MEMBER ainda é aceito. role_assignments repete a função armazenada do Mecanismo do agente. Um array vazio explícito limpa todos os roles. Exige PROJECT_OWNER; ORG_ADMIN para a organização possuidora também passa.
parâmetros de caminho
-
ID do Projeto
-
ID do cliente da conta de serviço (ae_sa_id_, legado agp_sa_id_)
Respostas
-
Versão de API não permitida ou malformada, uma operação indisponível no contrato publicado selecionado ou uma representação inaceitável (incluindo parâmetros de tipo de mídia não suportados ou SSE excluído). Falhas existentes de autenticação, autorização e limite de taxa têm precedência.
-
OK
-
Solicitação inválida
-
Proibido
-
Não encontrado
-
Muitas solicitações
-
Erro interno do servidor
-
Serviço indisponível
curl \
--request PATCH 'https://agentengine.mongodb.com/api/v1/projects/{id}/service-accounts/{client_id}' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{
"roles": [
"string"
]
}'
{
"roles": [
"string"
]
}
{
"detail": "This operation is not available in API version 2026-09-20-preview.",
"error": 406,
"errorCode": "OPERATION_NOT_IN_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "This operation supports text/event-stream, which the Accept header excludes. Remove unsupported media-type parameters or accept this type with a positive q value.",
"error": 406,
"errorCode": "UNACCEPTABLE_MEDIA_TYPE",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "The requested API version is not supported. Supported versions: 2026-09-20-preview.",
"error": 406,
"errorCode": "UNSUPPORTED_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "This operation is not available in API version 2026-09-20-preview.",
"error": 406,
"errorCode": "OPERATION_NOT_IN_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"service_account": {
"active_secret": {
"created_at": "string",
"expires_at": "string",
"last_used_at": "string",
"masked_value": "string"
},
"client_id": "string",
"created_at": "string",
"description": "string",
"id": "string",
"ip_access_list": [
"string"
],
"is_active": true,
"is_system_managed": true,
"name": "string",
"org_id": "string",
"owner": "string",
"project_id": "string",
"role_assignments": [
{
"org_id": "string",
"project_id": "string",
"role": "string"
}
],
"type": "string",
"updated_at": "string"
}
}
{
"service_account": {
"active_secret": {
"created_at": "string",
"expires_at": "string",
"last_used_at": "string",
"masked_value": "string"
},
"client_id": "string",
"created_at": "string",
"description": "string",
"id": "string",
"ip_access_list": [
"string"
],
"is_active": true,
"is_system_managed": true,
"name": "string",
"org_id": "string",
"owner": "string",
"project_id": "string",
"role_assignments": [
{
"org_id": "string",
"project_id": "string",
"role": "string"
}
],
"type": "string",
"updated_at": "string"
}
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}