Navigation

Get All Users in One Project

The Atlas API uses HTTP Digest Authentication. Provide a programmatic API public key and corresponding private key as the username and password when constructing the HTTP request.

For complete documentation on configuring API access for an Atlas project, see Configure Atlas API Access.

Base URL: https://cloud.mongodb.com/api/atlas/v1.0

Note

Groups and projects are synonymous terms. Your {GROUP-ID} is the same as your project ID. For existing groups, your group/project ID remains the same. The resource and corresponding endpoints use the term groups.

Resource

GET /groups/{GROUP-ID}/users

Request Parameters

Request Path Parameters

Name Type Necessity Description
GROUP-ID string Required Unique identifier for the group.

Request Query Parameters

Name Type Necessity Description
flattenTeams boolean Optional

Flag that indicates whether the returned list should include users who belong to a team assigned a role in this project. You may not have assigned the individual users a role in this project.

  • If this flag is set to false, the endpoint returns only users that were assigned a role in the project.
  • If this flag is set to true, the endpoint returns both users that were assigned roles in the project and users who are members of teams that were assigned roles in the project.

Request Body Parameters

This endpoint does not use HTTP request body parameters.

Response

Response Document

The response JSON document includes an array of result objects, an array of link objects and a count of the total number of result objects retrieved.

Name Type Description
results object array This array includes one object for each item detailed in the results Embedded Document section.
links object array This array includes one or more links to sub-resources and/or related resources. The relations between URLs are explained in the Web Linking Specification.
totalCount number The count of the total number of items in the result set. It may be greater than the number of objects in the results array if the entire result set is paginated.

results Embedded Document

Each result is one user.

Name Type Description
emailAddress string Email address assigned to the returned Atlas user.
firstName string First name assigned to the returned Atlas user.
id string Unique identifier assigned to the returned Atlas user.
lastName string Last name assigned to the returned Atlas user.
links object array One or more links to sub-resources and/or related resources. The relations between URLs are explained in the Web Linking Specification
roles object array Roles assigned to the returned Atlas user.
roles.groupId string Unique identifier for the group to which the returned Atlas user was assigned the role provided in role.roleName.
roles.roleName string Display name for the role assigned to the returned Atlas user on the project provided in role.groupId.
username string Atlas username given to the returned Atlas user.

Example Request

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
 --header "Accept: application/json" \
 --include \
 --request GET "https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/users?pretty=true"

Example Response

Response Header

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: {dateInUnixFormat}
WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false
Content-Length: {requestLengthInBytes}
Connection: keep-alive
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: {dateInUnixFormat}
Connection: keep-alive
Content-Length: {requestLengthInBytes}

Response Body

{
  "links" : [ {
    "href" : "https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/ users?pretty=true&pageNum=1&itemsPerPage=100",
    "rel" : "self"
  } ],
  "results" : [ {
    "emailAddress" : "joe.bloggs@example.com",
    "firstName" : "Joe",
    "id" : "{USER-ID}",
    "lastName" : "Bloggs",
    "links" : [ {
      "href" : "https://cloud.mongodb.com/api/atlas/v1.0/users/{USER-ID}",
      "rel" : "self"
    }, {
      "href" : "https://cloud.mongodb.com/api/atlas/v1.0/users/{USER-ID}/whitelist",
      "rel" : "http://mms.mongodb.com/whitelist"
    } ],
    "roles" : [ {
      "groupId" : "{GROUP-ID}",
      "roleName" : "GROUP_OWNER"
    }, {
      "groupId" : "{OTHER-GROUP-ID}",
      "roleName" : "GROUP_OWNER"
    }
    ...
    ],
    "username" : "joe.bloggs"
  }, {
    "emailAddress" : "jim.bloggs@example.com",
    "firstName" : "Jim",
    "id" : "{OTHER-USER-ID}",
    "lastName" : "Bloggs",
    "links" : [ {
      "href" : "https://cloud.mongodb.com/api/atlas/v1.0/users/{OTHER-USER-ID}",
      "rel" : "self"
    }, {
      "href" : "https://cloud.mongodb.com/api/atlas/v1.0/users/{OTHER-USER-ID}/whitelist",
      "rel" : "http://mms.mongodb.com/whitelist"
    } ],
    "roles" : [ {
      "roleName" : "GLOBAL_READ_ONLY"
    }, {
      "groupId" : "{GROUP-ID}",
      "roleName" : "GROUP_OWNER"
    } ],
    "username" : "jim.bloggs"
  } ],
  "totalCount" : 2
}