diff --git a/config/_default/menus/api.en.yaml b/config/_default/menus/api.en.yaml
index 2e417a48d4f..e7f8c6fd29c 100644
--- a/config/_default/menus/api.en.yaml
+++ b/config/_default/menus/api.en.yaml
@@ -4680,6 +4680,18 @@ menu:
url: /api/latest/slack-integration/
identifier: slack-integration
generated: true
+ - name: List Slack user bindings
+ url: /api/latest/slack-integration/list-slack-user-bindings/
+ identifier: slack-integration-list-slack-user-bindings
+ parent: slack-integration
+ generated: true
+ params:
+ versions:
+ - v2
+ operationids:
+ - ListSlackUserBindings
+ unstable: []
+ order: 1
- name: Update a Slack integration channel
url: /api/latest/slack-integration/update-a-slack-integration-channel/
identifier: slack-integration-update-a-slack-integration-channel
diff --git a/content/en/api/latest/slack-integration/list-slack-user-bindings/index.md b/content/en/api/latest/slack-integration/list-slack-user-bindings/index.md
new file mode 100644
index 00000000000..8416a2ffd96
--- /dev/null
+++ b/content/en/api/latest/slack-integration/list-slack-user-bindings/index.md
@@ -0,0 +1,3 @@
+---
+title: List Slack user bindings
+---
diff --git a/content/en/api/v2/slack-integration/examples.json b/content/en/api/v2/slack-integration/examples.json
index 9e26dfeeb6e..7322921be92 100644
--- a/content/en/api/v2/slack-integration/examples.json
+++ b/content/en/api/v2/slack-integration/examples.json
@@ -1 +1,46 @@
-{}
\ No newline at end of file
+{
+ "ListSlackUserBindings": {
+ "responses": {
+ "200": {
+ "json": {
+ "data": [
+ {
+ "id": "T01234567",
+ "type": "team_id"
+ }
+ ]
+ },
+ "html": "
\n
\n
\n
\n
\n
An array of Slack user bindings.
\n
\n
\n
\n
\n
\n
\n
Slack user binding resource type. \nAllowed enum values: team_id
default: team_id
\n
\n \n
\n
\n
\n
"
+ },
+ "400": {
+ "json": {
+ "errors": [
+ "Bad Request"
+ ]
+ },
+ "html": ""
+ },
+ "403": {
+ "json": {
+ "errors": [
+ "Bad Request"
+ ]
+ },
+ "html": ""
+ },
+ "429": {
+ "json": {
+ "errors": [
+ "Bad Request"
+ ]
+ },
+ "html": ""
+ }
+ },
+ "request": {
+ "json_curl": {},
+ "json": {},
+ "html": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/data/api/v2/full_spec.yaml b/data/api/v2/full_spec.yaml
index 9972a379429..573733b5149 100644
--- a/data/api/v2/full_spec.yaml
+++ b/data/api/v2/full_spec.yaml
@@ -1758,6 +1758,14 @@ components:
required: false
schema:
type: boolean
+ SlackUserUuidQueryParameter:
+ description: The UUID of the Datadog user to list Slack bindings for.
+ in: query
+ name: user_uuid
+ required: true
+ schema:
+ format: uuid
+ type: string
SloID:
description: The ID of the SLO.
in: path
@@ -87701,6 +87709,37 @@ components:
required:
- slackTrigger
type: object
+ SlackUserBindingData:
+ description: Slack team ID data from a response.
+ properties:
+ id:
+ description: The Slack team ID.
+ example: "T01234567"
+ type: string
+ type:
+ $ref: "#/components/schemas/SlackUserBindingType"
+ type: object
+ SlackUserBindingType:
+ default: team_id
+ description: Slack user binding resource type.
+ enum:
+ - team_id
+ example: team_id
+ type: string
+ x-enum-varnames:
+ - TEAM_ID
+ SlackUserBindingsResponse:
+ description: Response with a list of Slack user bindings.
+ properties:
+ data:
+ description: An array of Slack user bindings.
+ example: [{"id": "T01234567", "type": "team_id"}, {"id": "T09876543", "type": "team_id"}]
+ items:
+ $ref: "#/components/schemas/SlackUserBindingData"
+ type: array
+ required:
+ - data
+ type: object
SloDataSource:
default: slo
description: A data source for SLO queries.
@@ -133593,6 +133632,37 @@ paths:
tags:
- ServiceNow Integration
x-menu-order: 8
+ /api/v2/integration/slack/user-bindings:
+ get:
+ description: List all Slack user bindings for a given Datadog user from the Datadog Slack integration.
+ operationId: ListSlackUserBindings
+ parameters:
+ - $ref: "#/components/parameters/SlackUserUuidQueryParameter"
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ default:
+ value:
+ data:
+ - id: T01234567
+ type: team_id
+ - id: T09876543
+ type: team_id
+ schema:
+ $ref: "#/components/schemas/SlackUserBindingsResponse"
+ description: OK
+ "400":
+ $ref: "#/components/responses/BadRequestResponse"
+ "403":
+ $ref: "#/components/responses/ForbiddenResponse"
+ "429":
+ $ref: "#/components/responses/TooManyRequestsResponse"
+ summary: List Slack user bindings
+ tags:
+ - Slack Integration
+ x-menu-order: 1
/api/v2/integration/statuspage/account:
delete:
description: Delete the Statuspage account configured for your organization.
@@ -184659,6 +184729,13 @@ tags:
name: Service Level Objectives
- description: Manage your ServiceNow Integration. ServiceNow is a cloud-based platform that helps organizations manage digital workflows for enterprise operations.
name: ServiceNow Integration
+ - description: |-
+ Configure your [Datadog Slack integration](https://docs.datadoghq.com/integrations/slack/)
+ directly through the Datadog API.
+ externalDocs:
+ description: For more information about the Datadog Slack integration, see the integration page.
+ url: https://docs.datadoghq.com/integrations/slack/
+ name: Slack Integration
- description: |-
API to create, update, retrieve, and delete Software Catalog entities.
externalDocs:
diff --git a/data/api/v2/translate_actions.json b/data/api/v2/translate_actions.json
index f14c6c205c0..6ae2ac47746 100644
--- a/data/api/v2/translate_actions.json
+++ b/data/api/v2/translate_actions.json
@@ -2486,6 +2486,10 @@
"description": "Get all users for a ServiceNow instance.",
"summary": "List ServiceNow users"
},
+ "ListSlackUserBindings": {
+ "description": "List all Slack user bindings for a given Datadog user from the Datadog Slack integration.",
+ "summary": "List Slack user bindings"
+ },
"DeleteStatuspageAccount": {
"description": "Delete the Statuspage account configured for your organization.",
"summary": "Delete the Statuspage account"
diff --git a/data/api/v2/translate_tags.json b/data/api/v2/translate_tags.json
index 099ae168ed4..6ead4f21cf7 100644
--- a/data/api/v2/translate_tags.json
+++ b/data/api/v2/translate_tags.json
@@ -423,6 +423,10 @@
"name": "ServiceNow Integration",
"description": "Manage your ServiceNow Integration. ServiceNow is a cloud-based platform that helps organizations manage digital workflows for enterprise operations."
},
+ "slack-integration": {
+ "name": "Slack Integration",
+ "description": "Configure your [Datadog Slack integration](https://docs.datadoghq.com/integrations/slack/)\ndirectly through the Datadog API."
+ },
"software-catalog": {
"name": "Software Catalog",
"description": "API to create, update, retrieve, and delete Software Catalog entities."