Create One Global API Key
On this page
Create one Global API Key for Ops Manager.
Base URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
Resource
POST /admin/apiKeys
Required Roles
Requires that the API Key calling this endpoint have the
Global Owner
role.
Request Parameters
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. | 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:
| false |
Request Body Parameters
You must provide all request body parameters.
Name | Type | Necessity | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
desc | string | Required | Description of the Global API Key. Must be between 1 and 250
characters in length. | ||||||||||||||
roles | string array | Required | List of roles that the Global API Key needs to have. If the
Global roles accepted by default include:
|
Response
Name | Type | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
desc | string | Description of this Global API Key. | ||||||||||||||
id | string | Unique identifier for this Global API Key. | ||||||||||||||
links | string | An array of documents, representing a link
to one or more sub-resources and/or related resources such as
list pagination. See Linking for
more information. | ||||||||||||||
privateKey | string | Unredacted Private key for this Global API Key. | ||||||||||||||
publicKey | string | Public key for this Global API Key. | ||||||||||||||
roles | object array | Roles that this Global API Key has. This array returns
all the Global roles the user has in Ops Manager. | ||||||||||||||
roles.roleName | string | Name of the role. This resource returns all the roles the user has in Ops Manager. Possible values are:
|
Example Request
Note
The user who makes the request can be formatted either as {PUBLIC-KEY}:{PRIVATE-KEY}
.
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/admin/apiKeys?pretty=true" \ 6 --data '{ 7 "desc" : "New API key for Global Testing", 8 "roles" : [ "GLOBAL_READ_ONLY", "GLOBAL_USER_ADMIN" ] 9 }'
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
200 OK 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
1 { 2 "desc" : "New API key for Global Testing", 3 "id" : "5d669ce780eef52a42cf0e1e", 4 "links" : [ { 5 "href" : "https://<OpsManagerHost>:<Port>/api/public/v1.0/orgs/null/apiKeys/5d669ce780eef52a42cf0e1e", 6 "rel" : "self" 7 } ], 8 "privateKey" : "8d080e57-5fd6-495c-9388-fe348ed1796f", 9 "publicKey" : "cfswjfck", 10 "roles" : [ { 11 "roleName" : "GLOBAL_READ_ONLY" 12 }, { 13 "roleName" : "GLOBAL_USER_ADMIN" 14 } ] 15 }