Docs Menu

Docs HomeMongoDB Ops Manager

Create One User

On this page

  • Resource
  • Request Path Parameters
  • Request Query Parameters
  • Request Body Parameters
  • Response
  • Example Request
  • Example Response
  • Response Header
  • Response Body

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. You can add users directly to an organization or project only if you set the mms.user.bypassInviteForExistingUsers setting to true.

Base URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0

POST /users

This endpoint doesn't use HTTP request path 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.
false
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:

Name
Description
status
HTTP response code
envelope
Expected response body
false

All fields are required.

Name
Type
Description
username
string

Username of the Ops Manager user. Validated depending on the value of the mms.email.validation property:

Value
Description
false
(Default) Username is not required to be an email address.
loose
Username must contain an @ symbol followed by a period.
strict
Username must adhere to a strict email address validation regular expression.

See mms.email.validation for details.

password
string

Password of the Ops Manager user.

Note

This field is not included in the entity returned from the server. It can only be sent in the entity body when creating 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 GLOBAL_) there is no groupId since these roles are not tied to a group.

roles.roleName
string

Name of the role. Accepted values are:

Value
Description
ORG_MEMBER
ORG_READ_ONLY
ORG_GROUP_CREATOR
ORG_OWNER
GROUP_AUTOMATION_ADMIN
GROUP_BACKUP_ADMIN
GROUP_MONITORING_ADMIN
GROUP_OWNER
GROUP_READ_ONLY
GROUP_USER_ADMIN
GROUP_DATA_ACCESS_ADMIN
GROUP_DATA_ACCESS_READ_ONLY
GROUP_DATA_ACCESS_READ_WRITE
GLOBAL_AUTOMATION_ADMIN
GLOBAL_BACKUP_ADMIN
GLOBAL_MONITORING_ADMIN
GLOBAL_OWNER
GLOBAL_READ_ONLY
GLOBAL_USER_ADMIN

The JSON document contains each of the following elements:

Name
Type
Description
emailAddress
string
Email address of the Ops Manager user.
firstName
string
First name of the Ops Manager user.
id
string
Unique identifier of the Ops Manager user.
lastName
string
Last name of the Ops Manager user.
links
object array
Links to related sub-resources. All links arrays in responses include at least one link called self. The relationship between URLs are explained in the Web Linking Specification.
mobileNumber
string
Mobile number of the Ops Manager user.
roles
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 GLOBAL_ don't require a groupId. These roles aren't tied to a project.

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:

Value
Description
ORG_MEMBER
ORG_READ_ONLY
ORG_GROUP_CREATOR
ORG_OWNER
GROUP_AUTOMATION_ADMIN
GROUP_BACKUP_ADMIN
GROUP_MONITORING_ADMIN
GROUP_OWNER
GROUP_READ_ONLY
GROUP_USER_ADMIN
GROUP_DATA_ACCESS_ADMIN
GROUP_DATA_ACCESS_READ_ONLY
GROUP_DATA_ACCESS_READ_WRITE
GLOBAL_AUTOMATION_ADMIN
GLOBAL_BACKUP_ADMIN
GLOBAL_MONITORING_ADMIN
GLOBAL_OWNER
GLOBAL_READ_ONLY
GLOBAL_USER_ADMIN
username
string
Username of the Ops Manager user.
1curl --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 }'
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 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}
{
"id" : "533dc19ce4b00835ff81e2eb",
"username" : "jane.doe@mongodb.com",
"emailAddress" : "jane.doe@mongodb.com",
"firstName" : "Jane",
"lastName" : "Doe",
"roles" : [],
"links" : []
}
←  Get a User by NameUpdate Roles for One User →