AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

1 つのプロジェクトに 1 つの組織 API キーを作成・割り当て

ベース URL: https://cloud.mongodb.com/api/public/v1.0

POST /groups/{PROJECT-ID}/apiKeys
名前
タイプ
説明

PROJECT-ID

string

APIキーを取得するプロジェクトの一意の識別子です。 認証済みユーザーがアクセスできるすべての組織を取得するには、 /groupsエンドポイントを使用します。

次のクエリ パラメータは 任意です。

名前
タイプ
説明
default

pageNum

integer

ページ番号(1 インデックス ベース)。

1

itemsPerPage

integer

1 ページあたりに返す項目の数は最大 500 です。

100

pretty

ブール値

レスポンス本体を pretty-print 形式にするかどうかを示します。

false

envelope

ブール値

レスポンスをエンベロープにラップするかどうかを示します。

一部の API クライアントは、HTTP レスポンス ヘッダーまたはステータス コードにアクセスできません。これを修正するには、クエリで "envelope" : true を設定します。

1 つの結果を返すエンドポイントの場合、レスポンス本体には次のものが含まれます。

  • status: HTTPレスポンス コード

  • content: 期待される応答本体

結果のリストを返すエンドポイントの場合、 resultsオブジェクトはエンベロープです。 Cloud Manager は、レスポンス本体にstatusフィールドを追加します。

なし

2 つの本体パラメーターのうち少なくとも 1 つが必要です。

名前
タイプ
説明

desc

string

API キーの説明。文字数は 1 文字から 250 文字の間である必要があります。

roles

string 配列

APIキーが持つ必要があるロールの一覧。もし roles 配列が提供されている場合:

  • 少なくとも 1 つのロールを指定する

  • すべてのロールがプロジェクトで有効であることを確認

プロジェクト ロールには、以下が含まれます。

名前
タイプ
説明

desc

string

このプロジェクトに割り当てられた組織APIキーの説明。

id

string

このプロジェクトに割り当てられた組織APIキーの一意の識別子。

privateKey

string

このプロジェクトに割り当てられた組織APIキーの編集済み秘密キー。

このキーは、最初に作成したときは編集されずに表示されます。

publicKey

string

このプロジェクトに割り当てられた組織APIキーの公開キー。

roles

オブジェクト配列

このプロジェクトに割り当てられたこの組織APIキーが持つロール。 この配列は、Cloud Manager でユーザーが持っているすべての組織ロールとプロジェクト ロールを返します。

roles.groupId

string

このロールが属するプロジェクトの一意の識別子。

roles.orgId

string

このロールが属する組織の一意の識別子。

roles.roleName

string

ロールの名前。 このリソースは、Cloud Managerでユーザーが持っているすべてのロールを返します。 可能な値は次のとおりです。

組織ロール

これがroles.orgId (組織)の場合、値には次のものが含まれます。

プロジェクト ロール

これがroles.groupId (プロジェクト)の場合、値には次のものが含まれます。

注意

リクエストを行うユーザーは、 {PUBLIC-KEY}:{PRIVATE-KEY}としてフォーマットできます。

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --include \ --request POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/apiKeys?pretty=true" \ --data '{ "desc" : "New API key for test purposes", "roles": ["GROUP_READ_ONLY", "GROUP_DATA_ACCESS_ADMIN"] }'
HTTP/1.1 401 UnauthorizedContent-Type: application/json;charset=ISO-8859-1Date: {dateInUnixFormat}WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=falseContent-Length: {requestLengthInBytes}Connection: keep-alive
HTTP/1.1 200 OKVary: Accept-EncodingContent-Type: application/jsonStrict-Transport-Security: max-age=300Date: {dateInUnixFormat}Connection: keep-aliveContent-Length: {requestLengthInBytes}X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
{ "desc" : "New API key for test purposes", "id" : "5d1d143c87d9d63e6d694746", "links" : [ { "href" : "https://cloud.mongodb.com/api/public/v1.0/orgs/5980cfe20b6d97029d82fa63/apiKeys/5d1d143c87d9d63e6d694746", "rel" : "self" } ], "privateKey" : "********-****-****-db2c132ca78d", "publicKey" : "{PUBLIC-KEY}", "roles" : [ { "groupId" : "{PROJECT-ID}", "roleName" : "GROUP_READ_ONLY" }, { "groupId" : "{PROJECT-ID}", "roleName" : "GROUP_DATA_ACCESS_ADMIN" }, { "orgId" : "5980cfe20b6d97029d82fa63", "roleName" : "ORG_BILLING_ADMIN" } ]}