Modify Roles of One Organization API Key to One Project
On this page
Base URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
Resource
PATCH /groups/{PROJECT-ID}/apiKeys/{API-KEY-ID}
Request Path Parameters
Name | Type | Description |
---|---|---|
PROJECT-ID | string | Unique identifier for the Project whose API keys you want to
update. Use the
/groups endpoint
to retrieve all organizations to which the authenticated
user has access. |
API-KEY-ID | string | Unique identifier for the API key you want to update. Request
the
/groups/{PROJECT-ID}/apiKeys
endpoint to retrieve all API keys to which the authenticated
user has access for the specified organization. |
Request Query Parameters
The following query parameters are optional:
Name | Type | Description | Default | ||||
---|---|---|---|---|---|---|---|
pageNum | integer | Page number (1-index based). | 1 | ||||
itemsPerPage | integer | Number of items to return per page, up to a maximum of 500. | 100 | ||||
pretty | boolean | Indicates whether the response body should be in a
prettyprint format. | false | ||||
envelope | boolean | 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 For endpoints that return one result, response body includes:
For endpoints that return a list of results, the | None |
Request Body Parameters
The body parameter is required.
Name | Type | Necessity | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
roles | string array | Required | List of roles that the API Key should be granted. A minimum of one role must be provided. Any roles provided must be valid for the assigned Project:
Include all roles that you want this API Key to have. Any roles not in this array are removed. |
Response
Name | Type | Description | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
desc | string | Description of this Organization API key assigned to this
Project. | ||||||||||||||||||||||||||||||
id | string | Unique identifier for this Organization API key assigned to
this Project. | ||||||||||||||||||||||||||||||
privateKey | string | Redacted Private key for this Organization API key assigned to this Project. This key displays unredacted when first created. | ||||||||||||||||||||||||||||||
publicKey | string | Public key for this Organization API key assigned to this Project. | ||||||||||||||||||||||||||||||
roles | object array | Roles that this Organization API key assigned to this Project
has. This array returns all the Organization and Project roles
the user has in Ops Manager. | ||||||||||||||||||||||||||||||
roles.groupId | string | Unique identifier of the Project to which this role belongs. | ||||||||||||||||||||||||||||||
roles.orgId | string | Unique identifier of the Organization to which this role
belongs. | ||||||||||||||||||||||||||||||
roles.roleName | string | Name of the role. This resource returns all the roles the user has in Ops Manager. Possible values are: Organization Roles If this is an
Project Roles If this is an
|
Example Request
Note
The user who makes the request can be formatted either as
{USERNAME}:{APIKEY}
or {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 PATCH "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/apiKeys/5d1d143c87d9d63e6d694746?pretty=true" \ 6 --data '{ 7 "roles": [ "GROUP_READ_ONLY", "GROUP_DATA_ACCESS_READ_WRITE" ] 8 }'
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 test purposes", 3 "id" : "5d1d143c87d9d63e6d694746", 4 "links" : [ { 5 "href" : "https://<OpsManagerHost>:<Port>/api/public/v1.0/orgs/5980cfe20b6d97029d82fa63/apiKeys/5d1d143c87d9d63e6d694746", 6 "rel" : "self" 7 } ], 8 "privateKey" : "********-****-****-eac4256753ba", 9 "publicKey" : "{PUBLIC-KEY}", 10 "roles" : [ { 11 "orgId" : "5980cfe20b6d97029d82fa63", 12 "roleName" : "ORG_BILLING_ADMIN" 13 }, { 14 "groupId" : "{PROJECT-ID}", 15 "roleName" : "GROUP_DATA_ACCESS_READ_WRITE" 16 }, { 17 "orgId" : "5980cfe20b6d97029d82fa63", 18 "roleName" : "ORG_MEMBER" 19 }, { 20 "groupId" : "{PROJECT-ID}", 21 "roleName" : "GROUP_READ_ONLY" 22 } ] 23 }