Add Teams to a Project
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.
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.
Base URL: https://mongodb.prakticum-team.ru/proxy/cloud.mongodb.com/api/public/v1.0
Syntax
POST /groups/{PROJECT-ID}/teams
Request Path Parameters
Path Element | Required/Optional | Description |
---|---|---|
PROJECT-ID | Required. | The unique identifier for the project to which
you are adding the team or teams. |
Request Query Parameters
The following query parameters are optional:
Name | Type | Necessity | Description | Default |
---|---|---|---|---|
pageNum | number | Optional | One-based integer that returns a subsection of results. | 1 |
itemsPerPage | number | Optional | Number of items to return per page, up to a maximum of 500. | 100 |
pretty | boolean | Optional | Flag that indicates 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 For endpoints that return a list of results, the | false |
backupJobsEnabledOnly | boolean | Optional | Flag indicating whether to exclude daemons not enabled for
backing up databases from the response. Set this to false to
include daemon configurations with the backupJobsEnabled
flag set to false . | true |
Request Body Parameters
Specify an array of documents, where each document represents one team you want to associate to the project. Each document in the array must contain the following fields:
Name | Type | Description |
---|---|---|
roleNames | array | Each object in the array represents a project role you want to assign to the team. The valid roles and their associated mappings are:
|
teamId | string | The unique identifier of the team you want to associate with the
project. The team and project must share the same parent
organization. |
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 element in the result
array is one team added to the project.
Name | Type | Description |
---|---|---|
links | array | One or more links to sub-resources and/or related resources. All
|
roleNames | array | Array of project roles assigned to the team. The valid roles and their associated mappings are:
|
Example Request
curl -u "username:apiKey" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --request POST "https://mongodb.prakticum-team.ru/proxy/cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/teams?pretty=true" \ --data '[ { "teamId" : "{TEAM-ID}", "roles" : [ { "roleName" : "GROUP_OWNER" } ] } ]'
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://mongodb.prakticum-team.ru/proxy/cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/teams", "rel": "self" } ], "results": [ { "links": [ { "href": "https://mongodb.prakticum-team.ru/proxy/cloud.mongodb.com/api/pubic/v1.0/orgs/{ORG-ID}/teams/{TEAM-ID}", "rel": "self" } ], "roleNames": [ "GROUP_OWNER" ], "teamId": "{TEAM-ID}" } ], "totalCount": 1 }