Actualiza los roles de la clave API de la organización que especifique para el proyecto. Debe especificar al menos un rol válido para el proyecto. La aplicación elimina los roles que no incluya en esta solicitud si ya estaban configurados en la clave API de la organización que especifique para el proyecto. Para usar este recurso, la cuenta de servicio o la clave API solicitantes deben tener el rol de propietario del proyecto o administrador de acceso al proyecto.
Cadena 24hexadecimal única que identifica su proyecto. Utilice el punto de conexión /groups para recuperar todos los proyectos a los que el usuario autenticado tiene acceso.
NOTA: Grupos y proyectos son términos sinónimos. El ID de tu grupo es el mismo que el de tu proyecto. Para los grupos existentes, el ID de tu grupo/proyecto permanece igual. El recurso y los puntos finales correspondientes usan el término "grupos".
El formato debe coincidir con el siguiente patrón: ^([a-f0-9]{24})$.
Cadena de dígitos hexadecimales 24única que identifica la clave API de esta organización que desea desasignar de un proyecto.
El formato debe coincidir con el siguiente patrón: ^([a-f0-9]{24})$.
Número de la página que muestra el conjunto actual del total de objetos que devuelve la respuesta.
El valor mínimo es 1. El valor por defecto es 1.
Número de elementos que la respuesta devuelve por página.
El valor mínimo es 1, el valor máximo es 500. El valor predeterminado es 100.
Bandera que indica si la respuesta devuelve el número total de elementos (totalCount) en la respuesta.
El valor predeterminado es true.
Bandera que indica si el cuerpo de la respuesta debe estar en formato prettyprint.
El valor predeterminado es false.
Indicador que indica si la aplicación encapsula la respuesta en un objeto JSON envelope. Algunos clientes de la API no pueden acceder a los encabezados de respuesta HTTP ni al código de estado. Para solucionar esto, configure envelope=true en la consulta. Los endpoints que devuelven una lista de resultados utilizan el objeto de resultados como encapsulado. La aplicación añade el parámetro de estado al cuerpo de la respuesta.
El valor predeterminado es false.
Clave API de la organización a actualizar. Esta solicitud requiere al menos uno de los dos parámetros del cuerpo.
Propósito o explicación que se proporciona cuando alguien crea esta clave API del proyecto.
La longitud mínima es 1, la longitud máxima es 250.
Lista de roles a los que se otorga esta clave API. Si proporciona esta lista, indique al menos un rol y asegúrese de que cada uno sea aplicable a este proyecto.
atlas api programmaticApiKeys updateApiKeyRoles --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20250312001/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-03-12+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-03-12+json" \
--header "Content-Type: application/json" \
-X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/apiKeys/{apiUserId}" \
-d '{ <Payload> }'
{
"desc": "string",
"roles": [
"string"
]
}
{
"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": "string"
}
]
}
{
"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"
}