Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Referencia de la API de administración de Atlas

La API de administración de Atlas sigue los principios del estilo arquitectónico REST para exponer una serie de recursos internos que permiten el acceso programático a las funcionalidades administrativas en Atlas. Para ver la lista completa de endpoints disponibles de la API de Administración de Atlas, consulte la Especificación de la API de Administración de Atlas.

La API de administración de Atlas no proporciona acceso a los datos almacenados en tus clústeres. Para leer o escribir datos en una base de datos, debes autenticarte en tu clúster utilizando las credenciales de un usuario de base de datos con los roles de lectura o escritura adecuados. Puedes utilizar la API de administración de Atlas para crear y gestionar usuarios de base de datos.

Al igual que los cambios realizados a través de la plataforma web de Atlas, los cambios realizados a través de la Atlas Administration API están sujetos a la facturación de Atlas. Si incurre en cargos, debe tener una tarjeta de crédito válida registrada en Atlas o arriesgarse a que su cuenta sea bloqueada.

La API tiene las siguientes funcionalidades:

Versionado de recursos

Atlas proporciona una API de administración de Atlas versionada, que incluye el control de versiones a nivel de recurso individual de la API de administración de Atlas. Utiliza estos recursos y las siguientes secciones para aprender más sobre Atlas Administración API:

JSON entities
Todas las entidades se expresan en JSON.
Interfaz navegable
Mediante un mecanismo de vinculación coherente, puedes explorar toda la API de administración de Atlas comenzando en el recurso raíz y siguiendo enlaces a los recursos relacionados.
HTTPS-Solo
Solo puedes acceder a la API de administración de Atlas a través de HTTPS, garantizando que todos los datos enviados a través de la red esté completamente cifrado mediante TLS.
Control de acceso de usuario

Las capacidades de la API de administración de Atlas para cada usuario de Atlas coinciden con los permisos otorgados por sus roles de usuario de Atlas.

Ejemplo

Un usuario con el rol de Project Read Only en un proyecto de Atlas no puede modificar ningún recurso dentro de ese proyecto, ya sea a través de la interfaz de usuario de Atlas o de la API de Administración de Atlas.

Lista de Acceso a la Red de la API

Atlas puede asegurar el acceso a su API de Administración de Atlas a través de una lista de acceso API. Esta lista restringe el acceso a la API a direcciones IP específicas o CIDR. Cada método de autenticación tiene su propia lista de acceso de la API Administración de Atlas. Cuando creas una nueva organización utilizando la interfaz de usuario de Atlas, Atlas habilita el requisito de lista de acceso API por defecto.

Todos los recursos admiten un subconjunto de estos métodos HTTP comunes:

Método
Propósito

GET

Recupera la JSON representación de un recurso.

POST

Cree un nuevo recurso con la representación JSON proporcionada.

PUT

Reemplaza un recurso con la representación JSON proporcionada.

PATCH

Actualiza los campos especificados en un recurso usando la representación JSON proporcionada.

DELETE

Remover un recurso.

HEAD

Devuelve el encabezado de la respuesta sin la representación JSON del recurso.

Todos los elementos están representados en JSON. Se aplican las siguientes reglas y convenciones:

  • Encabezado de solicitud de tipo de contenido

    Cuando envíe JSON al servidor a través de POST o PUT, asegúrese de especificar el tipo de contenido correcto en el encabezado de solicitud: Content-Type: application/json.

  • Campos No Válidos

    Los campos no válidos se rechazan en lugar de ignorarse. Por ejemplo, si intentas crear una nueva entidad y escribes mal uno de los campos, o intentas actualizar una entidad existente e incluyes un campo que no se puede modificar, el servidor responde con un código de estado 400 y un mensaje de error que indica qué campo no es válido.

  • Fechas con formato ISO-8601

    Todas las fechas se devuelven como ISO-8601cadenas formateadas designadas en UTC. Al enviar fechas al servidor (es decir, como parámetros de query o campos en entidades de solicitud POST o PATCH), utiliza fechas con formato ISO-8601. Si no especifica una zona horaria, se asume UTC. Sin embargo, se recomienda encarecidamente que se incluya un designador de zona horaria para evitar cualquier ambigüedad.

  • Marcas de tiempo BSON

    En algunos casos, se devuelve una marca de tiempo como un marca de tiempo BSON, sobre todo en los recursos de copia de seguridad. Estos se representan en documentos JSON como un objeto con dos campos: date, que es un ISO-8601-formatted date string en UTC con una granularidad de hasta el segundo, y increment un entero de 32bits.

  • Nombres de campos para campos con números

    Los campos que contienen valores numéricos en una unidad particular serán denominados de manera que se evite la ambigüedad sobre la unidad utilizada.

  • Campos Vacíos

    Los campos que no tienen un valor actual se devuelven con un valor por defecto apropiado.

    Se omiten los campos que no tienen un valor por defecto razonable en la entidad.

  • Orden de campos

    Los campos en los documentos JSON devueltos por el servidor no tienen un orden particular y el orden puede cambiar. No dependas del orden de los campos.

Cada recurso incluye uno o más enlaces a subrecursos y/o recursos relacionados. Los enlaces se colocan en el campo links de una entidad, que es un arreglo de objetos de relaciones de enlaces. Cada relación de enlace tiene dos campos:

Campo
Descripción

rel

Nombre (o tipo) de la relación. Muchos de estos se consideran como Tipos de Relaciones de Extensión y tienen el prefijo http://mms.mongodb.com.

href

La URL objetivo.

Todas las entidades incluyen al menos una relación de enlace denominada self, que no es más que su propia URL. Cuando una entidad forma parte de una lista, solo se incluye la self relación de enlace.

Para obtener más información, consulta la especificación de enlace web. Tenga en cuenta que, aunque la especificación describe un formato para incluir enlaces en los encabezados de respuesta HTTP, esto no es un requisito. Para que la API de administración de Atlas sea fácilmente navegable, incluye los enlaces en el cuerpo de la respuesta en lugar de en los encabezados de la respuesta.

Algunos recursos devuelven una lista de entidades. Cuando se espera una lista de entidades en una respuesta, los resultados se devuelven en tandas delimitadas por los siguientes parámetros de query:

Campo
Descripción

pageNum

Número de página (basado en 1). Por defecto es 1 si no se especifica.

itemsPerPage

Número de artículos para devolver por página, hasta un máximo de 500. Se establece por defecto en 100 si no se especifica.

includeCount

Especifica si la respuesta devuelve el campo totalCount. Por defecto, se asigna a true si no se especifica.

La entidad de respuesta contiene tres campos:

Campo
Descripción

totalCount

El número total de elementos en el conjunto completo de resultados.

results

El conjunto de resultados, que es un arreglo de documentos de entidad.

links

Contiene de una a tres relaciones de enlace: previous para la página anterior de resultados (se omite para la primera página); next para la página siguiente de resultados (se omite para la última página); y self para la página actual (siempre presente).

Si realizas una solicitud para una lista de entidades y no hay resultados, la API de administración de Atlas responde con un código de estado 200 y el arreglo results está vacío. No responde con un 404 en este caso, ya que la lista de entidades podría no estar vacía en algún punto en el futuro. Sin embargo, si solicita una lista de entidades en un contexto que no existe (por ejemplo, la lista de hosts de un proyecto inexistente), ésto resulta en un estado de respuesta 404.

Algunos clientes podrían no poder acceder a los encabezados de respuesta HTTP y/o al código de estado. En ese caso, puedes solicitar que la respuesta incluya un "sobre", que simplemente es una capa adicional de información en el documento JSON y contiene cualquier detalle relevante que normalmente se encontraría en los encabezados de respuesta. Por defecto, la API de administración de Atlas no incluye la respuesta en un sobre. Para solicitar uno, simplemente añade el parámetro de query envelope=true.

Para las respuestas que contienen una sola entidad, el sobre contiene dos campos:

Campo
Descripción

status

El HTTP código de estado.

content

La entidad solicitada.

Para respuestas que contienen una lista de entidades, ya existe un sobre que envuelve los resultados, por lo que especificar envelope=true solo añade el campo status al sobre existente.

Por defecto, los espacios innecesarios se eliminan del JSON devuelto por el servidor. Para solicitar un JSON con buena presentación, simplemente agrega el parámetro de query pretty=true a cualquier solicitud:

curl --header 'Authorization: Bearer {ACCESS-TOKEN}' \
--header 'Accept: application/json' \
--include \
--request GET "https://cloud.mongodb.com/api/atlas/v1.0?pretty=true"

Las respuestas utilizan los códigos de respuesta estándar de HTTP, incluyendo:

Código
Significado
notas

200

OK

La solicitud fue exitosa. Esta es típicamente la respuesta a una solicitud de GET exitosa.

201

Creado.

Se creó un nuevo recurso. Esta es típicamente la respuesta a una solicitud de POST exitosa.

202

Accepted

Se aceptó una solicitud para una operación asíncrona.

400

Solicitud incorrecta

Algo estaba mal con la solicitud del cliente.

401

No autorizado

Se requiere autenticación, pero no estaba presente en la solicitud. Por lo general, esto significa que la información de autenticación se omitió en la solicitud, las credenciales proporcionadas son incorrectas o el usuario asociado con el método de autenticación proporcionado no tiene permiso para acceder al recurso solicitado.

403

Forbidden

No se permite el acceso al recurso especificado.

404

No encontrado

El recurso solicitado no existe.

405

Método no permitido

El método HTTP no es compatible con el recurso especificado. Tenga en cuenta que cada recurso solo puede admitir un subconjunto de métodos HTTP. Por ejemplo, no puede DELETE el recurso raíz.

409

Conflicto

Esta es la respuesta a una solicitud para crear o modificar una propiedad de una entidad que es única cuando ya existe una entidad con el mismo valor para esa propiedad.

5xx

Diversos errores de servidor

Algo inesperado salió mal. Inténtalo de nuevo más tarde y considera avisar a Soporte Atlas.

Cuando una solicitud devuelve un error, el cuerpo de la respuesta contiene un documento JSON. Este documento incluye detalles sobre por qué falló la solicitud de la API de administración de Atlas. El documento contiene cinco parámetros:

Parameter
Tipo de dato
Descripción

detalle

string

Descripción legible para humanos que Atlas devuelve para la solicitud incorrecta de la API de administración de Atlas.

Error

entero

Código de estado se devolvió en el encabezado de la respuesta HTTP.

errorCode

string

Constante con nombre que representa la solicitud defectuosa de la API de administración de Atlas. Para aprender sobre estas constantes, consulta Códigos de error de la API de administración de Atlas.

Parámetros

arreglo

Lista de parámetros que proporcionan más detalles sobre el error.

motivo

string

Definición del código de estado devuelto en el encabezado de la respuesta HTTP.

Ejemplo

Atlas devuelve el siguiente cuerpo de respuesta cuando se realiza una solicitud en el formato incorrecto:

1{
2 "detail" : "Cannot find resource /api/atlas/v1.0/softwareComponents/version.",
3 "error" : 404,
4 "errorCode" : "RESOURCE_NOT_FOUND",
5 "parameters" : [ "/api/atlas/v1.0/softwareComponents/version" ],
6 "reason" : "Not Found"
7}

Tu ID del grupo es un valor de string que identifica un Proyecto Atlas de manera exclusiva.

Los proyectos de Atlas se identificaban anteriormente como "grupos". Algunos endpoints de Atlas hacen referencia a group o {GROUP-ID} como parte de la ruta de solicitud, los parámetros de query o de cuerpo. Para cualquier endpoint que requiera tu {GROUP-ID}, especifica tu ID del grupo en su lugar.

Para recuperar el ID del grupo:

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en el icono junto a Project Overview.

La página Configuración del proyecto se muestra.

2

La API de administración de Atlas utiliza uno de dos métodos para autenticar las solicitudes: cuentas de servicio o claves API. Esto garantiza que los tokens de acceso y claves que sirven como nombres de usuario y contraseñas nunca se envíen por la red. Para obtener más información, consulta Métodos de Autenticación de la API de Administración de Atlas.

Para detalles de uso, consulta Realiza una solicitud de API.

Importante

Recomendamos usar cuentas de servicio en lugar de claves de API para autenticarse en la API de administración de Atlas. Las claves API son un método de autenticación heredado.

Atlas utiliza limitación de tasa para controlar la tasa de solicitudes enviadas a los puntos finales de la V2 API dentro de un período de tiempo especificado, para evitar la sobrecarga y garantizar un uso justo. Atlas utiliza el algoritmo Token Bucket para limitar la cantidad de solicitudes que procesa. Para obtener más información, consulte Límites de velocidad de la API de administración de Atlas.

Para comenzar, consulta Empezar con la API de administración de Atlas.

Para gestionar el acceso programático a la API de Administración de Atlas, consulte cualquiera de los siguientes procedimientos: