Update a Configuration for a Third-Party Service Integration
On this page
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://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
Syntax
PUT /groups/{GROUP-ID}/integrations/{INTEGRATION-TYPE}
Request Path Parameters
Parameter | Necessity | Description |
---|---|---|
{PROJECT-ID} | Required | Project identifier. |
{INTEGRATION-TYPE} | Required | Third-party service identifier. Accepted values are:
|
Request Query Parameters
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
The request body should be a single integration view (like a JSON
configuration object) for a single third-party service. If a
configuration of the same type
already exists, the request will
update the changed fields. If a configuration of the same type
does
not exist, it will be added. Always include a type
property equal
to the third-party service INTEGRATION_TYPE
.
Service | Configuration Options | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PagerDuty | You must provide the following fields when you configure a PagerDuty integration:
| ||||||||||||||||||||||
Slack | ImportantSlack integrations now use the OAuth2 verification method and must be initially configured, or updated from a legacy integration, through the MongoDB Atlas third-party service integrations page. Legacy tokens will soon no longer be supported. You must provide the following fields when you reconfigure an existing Slack integration:
You may also include the following fields:
| ||||||||||||||||||||||
Datadog | You must provide the following fields when you configure a Datadog integration:
| ||||||||||||||||||||||
HipChat | You must provide the following fields when you configure a HipChat integration:
| ||||||||||||||||||||||
Opsgenie | You must provide the following fields when you configure a Opsgenie integration:
To set | ||||||||||||||||||||||
VictorOps | You must provide the following fields when you configure a VictorOps integration:
You may also include the following fields:
| ||||||||||||||||||||||
Webhook Settings | You must provide the following fields when you configure webhook settings:
You may also include the following fields:
| ||||||||||||||||||||||
Microsoft Teams | You must provide the following fields when you configure a Microsoft Teams integration:
| ||||||||||||||||||||||
Prometheus | You must provide the following fields when you configure a Prometheus integration:
You may also include the following fields:
|
Response Elements
The response includes a results
array which lists all third-party
integration configurations for the project as objects, and a
totalCount
of the services integrated with the project.
Each third-party integration configuration object includes a type
property equal to its own integration type ("type":
"PAGER_DUTY"
for the PagerDuty service). Additionally, each
third-party service configuration object provides details specific to
that service. The following lists the properties returned for each
third-party service configuration object:
Service | Result | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PagerDuty | A returned PagerDuty integration configuration object contains the following fields:
| ||||||||||||||||||||
Slack | A returned Slack integration configuration object contains the following fields:
| ||||||||||||||||||||
Datadog | A returned Datadog integration configuration object contains the following fields:
| ||||||||||||||||||||
HipChat | A returned HipChat integration configuration object contains the following fields:
| ||||||||||||||||||||
Opsgenie | A returned Opsgenie integration configuration object contains the following fields:
To set | ||||||||||||||||||||
VictorOps | A returned VictorOps integration configuration object contains the following fields:
The configuration object may also contain the following fields, depending on your configuration:
| ||||||||||||||||||||
Webhook Settings | A returned webhook configuration object contains the following fields:
The configuration object may also contain the following fields, depending on your configuration:
| ||||||||||||||||||||
Microsoft Teams | A returned Microsoft Teams configuration object will contain the following fields:
| ||||||||||||||||||||
Prometheus | A returned Prometheus configuration object will contain the following fields:
The configuration object may also contain the following fields, depending on your configuration:
|
Example Request
1 curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ 2 --header "Accept: application/json" \ 3 --header "Content-Type: application/json" \ 4 --include \ 5 --request PUT "https://mongodb.prakticum-team.ru/proxy/cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/integrations/SLACK" \ 6 --data ' 7 { 8 "type": "SLACK", 9 "apiToken": "1234567890", 10 "teamName": "My Team" 11 }'
Example Response
1 { 2 "links": [ 3 { 4 "href": "https://mongodb.prakticum-team.ru/proxy/cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/integrations/SLACK?pageNum=1&itemsPerPage=100", 5 "rel": "self" 6 } 7 ], 8 "results": [ 9 { 10 "serviceKey": "******7890", 11 "type": "PAGER_DUTY" 12 }, 13 { 14 "apiToken": "******7890", 15 "channelName": "My Channel", 16 "teamName": "My Team", 17 "type": "SLACK" 18 } 19 ], 20 "totalCount": 2 21 }