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

data [required]

\n
\n

[object]

\n

An array of Slack user bindings.

\n
\n
\n
\n
\n
\n

id

\n
\n

string

\n

The Slack team ID.

\n
\n \n
\n
\n
\n
\n
\n

type

\n
\n

enum

\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": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "403": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "429": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + } + }, + "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."