Note
Groups and projects are synonymous terms. Your {PROJECT-ID} is the
same as your project id. For existing groups, your group/project id
remains the same. This page uses the more familiar term group when
referring to descriptions. The endpoint remains as stated in the
document.
Create a new user. By default, any non-global organization and project roles in the payload send users an invitation to the organization or project first.
Resource
Base URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
POST /users 
Request Path Parameters
This endpoint doesn't use HTTP request path parameters.
Request Query Parameters
The following query parameters are optional:
Name  | Type  | Necessity  | Description  | Default  | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
pretty  | boolean  | Optional  | Flag indicating whether the response body should be in a prettyprint format.  | 
  | ||||||
envelope  | boolean  | Optional  | Flag that indicates whether or not to wrap the response in an envelope. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. For endpoints that return one result, the response body includes: 
  | 
  | 
Request Body Parameters
All fields are required.
Name  | Type  | Description  | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
username  | string  | Username of the Ops Manager user. Validated depending on the
value of the  
 See   | ||||||||||||||||||||||||||||||||||||||||
password  | string  | Password of the Ops Manager user. This field is not included in the entity returned from the server. It can be sent only in the entity body when you create a new user.  | ||||||||||||||||||||||||||||||||||||||||
emailAddress  | string  | Email address of the Ops Manager user.  | ||||||||||||||||||||||||||||||||||||||||
mobileNumber  | string  | Mobile telephone number of the Ops Manager user.  | ||||||||||||||||||||||||||||||||||||||||
firstName  | string  | First name of the Ops Manager user.  | ||||||||||||||||||||||||||||||||||||||||
lastName  | string  | Last name of the Ops Manager user.  | ||||||||||||||||||||||||||||||||||||||||
roles  | object array  | Role assignments of the Ops Manager user.  | ||||||||||||||||||||||||||||||||||||||||
roles.orgId  | string  | Unique identifier of the organization in which the Ops Manager user has the specified role.  | ||||||||||||||||||||||||||||||||||||||||
roles.groupId  | string  | Unique identifier of the group in which the Ops Manager user has the specified role. For the "global" roles (those whose name starts
with   | ||||||||||||||||||||||||||||||||||||||||
roles.roleName  | string  | Name of the role. Accepted values are: 
  | 
Response
The JSON document contains each of the following elements:
Name | Type  | Description  | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  | string  | Email address of the Ops Manager user.  | ||||||||||||||||||||||||||||||||||||||||
  | string  | First name of the Ops Manager user.  | ||||||||||||||||||||||||||||||||||||||||
  | string  | Unique identifier of the Ops Manager user.  | ||||||||||||||||||||||||||||||||||||||||
  | string  | Last name of the Ops Manager user.  | ||||||||||||||||||||||||||||||||||||||||
  | object array  | Links to related sub-resources. All   | ||||||||||||||||||||||||||||||||||||||||
  | string  | Mobile number of the Ops Manager user.  | ||||||||||||||||||||||||||||||||||||||||
  | empty array  | Role assigned to the Ops Manager user.  | ||||||||||||||||||||||||||||||||||||||||
roles.groupId | string  | Unique identifier for the project in which the user has the specified role. Roles that start with   | ||||||||||||||||||||||||||||||||||||||||
roles.orgId | string  | Unique identifier for the organization in which the user has the specified role.  | ||||||||||||||||||||||||||||||||||||||||
roles.roleName | string  | Name of the role. Accepted values are: 
  | ||||||||||||||||||||||||||||||||||||||||
  | string  | Username of the Ops Manager user.  | 
Example Request
1 curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ 2      --header "Accept: application/json" \ 3      --header "Content-Type: application/json" \ 4      --include \ 5      --request POST "https://<OpsManagerHost>:<Port>/api/public/v1.0/users" \ 6      --data ' 7        { 8          "username": "jane.doe@mongodb.com", 9          "emailAddress": "jane.doe@mongodb.com", 10          "firstName": "Jane", 11          "lastName": "Doe", 12          "password": "M0ng0D8!:)", 13          "roles": [{ 14            "groupId": "533daa30879bb2da07807696", 15            "roleName": "GROUP_USER_ADMIN" 16          },{ 17            "orgId" : "55555bbe3bd5253aea2d9b16", 18            "roleName" : "ORG_MEMBER" 19          }] 20        }' 
Example Response
Response Header
 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 
 201 Created Vary: Accept-Encoding Content-Type: application/json Strict-Transport-Security: max-age=300 Date: {dateInUnixFormat} Connection: keep-alive Content-Length: {requestLengthInBytes} X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion} 
Response Body
{   "id" : "533dc19ce4b00835ff81e2eb",   "username" : "jane.doe@mongodb.com",   "emailAddress" : "jane.doe@mongodb.com",   "firstName" : "Jane",   "lastName" : "Doe",   "roles" : [],   "links" : [] }