Atualizar funções da chave de API da organização para um projeto
Atualiza as funções da chave API da organização que você especifica para o projeto que você especifica. Você deve especificar pelo menos uma função válida para o projeto. O aplicativo remove todos as funções que você não incluir nessa solicitação se eles tiverem sido definidos anteriormente na chave da API da organização que você especificar para o projeto.
parâmetros de caminho
- 
    
  Sequência única de 24dígitos hexadecimais que identifica seu projeto. Use o endpoint /groups para extrair todos os projetos aos quais o usuário autenticado tem acesso. AVISO: grupos e projetos são termos sinônimos. O ID do seu grupo é igual ao ID do seu projeto. Para grupos existentes, o ID do grupo/projeto permanece o mesmo. O recurso e os endpoints correspondentes usam o termo grupos. O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.
- 
    
  String exclusiva de 24 dígitos hexadecimais que identifica esta chave de API da organização que você deseja remover de um projeto. O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.
parâmetros de query
- 
    
  Número da página que exibe o conjunto atual dos objetos totais que a resposta retorna. O valor mínimo é 1. O valor padrão é1.
- 
    
  Número de itens que a resposta retorna por página. O valor mínimo é 1, o valor máximo é500. O valor padrão é100.
- 
    
  Sinalizador que indica se a resposta retorna o número total de itens (totalCount) na resposta. O valor padrão é true.
- 
    
  Sinalizador que indica se o corpo da resposta deve estar no formato prettyprint. O valor padrão é false.Prettyprint 
- 
    
  Sinalizador que indica se o aplicativo empacota a resposta em um objeto JSON envelope. Alguns clientes de API não podem acessar os cabeçalhos de resposta HTTP ou o código de status. Para corrigir isso, defina envelope=true na consulta. Os endpoints que retornam uma lista de resultados usam o objeto de resultados como um envelope. O aplicativo adiciona o parâmetro de status ao corpo da resposta.O valor padrão é false.
      
  
    
  
        corpo, corpo
      
    Obrigatório
 
    
    Chave API da organização a ser atualizada. Esta solicitação exige no mínimo um dos dois parâmetros do corpo.
- 
    
  Finalidade ou explicação fornecida quando alguém cria esta chave de API do projeto. O comprimento mínimo é 1, o comprimento máximo é250.
- 
    
  Lista de funções para conceder esta chave API. Se você fornecer essa lista, forneça no mínimo um função e verifique se cada função se aplica a esse projeto. Os valores são GROUP_BACKUP_MANAGER,GROUP_CLUSTER_MANAGER,GROUP_DATA_ACCESS_ADMIN,GROUP_DATA_ACCESS_READ_ONLY,GROUP_DATA_ACCESS_READ_WRITE,GROUP_DATABASE_ACCESS_ADMIN,GROUP_OBSERVABILITY_VIEWER,GROUP_OWNER,GROUP_READ_ONLY,GROUP_SEARCH_INDEX_EDITORouGROUP_STREAM_PROCESSING_OWNER.
atlas api programmaticApiKeys updateApiKeyRoles --helpimport (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20250219001/admin"
)
func main() {
	ctx := context.Background()
	clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
	clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")
	// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
	client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))
	if err != nil {
		log.Fatalf("Error: %v", err)
	}
	params = &sdk.UpdateGroupApiKeyRolesApiParams{}
	sdkResp, httpResp, err := client.ProgrammaticAPIKeysApi.
		UpdateGroupApiKeyRolesWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2025-02-19+json" \
  --header "Content-Type: application/json" \
  -X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/apiKeys/{apiUserId}" \
  -d '{ <Payload> }'curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
  --digest --include \
  --header "Accept: application/vnd.atlas.2025-02-19+json" \
  --header "Content-Type: application/json" \
  -X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/apiKeys/{apiUserId}" \
  -d '{ <Payload> }'{
  "desc": "string",
  "roles": [
    "GROUP_BACKUP_MANAGER"
  ]
}{
  "desc": "string",
  "id": "32b6e34b3d91647abb20e7b8",
  "links": [
    {
      "href": "https://cloud.mongodb.com/api/atlas",
      "rel": "self"
    }
  ],
  "privateKey": "55c3bbb6-b4bb-0be1-e66d20841f3e",
  "publicKey": "zmmrboas",
  "roles": [
    {
      "groupId": "32b6e34b3d91647abb20e7b8",
      "orgId": "32b6e34b3d91647abb20e7b8",
      "roleName": "ORG_MEMBER"
    }
  ]
}{
  "error": 400,
  "detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
  "reason": "Bad Request",
  "errorCode": "VALIDATION_ERROR"
}{
  "error": 401,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Unauthorized",
  "errorCode": "NOT_ORG_GROUP_CREATOR"
}{
  "error": 403,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Forbidden",
  "errorCode": "CANNOT_CHANGE_GROUP_NAME"
}{
  "error": 404,
  "detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
  "reason": "Not Found",
  "errorCode": "RESOURCE_NOT_FOUND"
}{
  "error": 500,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Internal Server Error",
  "errorCode": "UNEXPECTED_ERROR"
}