Crea una cuenta de servicio para la organización especificada.
Parámetros de ruta
-
Cadena 24hexadecimal única que identifica la organización que contiene sus proyectos. Utilice el
/orgspunto de conexión para recuperar todas las organizaciones a las que el usuario autenticado tiene acceso.El formato debe coincidir con el siguiente patrón:
^([a-f0-9]{24})$.
Parámetros de consulta
-
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. -
Bandera que indica si el cuerpo de la respuesta debe estar en formato prettyprint.
El valor predeterminado es
false.Impresión bonita
Cuerpo
Requerido
Detalles de la nueva Cuenta de Servicio.
-
Descripción legible para humanos de la cuenta de servicio.
La longitud mínima es
1y la máxima es250. El formato debe coincidir con el siguiente patrón:^[\p{L}\p{N}\-_.,' ]*$. -
Nombre legible para la cuenta de servicio. El nombre es modificable y no tiene que ser único.
La longitud mínima es
1y la máxima es64. El formato debe coincidir con el siguiente patrón:^[\p{L}\p{N}\-_.,' ]*$. -
Una lista de roles a nivel de organización para la cuenta de servicio.
Al menos
1elemento. Los valores sonORG_MEMBER,ORG_READ_ONLY,ORG_BILLING_ADMIN,ORG_BILLING_READ_ONLY,ORG_STREAM_PROCESSING_ADMIN,ORG_GROUP_CREATORoORG_OWNER. -
El tiempo de expiración del nuevo secreto de la Cuenta de Servicio, expresado en horas. Los tiempos de expiración mínimos y máximos permitidos están sujetos a cambios y se controlan en la configuración de la organización.
atlas api serviceAccounts createOrgServiceAccount --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.CreateOrgServiceAccountApiParams{}
sdkResp, httpResp, err := client.ServiceAccountsApi.
CreateOrgServiceAccountWithParams(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 POST "https://cloud.mongodb.com/api/atlas/v2/orgs/{orgId}/serviceAccounts" \
-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 POST "https://cloud.mongodb.com/api/atlas/v2/orgs/{orgId}/serviceAccounts" \
-d '{ <Payload> }'
{
"description": "string",
"name": "string",
"roles": [
"ORG_MEMBER"
],
"secretExpiresAfterHours": 8
}
{
"clientId": "mdb_sa_id_1234567890abcdef12345678",
"createdAt": "2026-05-04T09:42:00Z",
"description": "string",
"name": "string",
"roles": [
"ORG_MEMBER"
],
"secrets": [
{
"createdAt": "2026-05-04T09:42:00Z",
"expiresAt": "2026-05-04T09:42:00Z",
"id": "32b6e34b3d91647abb20e7b8",
"lastUsedAt": "2026-05-04T09:42:00Z",
"maskedSecretValue": "mdb_sa_sk_...",
"secret": "mdb_sa_sk_..."
}
]
}
{
"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"
}