Get All Service Accounts
On this page
- OAuth 2.0 authentication for programmatic access to Cloud Manager is available as a Preview feature.
- The feature and the corresponding documentation might change at any time during the Preview period. To use OAuth 2.0 authentication, create a service account to use in your requests to the Cloud Manager Public API.
Base URL: https://cloud.mongodb.com/api/public/v1.0
Resource
GET /orgs/{ORG-ID}/serviceAccounts
Request Path Parameters
Name | Type | Description |
---|---|---|
ORG-ID | string | The unique identifier for the organization
whose service account you want to retrieve. Use the
/orgs
endpoint to retrieve all organizations to which the
authenticated user has access. |
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 |
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 | array | Array includes one object for each item detailed in the
results Embedded Document section. |
links | array | 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 | Integer 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 service account.
Name | Type | Description |
---|---|---|
clientId | string | Unique identifier for the service account. |
description | string | Description of the service account. Accepted characters are A-Z , a-z ,
0-9 , space, period . , apostrophe ' , comma , , underscore _ ,
and dash - . |
name | string | Name of the service account. Accepted characters are A-Z , a-z ,
0-9 , space, period . , apostrophe ' , comma , , underscore _ ,
and dash - . |
createdAt | timestamp | Service account creation time. |
secrets | object array | List of service account secrets. |
secrets.id | string | Unique 24-hexadecimal character string that identifies the secret. |
secrets.secret | string | Service account secret, available only at creation. |
secrets.maskedSecretValue | string | Masked secret that only displays the prefix and last four characters. |
secrets.createdAt | timestamp | Timestamp representing secret creation time. |
secrets.lastUsedAt | timestamp | Timestamp representing last secret usage. |
secrets.expiresAt | timestamp | Timestamp representing secret expiration time. |
roles | object array | Roles that the service account has in the organization. Organization roles include: |
Example Request
Note
The user who makes the request can be formatted as {PUBLIC-KEY}:{PRIVATE-KEY}
.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --include \ --request GET "https://cloud.mongodb.com/api/public/v1.0/orgs/{ORG-ID}/serviceAccounts?pretty=true"
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
{ "links": [ { "href": "https://cloud.mongodb.com/api/public/v1.0/orgs/1234567890abcdef12345678/serviceAccounts?pretty=true&pageNum=1&itemsPerPage=3", "rel": "self" } ], "results": [ { "createdAt": "2024-04-23T20:36:22Z", "description": "Service account for development team", "clientId": "mdb_sa_id_001", "name": "dev-team-sa", "roles": ["ORG_OWNER"], "secrets": [ { "createdAt": "2024-04-23T20:36:22Z", "expiresAt": "2024-12-01T00:00:00Z", "id": "secret_id_001", "lastUsedAt": "2024-04-23T20:49:19Z", "maskedSecretValue": "mdb_sa_sk_…OEyV" } ] }, { "createdAt": "2024-05-31T17:27:05Z", "description": "Service account for billing operations", "clientId": "mdb_sa_id_002", "name": "billing-sa", "roles": ["ORG_BILLING_ADMIN"], "secrets": [ { "createdAt": "2024-05-31T17:27:05Z", "expiresAt": "2025-05-31T17:27:05Z", "id": "secret_id_002", "maskedSecretValue": "mdb_sa_sk_…OTyG" } ] }, { "createdAt": "2024-06-04T18:31:42Z", "description": "Service account for project management", "clientId": "mdb_sa_id_003", "name": "project-mgmt-sa", "roles": ["ORG_MEMBER"], "secrets": [ { "createdAt": "2024-06-04T18:31:42Z", "expiresAt": "2024-09-02T18:31:42Z", "id": "secret_id_003", "maskedSecretValue": "mdb_sa_sk_…OWyP" } ] } ], "totalCount": 3 }